diff --git a/CHANGELOG.md b/CHANGELOG.md index 63dceeac030..2dd12178c6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,31 @@ +Release v1.42.16 (2021-11-30) +=== + +### Service Client Updates +* `service/accessanalyzer`: Updates service API and documentation +* `service/backup-gateway`: Adds new service +* `service/ec2`: Updates service API and documentation + * This release adds support for Is4gen and Im4gn instances. This release also adds a new subnet attribute, enableLniAtDeviceIndex, to support local network interfaces, which are logical networking components that connect an EC2 instance to your on-premises network. +* `service/fsx`: Updates service API, documentation, and paginators +* `service/glue`: Updates service API and documentation + * Support for DataLake transactions +* `service/iot`: Updates service API and documentation + * Added the ability to enable/disable IoT Fleet Indexing for Device Defender and Named Shadow information, and search them through IoT Fleet Indexing APIs. +* `service/iottwinmaker`: Adds new service +* `service/kafka`: Updates service API, documentation, and paginators +* `service/kinesis`: Updates service API and documentation + * Amazon Kinesis Data Streams now supports on demand streams. +* `service/lakeformation`: Updates service API, documentation, and paginators +* `service/outposts`: Updates service API and documentation +* `service/redshift-data`: Updates service API and documentation +* `service/s3`: Updates service API, documentation, and examples + * Introduce Amazon S3 Glacier Instant Retrieval storage class and a new setting in S3 Object Ownership to disable ACLs for bucket and the objects in it. +* `service/snowball`: Updates service API and documentation + * Tapeball is to integrate tape gateway onto snowball, it enables customer to transfer local data on the tape to snowball,and then ingest the data into tape gateway on the cloud. +* `service/storagegateway`: Updates service API and documentation + * Added gateway type VTL_SNOW. Added new SNOWBALL HostEnvironment for gateways running on a Snowball device. Added new field HostEnvironmentId to serve as an identifier for the HostEnvironment on which the gateway is running. +* `service/workspaces-web`: Adds new service + Release v1.42.15 (2021-11-29) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index b9f4a26dedc..d8be7b641bd 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -1951,6 +1951,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-northeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-northeast-3", + }: endpoint{}, endpointKey{ Region: "ap-south-1", }: endpoint{}, @@ -3223,36 +3226,12 @@ var awsPartition = partition{ }, "cloudhsm": service{ Endpoints: serviceEndpoints{ - endpointKey{ - Region: "ap-northeast-1", - }: endpoint{}, - endpointKey{ - Region: "ap-southeast-1", - }: endpoint{}, - endpointKey{ - Region: "ap-southeast-2", - }: endpoint{}, - endpointKey{ - Region: "ca-central-1", - }: endpoint{}, - endpointKey{ - Region: "eu-central-1", - }: endpoint{}, endpointKey{ Region: "eu-west-1", }: endpoint{}, endpointKey{ Region: "us-east-1", }: endpoint{}, - endpointKey{ - Region: "us-east-2", - }: endpoint{}, - endpointKey{ - Region: "us-west-1", - }: endpoint{}, - endpointKey{ - Region: "us-west-2", - }: endpoint{}, }, }, "cloudhsmv2": service{ @@ -8132,6 +8111,55 @@ var awsPartition = partition{ }, }, }, + "evidently": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "ap-northeast-1", + }: endpoint{ + Hostname: "evidently.ap-northeast-1.amazonaws.com", + }, + endpointKey{ + Region: "ap-southeast-1", + }: endpoint{ + Hostname: "evidently.ap-southeast-1.amazonaws.com", + }, + endpointKey{ + Region: "ap-southeast-2", + }: endpoint{ + Hostname: "evidently.ap-southeast-2.amazonaws.com", + }, + endpointKey{ + Region: "eu-central-1", + }: endpoint{ + Hostname: "evidently.eu-central-1.amazonaws.com", + }, + endpointKey{ + Region: "eu-north-1", + }: endpoint{ + Hostname: "evidently.eu-north-1.amazonaws.com", + }, + endpointKey{ + Region: "eu-west-1", + }: endpoint{ + Hostname: "evidently.eu-west-1.amazonaws.com", + }, + endpointKey{ + Region: "us-east-1", + }: endpoint{ + Hostname: "evidently.us-east-1.amazonaws.com", + }, + endpointKey{ + Region: "us-east-2", + }: endpoint{ + Hostname: "evidently.us-east-2.amazonaws.com", + }, + endpointKey{ + Region: "us-west-2", + }: endpoint{ + Hostname: "evidently.us-west-2.amazonaws.com", + }, + }, + }, "finspace": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -10087,6 +10115,67 @@ var awsPartition = partition{ }, }, }, + "inspector2": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "ap-east-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-2", + }: endpoint{}, + endpointKey{ + Region: "ap-south-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-2", + }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-north-1", + }: endpoint{}, + endpointKey{ + Region: "eu-south-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-2", + }: endpoint{}, + endpointKey{ + Region: "eu-west-3", + }: endpoint{}, + endpointKey{ + Region: "me-south-1", + }: endpoint{}, + endpointKey{ + Region: "sa-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-2", + }: endpoint{}, + endpointKey{ + Region: "us-west-1", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + }, + }, "iot": service{ Defaults: endpointDefaults{ defaultKey{}: endpoint{ @@ -14645,6 +14734,73 @@ var awsPartition = partition{ }, }, }, + "rbin": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "af-south-1", + }: endpoint{}, + endpointKey{ + Region: "ap-east-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-2", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-3", + }: endpoint{}, + endpointKey{ + Region: "ap-south-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-2", + }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-north-1", + }: endpoint{}, + endpointKey{ + Region: "eu-south-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-2", + }: endpoint{}, + endpointKey{ + Region: "eu-west-3", + }: endpoint{}, + endpointKey{ + Region: "me-south-1", + }: endpoint{}, + endpointKey{ + Region: "sa-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-2", + }: endpoint{}, + endpointKey{ + Region: "us-west-1", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + }, + }, "rds": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -15595,6 +15751,40 @@ var awsPartition = partition{ }: endpoint{}, }, }, + "rum": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "ap-northeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-2", + }: endpoint{}, + endpointKey{ + Region: "eu-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-north-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-2", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-2", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + }, + }, "runtime-v2-lex": service{ Endpoints: serviceEndpoints{ endpointKey{ diff --git a/aws/version.go b/aws/version.go index c8b88d2e4e0..bac037f1b7c 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.15" +const SDKVersion = "1.42.16" diff --git a/models/apis/accessanalyzer/2019-11-01/api-2.json b/models/apis/accessanalyzer/2019-11-01/api-2.json index 07a31b53a7b..e6cea9aaadc 100644 --- a/models/apis/accessanalyzer/2019-11-01/api-2.json +++ b/models/apis/accessanalyzer/2019-11-01/api-2.json @@ -2151,9 +2151,19 @@ "locationName":"nextToken" }, "policyDocument":{"shape":"PolicyDocument"}, - "policyType":{"shape":"PolicyType"} + "policyType":{"shape":"PolicyType"}, + "validatePolicyResourceType":{"shape":"ValidatePolicyResourceType"} } }, + "ValidatePolicyResourceType":{ + "type":"string", + "enum":[ + "AWS::S3::Bucket", + "AWS::S3::AccessPoint", + "AWS::S3::MultiRegionAccessPoint", + "AWS::S3ObjectLambda::AccessPoint" + ] + }, "ValidatePolicyResponse":{ "type":"structure", "required":["findings"], diff --git a/models/apis/accessanalyzer/2019-11-01/docs-2.json b/models/apis/accessanalyzer/2019-11-01/docs-2.json index 5102b1c6225..d222ebc6f1b 100644 --- a/models/apis/accessanalyzer/2019-11-01/docs-2.json +++ b/models/apis/accessanalyzer/2019-11-01/docs-2.json @@ -1004,7 +1004,7 @@ } }, "SecretsManagerSecretConfiguration": { - "base": "

The configuration for a Secrets Manager secret. For more information, see CreateSecret.

You can propose a configuration for a new secret or an existing secret that you own by specifying the secret policy and optional KMS encryption key. If the configuration is for an existing secret and you do not specify the secret policy, the access preview uses the existing policy for the secret. If the access preview is for a new resource and you do not specify the policy, the access preview assumes a secret without a policy. To propose deletion of an existing policy, you can specify an empty string. If the proposed configuration is for a new secret and you do not specify the KMS key ID, the access preview uses the default CMK of the Amazon Web Services account. If you specify an empty string for the KMS key ID, the access preview uses the default CMK of the Amazon Web Services account. For more information about secret policy limits, see Quotas for Secrets Manager..

", + "base": "

The configuration for a Secrets Manager secret. For more information, see CreateSecret.

You can propose a configuration for a new secret or an existing secret that you own by specifying the secret policy and optional KMS encryption key. If the configuration is for an existing secret and you do not specify the secret policy, the access preview uses the existing policy for the secret. If the access preview is for a new resource and you do not specify the policy, the access preview assumes a secret without a policy. To propose deletion of an existing policy, you can specify an empty string. If the proposed configuration is for a new secret and you do not specify the KMS key ID, the access preview uses the Amazon Web Services managed key aws/secretsmanager. If you specify an empty string for the KMS key ID, the access preview uses the Amazon Web Services managed key of the Amazon Web Services account. For more information about secret policy limits, see Quotas for Secrets Manager..

", "refs": { "Configuration$secretsManagerSecret": "

The access control configuration is for a Secrets Manager secret.

" } @@ -1012,7 +1012,7 @@ "SecretsManagerSecretKmsId": { "base": null, "refs": { - "SecretsManagerSecretConfiguration$kmsKeyId": "

The proposed ARN, key ID, or alias of the KMS customer master key (CMK).

" + "SecretsManagerSecretConfiguration$kmsKeyId": "

The proposed ARN, key ID, or alias of the KMS key.

" } }, "SecretsManagerSecretPolicy": { @@ -1302,6 +1302,12 @@ "refs": { } }, + "ValidatePolicyResourceType": { + "base": null, + "refs": { + "ValidatePolicyRequest$validatePolicyResourceType": "

The type of resource to attach to your resource policy. Specify a value for the policy validation resource type only if the policy type is RESOURCE_POLICY. For example, to validate a resource policy to attach to an Amazon S3 bucket, you can choose AWS::S3::Bucket for the policy validation resource type.

For resource types not supported as valid values, IAM Access Analyzer runs policy checks that apply to all resource policies. For example, to validate a resource policy to attach to a KMS key, do not specify a value for the policy validation resource type and IAM Access Analyzer will run policy checks that apply to all resource policies.

" + } + }, "ValidatePolicyResponse": { "base": null, "refs": { diff --git a/models/apis/backup-gateway/2021-01-01/api-2.json b/models/apis/backup-gateway/2021-01-01/api-2.json new file mode 100644 index 00000000000..adde402d235 --- /dev/null +++ b/models/apis/backup-gateway/2021-01-01/api-2.json @@ -0,0 +1,737 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2021-01-01", + "endpointPrefix":"backup-gateway", + "jsonVersion":"1.0", + "protocol":"json", + "serviceFullName":"AWS Backup Gateway", + "serviceId":"Backup Gateway", + "signatureVersion":"v4", + "signingName":"backup-gateway", + "targetPrefix":"BackupOnPremises_v20210101", + "uid":"backup-gateway-2021-01-01" + }, + "operations":{ + "AssociateGatewayToServer":{ + "name":"AssociateGatewayToServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"AssociateGatewayToServerInput"}, + "output":{"shape":"AssociateGatewayToServerOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"} + ] + }, + "CreateGateway":{ + "name":"CreateGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateGatewayInput"}, + "output":{"shape":"CreateGatewayOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "DeleteGateway":{ + "name":"DeleteGateway", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteGatewayInput"}, + "output":{"shape":"DeleteGatewayOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "DeleteHypervisor":{ + "name":"DeleteHypervisor", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteHypervisorInput"}, + "output":{"shape":"DeleteHypervisorOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "DisassociateGatewayFromServer":{ + "name":"DisassociateGatewayFromServer", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DisassociateGatewayFromServerInput"}, + "output":{"shape":"DisassociateGatewayFromServerOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ImportHypervisorConfiguration":{ + "name":"ImportHypervisorConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ImportHypervisorConfigurationInput"}, + "output":{"shape":"ImportHypervisorConfigurationOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"} + ] + }, + "ListGateways":{ + "name":"ListGateways", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListGatewaysInput"}, + "output":{"shape":"ListGatewaysOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "ListHypervisors":{ + "name":"ListHypervisors", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListHypervisorsInput"}, + "output":{"shape":"ListHypervisorsOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTagsForResourceInput"}, + "output":{"shape":"ListTagsForResourceOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListVirtualMachines":{ + "name":"ListVirtualMachines", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListVirtualMachinesInput"}, + "output":{"shape":"ListVirtualMachinesOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"} + ] + }, + "PutMaintenanceStartTime":{ + "name":"PutMaintenanceStartTime", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PutMaintenanceStartTimeInput"}, + "output":{"shape":"PutMaintenanceStartTimeOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TagResourceInput"}, + "output":{"shape":"TagResourceOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "TestHypervisorConfiguration":{ + "name":"TestHypervisorConfiguration", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"TestHypervisorConfigurationInput"}, + "output":{"shape":"TestHypervisorConfigurationOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UntagResourceInput"}, + "output":{"shape":"UntagResourceOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "UpdateGatewayInformation":{ + "name":"UpdateGatewayInformation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateGatewayInformationInput"}, + "output":{"shape":"UpdateGatewayInformationOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "UpdateHypervisor":{ + "name":"UpdateHypervisor", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateHypervisorInput"}, + "output":{"shape":"UpdateHypervisorOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["ErrorCode"], + "members":{ + "ErrorCode":{"shape":"string"}, + "Message":{"shape":"string"} + }, + "exception":true + }, + "ActivationKey":{ + "type":"string", + "max":50, + "min":1, + "pattern":"^[0-9a-zA-Z\\-]+$" + }, + "AssociateGatewayToServerInput":{ + "type":"structure", + "required":[ + "GatewayArn", + "ServerArn" + ], + "members":{ + "GatewayArn":{"shape":"GatewayArn"}, + "ServerArn":{"shape":"ServerArn"} + } + }, + "AssociateGatewayToServerOutput":{ + "type":"structure", + "members":{ + "GatewayArn":{"shape":"GatewayArn"} + } + }, + "ConflictException":{ + "type":"structure", + "required":["ErrorCode"], + "members":{ + "ErrorCode":{"shape":"string"}, + "Message":{"shape":"string"} + }, + "exception":true + }, + "CreateGatewayInput":{ + "type":"structure", + "required":[ + "ActivationKey", + "GatewayDisplayName", + "GatewayType" + ], + "members":{ + "ActivationKey":{"shape":"ActivationKey"}, + "GatewayDisplayName":{"shape":"Name"}, + "GatewayType":{"shape":"GatewayType"}, + "Tags":{"shape":"Tags"} + } + }, + "CreateGatewayOutput":{ + "type":"structure", + "members":{ + "GatewayArn":{"shape":"GatewayArn"} + } + }, + "DayOfMonth":{ + "type":"integer", + "box":true, + "max":31, + "min":1 + }, + "DayOfWeek":{ + "type":"integer", + "box":true, + "max":6, + "min":0 + }, + "DeleteGatewayInput":{ + "type":"structure", + "required":["GatewayArn"], + "members":{ + "GatewayArn":{"shape":"GatewayArn"} + } + }, + "DeleteGatewayOutput":{ + "type":"structure", + "members":{ + "GatewayArn":{"shape":"GatewayArn"} + } + }, + "DeleteHypervisorInput":{ + "type":"structure", + "required":["HypervisorArn"], + "members":{ + "HypervisorArn":{"shape":"ServerArn"} + } + }, + "DeleteHypervisorOutput":{ + "type":"structure", + "members":{ + "HypervisorArn":{"shape":"ServerArn"} + } + }, + "DisassociateGatewayFromServerInput":{ + "type":"structure", + "required":["GatewayArn"], + "members":{ + "GatewayArn":{"shape":"GatewayArn"} + } + }, + "DisassociateGatewayFromServerOutput":{ + "type":"structure", + "members":{ + "GatewayArn":{"shape":"GatewayArn"} + } + }, + "Gateway":{ + "type":"structure", + "members":{ + "GatewayArn":{"shape":"GatewayArn"}, + "GatewayDisplayName":{"shape":"Name"}, + "GatewayType":{"shape":"GatewayType"}, + "HypervisorId":{"shape":"HypervisorId"}, + "LastSeenTime":{"shape":"Time"} + } + }, + "GatewayArn":{ + "type":"string", + "max":500, + "min":50, + "pattern":"^arn:(aws|aws-cn|aws-us-gov):backup-gateway(:[a-zA-Z-0-9]+){3}\\/[a-zA-Z-0-9]+$" + }, + "GatewayType":{ + "type":"string", + "enum":["BACKUP_VM"] + }, + "Gateways":{ + "type":"list", + "member":{"shape":"Gateway"} + }, + "Host":{ + "type":"string", + "max":128, + "min":3, + "pattern":"^.+$" + }, + "HourOfDay":{ + "type":"integer", + "box":true, + "max":23, + "min":0 + }, + "Hypervisor":{ + "type":"structure", + "members":{ + "Host":{"shape":"Host"}, + "HypervisorArn":{"shape":"ServerArn"}, + "KmsKeyArn":{"shape":"KmsKeyArn"}, + "Name":{"shape":"Name"}, + "State":{"shape":"HypervisorState"} + } + }, + "HypervisorId":{ + "type":"string", + "max":100, + "min":1 + }, + "HypervisorState":{ + "type":"string", + "enum":[ + "PENDING", + "ONLINE", + "OFFLINE", + "ERROR" + ] + }, + "Hypervisors":{ + "type":"list", + "member":{"shape":"Hypervisor"} + }, + "ImportHypervisorConfigurationInput":{ + "type":"structure", + "required":[ + "Host", + "Name" + ], + "members":{ + "Host":{"shape":"Host"}, + "KmsKeyArn":{"shape":"KmsKeyArn"}, + "Name":{"shape":"Name"}, + "Password":{"shape":"Password"}, + "Tags":{"shape":"Tags"}, + "Username":{"shape":"Username"} + } + }, + "ImportHypervisorConfigurationOutput":{ + "type":"structure", + "members":{ + "HypervisorArn":{"shape":"ServerArn"} + } + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "ErrorCode":{"shape":"string"}, + "Message":{"shape":"string"} + }, + "exception":true, + "fault":true + }, + "KmsKeyArn":{ + "type":"string", + "max":500, + "min":50, + "pattern":"^(^arn:(aws|aws-cn|aws-us-gov):kms:([a-zA-Z0-9-]+):([0-9]+):(key|alias)/(\\S+)$)|(^alias/(\\S+)$)$" + }, + "ListGatewaysInput":{ + "type":"structure", + "members":{ + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListGatewaysOutput":{ + "type":"structure", + "members":{ + "Gateways":{"shape":"Gateways"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListHypervisorsInput":{ + "type":"structure", + "members":{ + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListHypervisorsOutput":{ + "type":"structure", + "members":{ + "Hypervisors":{"shape":"Hypervisors"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListTagsForResourceInput":{ + "type":"structure", + "required":["ResourceArn"], + "members":{ + "ResourceArn":{"shape":"ResourceArn"} + } + }, + "ListTagsForResourceOutput":{ + "type":"structure", + "members":{ + "ResourceArn":{"shape":"ResourceArn"}, + "Tags":{"shape":"Tags"} + } + }, + "ListVirtualMachinesInput":{ + "type":"structure", + "members":{ + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListVirtualMachinesOutput":{ + "type":"structure", + "members":{ + "NextToken":{"shape":"NextToken"}, + "VirtualMachines":{"shape":"VirtualMachines"} + } + }, + "MaxResults":{ + "type":"integer", + "box":true, + "min":1 + }, + "MinuteOfHour":{ + "type":"integer", + "box":true, + "max":59, + "min":0 + }, + "Name":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[a-zA-Z0-9-]*$" + }, + "NextToken":{ + "type":"string", + "max":1000, + "min":1, + "pattern":"^.+$" + }, + "Password":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[ -~]+$", + "sensitive":true + }, + "Path":{ + "type":"string", + "max":4096, + "min":1, + "pattern":"^[^\\x00]+$" + }, + "PutMaintenanceStartTimeInput":{ + "type":"structure", + "required":[ + "GatewayArn", + "HourOfDay", + "MinuteOfHour" + ], + "members":{ + "DayOfMonth":{"shape":"DayOfMonth"}, + "DayOfWeek":{"shape":"DayOfWeek"}, + "GatewayArn":{"shape":"GatewayArn"}, + "HourOfDay":{"shape":"HourOfDay"}, + "MinuteOfHour":{"shape":"MinuteOfHour"} + } + }, + "PutMaintenanceStartTimeOutput":{ + "type":"structure", + "members":{ + "GatewayArn":{"shape":"GatewayArn"} + } + }, + "ResourceArn":{ + "type":"string", + "max":500, + "min":50, + "pattern":"^arn:(aws|aws-cn|aws-us-gov):backup-gateway(:[a-zA-Z-0-9]+){3}\\/[a-zA-Z-0-9]+$" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "ErrorCode":{"shape":"string"}, + "Message":{"shape":"string"} + }, + "exception":true + }, + "ServerArn":{ + "type":"string", + "max":500, + "min":50, + "pattern":"^arn:(aws|aws-cn|aws-us-gov):backup-gateway(:[a-zA-Z-0-9]+){3}\\/[a-zA-Z-0-9]+$" + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{"shape":"TagKey"}, + "Value":{"shape":"TagValue"} + } + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"} + }, + "TagResourceInput":{ + "type":"structure", + "required":[ + "ResourceARN", + "Tags" + ], + "members":{ + "ResourceARN":{"shape":"ResourceArn"}, + "Tags":{"shape":"Tags"} + } + }, + "TagResourceOutput":{ + "type":"structure", + "members":{ + "ResourceARN":{"shape":"ResourceArn"} + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^[^\\x00]*$" + }, + "Tags":{ + "type":"list", + "member":{"shape":"Tag"} + }, + "TestHypervisorConfigurationInput":{ + "type":"structure", + "required":[ + "GatewayArn", + "Host" + ], + "members":{ + "GatewayArn":{"shape":"GatewayArn"}, + "Host":{"shape":"Host"}, + "Password":{"shape":"Password"}, + "Username":{"shape":"Username"} + } + }, + "TestHypervisorConfigurationOutput":{ + "type":"structure", + "members":{ + } + }, + "Time":{"type":"timestamp"}, + "UntagResourceInput":{ + "type":"structure", + "required":[ + "ResourceARN", + "TagKeys" + ], + "members":{ + "ResourceARN":{"shape":"ResourceArn"}, + "TagKeys":{"shape":"TagKeys"} + } + }, + "UntagResourceOutput":{ + "type":"structure", + "members":{ + "ResourceARN":{"shape":"ResourceArn"} + } + }, + "UpdateGatewayInformationInput":{ + "type":"structure", + "required":["GatewayArn"], + "members":{ + "GatewayArn":{"shape":"GatewayArn"}, + "GatewayDisplayName":{"shape":"Name"} + } + }, + "UpdateGatewayInformationOutput":{ + "type":"structure", + "members":{ + "GatewayArn":{"shape":"GatewayArn"} + } + }, + "UpdateHypervisorInput":{ + "type":"structure", + "required":["HypervisorArn"], + "members":{ + "Host":{"shape":"Host"}, + "HypervisorArn":{"shape":"ServerArn"}, + "Password":{"shape":"Password"}, + "Username":{"shape":"Username"} + } + }, + "UpdateHypervisorOutput":{ + "type":"structure", + "members":{ + "HypervisorArn":{"shape":"ServerArn"} + } + }, + "Username":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[ -\\.0-\\[\\]-~]*[!-\\.0-\\[\\]-~][ -\\.0-\\[\\]-~]*$", + "sensitive":true + }, + "ValidationException":{ + "type":"structure", + "members":{ + "ErrorCode":{"shape":"string"}, + "Message":{"shape":"string"} + }, + "exception":true + }, + "VirtualMachine":{ + "type":"structure", + "members":{ + "HostName":{"shape":"Name"}, + "HypervisorId":{"shape":"string"}, + "LastBackupDate":{"shape":"Time"}, + "Name":{"shape":"Name"}, + "Path":{"shape":"Path"}, + "ResourceArn":{"shape":"ResourceArn"} + } + }, + "VirtualMachines":{ + "type":"list", + "member":{"shape":"VirtualMachine"} + }, + "string":{"type":"string"} + } +} diff --git a/models/apis/backup-gateway/2021-01-01/docs-2.json b/models/apis/backup-gateway/2021-01-01/docs-2.json new file mode 100644 index 00000000000..cf8a51c8479 --- /dev/null +++ b/models/apis/backup-gateway/2021-01-01/docs-2.json @@ -0,0 +1,462 @@ +{ + "version": "2.0", + "service": "

Backup gateway

Backup gateway connects Backup to your hypervisor, so you can create, store, and restore backups of your virtual machines (VMs) anywhere, whether on-premises or in the VMware Cloud (VMC) on Amazon Web Services.

Add on-premises resources by connecting to a hypervisor through a gateway. Backup will automatically discover the resources in your hypervisor.

Use Backup to assign virtual or on-premises resources to a backup plan, or run on-demand backups. Once you have backed up your resources, you can view them and restore them like any resource supported by Backup.

To download the Amazon Web Services software to get started, navigate to the Backup console, choose Gateways, then choose Create gateway.

", + "operations": { + "AssociateGatewayToServer": "

Associates a backup gateway with your server. After you complete the association process, you can back up and restore your VMs through the gateway.

", + "CreateGateway": "

Creates a backup gateway. After you create a gateway, you can associate it with a server using the AssociateGatewayToServer operation.

", + "DeleteGateway": "

Deletes a backup gateway.

", + "DeleteHypervisor": "

Deletes a hypervisor.

", + "DisassociateGatewayFromServer": "

Disassociates a backup gateway from the specified server. After the disassociation process finishes, the gateway can no longer access the virtual machines on the server.

", + "ImportHypervisorConfiguration": "

Connect to a hypervisor by importing its configuration.

", + "ListGateways": "

Lists backup gateways owned by an Amazon Web Services account in an Amazon Web Services Region. The returned list is ordered by gateway Amazon Resource Name (ARN).

", + "ListHypervisors": "

Lists your hypervisors.

", + "ListTagsForResource": "

Lists the tags applied to the resource identified by its Amazon Resource Name (ARN).

", + "ListVirtualMachines": "

Lists your virtual machines.

", + "PutMaintenanceStartTime": "

Set the maintenance start time for a gateway.

", + "TagResource": "

Tag the resource.

", + "TestHypervisorConfiguration": "

Tests your hypervisor configuration to validate that backup gateway can connect with the hypervisor and its resources.

", + "UntagResource": "

Removes tags from the resource.

", + "UpdateGatewayInformation": "

Updates a gateway's name. Specify which gateway to update using the Amazon Resource Name (ARN) of the gateway in your request.

", + "UpdateHypervisor": "

Updates a hypervisor metadata, including its host, username, and password. Specify which hypervisor to update using the Amazon Resource Name (ARN) of the hypervisor in your request.

" + }, + "shapes": { + "AccessDeniedException": { + "base": "

The operation cannot proceed because you have insufficient permissions.

", + "refs": { + } + }, + "ActivationKey": { + "base": null, + "refs": { + "CreateGatewayInput$ActivationKey": "

The activation key of the created gateway.

" + } + }, + "AssociateGatewayToServerInput": { + "base": null, + "refs": { + } + }, + "AssociateGatewayToServerOutput": { + "base": null, + "refs": { + } + }, + "ConflictException": { + "base": "

The operation cannot proceed because it is not supported.

", + "refs": { + } + }, + "CreateGatewayInput": { + "base": null, + "refs": { + } + }, + "CreateGatewayOutput": { + "base": null, + "refs": { + } + }, + "DayOfMonth": { + "base": null, + "refs": { + "PutMaintenanceStartTimeInput$DayOfMonth": "

The day of the month start maintenance on a gateway.

Valid values range from Sunday to Saturday.

" + } + }, + "DayOfWeek": { + "base": null, + "refs": { + "PutMaintenanceStartTimeInput$DayOfWeek": "

The day of the week to start maintenance on a gateway.

" + } + }, + "DeleteGatewayInput": { + "base": null, + "refs": { + } + }, + "DeleteGatewayOutput": { + "base": null, + "refs": { + } + }, + "DeleteHypervisorInput": { + "base": null, + "refs": { + } + }, + "DeleteHypervisorOutput": { + "base": null, + "refs": { + } + }, + "DisassociateGatewayFromServerInput": { + "base": null, + "refs": { + } + }, + "DisassociateGatewayFromServerOutput": { + "base": null, + "refs": { + } + }, + "Gateway": { + "base": "

A gateway is an Backup Gateway appliance that runs on the customer's network to provide seamless connectivity to backup storage in the Amazon Web Services Cloud.

", + "refs": { + "Gateways$member": null + } + }, + "GatewayArn": { + "base": null, + "refs": { + "AssociateGatewayToServerInput$GatewayArn": "

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and Amazon Web Services Region.

", + "AssociateGatewayToServerOutput$GatewayArn": "

The Amazon Resource Name (ARN) of a gateway.

", + "CreateGatewayOutput$GatewayArn": "

The Amazon Resource Name (ARN) of the gateway you create.

", + "DeleteGatewayInput$GatewayArn": "

The Amazon Resource Name (ARN) of the gateway to delete.

", + "DeleteGatewayOutput$GatewayArn": "

The Amazon Resource Name (ARN) of the gateway you deleted.

", + "DisassociateGatewayFromServerInput$GatewayArn": "

The Amazon Resource Name (ARN) of the gateway to disassociate.

", + "DisassociateGatewayFromServerOutput$GatewayArn": "

The Amazon Resource Name (ARN) of the gateway you disassociated.

", + "Gateway$GatewayArn": "

The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and Amazon Web Services Region.

", + "PutMaintenanceStartTimeInput$GatewayArn": "

The Amazon Resource Name (ARN) for the gateway, used to specify its maintenance start time.

", + "PutMaintenanceStartTimeOutput$GatewayArn": "

The Amazon Resource Name (ARN) of a gateway for which you set the maintenance start time.

", + "TestHypervisorConfigurationInput$GatewayArn": "

The Amazon Resource Name (ARN) of the gateway to the hypervisor to test.

", + "UpdateGatewayInformationInput$GatewayArn": "

The Amazon Resource Name (ARN) of the gateway to update.

", + "UpdateGatewayInformationOutput$GatewayArn": "

The Amazon Resource Name (ARN) of the gateway you updated.

" + } + }, + "GatewayType": { + "base": null, + "refs": { + "CreateGatewayInput$GatewayType": "

The type of created gateway.

", + "Gateway$GatewayType": "

The type of the gateway.

" + } + }, + "Gateways": { + "base": null, + "refs": { + "ListGatewaysOutput$Gateways": "

A list of your gateways.

" + } + }, + "Host": { + "base": null, + "refs": { + "Hypervisor$Host": "

The server host of the hypervisor. This can be either an IP address or a fully-qualified domain name (FQDN).

", + "ImportHypervisorConfigurationInput$Host": "

The server host of the hypervisor. This can be either an IP address or a fully-qualified domain name (FQDN).

", + "TestHypervisorConfigurationInput$Host": "

The server host of the hypervisor. This can be either an IP address or a fully-qualified domain name (FQDN).

", + "UpdateHypervisorInput$Host": "

The updated host of the hypervisor. This can be either an IP address or a fully-qualified domain name (FQDN).

" + } + }, + "HourOfDay": { + "base": null, + "refs": { + "PutMaintenanceStartTimeInput$HourOfDay": "

The hour of the day to start maintenance on a gateway.

" + } + }, + "Hypervisor": { + "base": "

Represents the hypervisor's permissions to which the gateway will connect.

A hypervisor is hardware, software, or firmware that creates and manages virtual machines, and allocates resources to them.

", + "refs": { + "Hypervisors$member": null + } + }, + "HypervisorId": { + "base": null, + "refs": { + "Gateway$HypervisorId": "

The hypervisor ID of the gateway.

" + } + }, + "HypervisorState": { + "base": null, + "refs": { + "Hypervisor$State": "

The state of the hypervisor.

" + } + }, + "Hypervisors": { + "base": null, + "refs": { + "ListHypervisorsOutput$Hypervisors": "

A list of your Hypervisor objects, ordered by their Amazon Resource Names (ARNs).

" + } + }, + "ImportHypervisorConfigurationInput": { + "base": null, + "refs": { + } + }, + "ImportHypervisorConfigurationOutput": { + "base": null, + "refs": { + } + }, + "InternalServerException": { + "base": "

The operation did not succeed because an internal error occurred. Try again later.

", + "refs": { + } + }, + "KmsKeyArn": { + "base": null, + "refs": { + "Hypervisor$KmsKeyArn": "

The Amazon Resource Name (ARN) of the Key Management Service used to encrypt the hypervisor.

", + "ImportHypervisorConfigurationInput$KmsKeyArn": "

The Key Management Service for the hypervisor.

" + } + }, + "ListGatewaysInput": { + "base": null, + "refs": { + } + }, + "ListGatewaysOutput": { + "base": null, + "refs": { + } + }, + "ListHypervisorsInput": { + "base": null, + "refs": { + } + }, + "ListHypervisorsOutput": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceInput": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceOutput": { + "base": null, + "refs": { + } + }, + "ListVirtualMachinesInput": { + "base": null, + "refs": { + } + }, + "ListVirtualMachinesOutput": { + "base": null, + "refs": { + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListGatewaysInput$MaxResults": "

The maximum number of gateways to list.

", + "ListHypervisorsInput$MaxResults": "

The maximum number of hypervisors to list.

", + "ListVirtualMachinesInput$MaxResults": "

The maximum number of virtual machines to list.

" + } + }, + "MinuteOfHour": { + "base": null, + "refs": { + "PutMaintenanceStartTimeInput$MinuteOfHour": "

The minute of the hour to start maintenance on a gateway.

" + } + }, + "Name": { + "base": null, + "refs": { + "CreateGatewayInput$GatewayDisplayName": "

The display name of the created gateway.

", + "Gateway$GatewayDisplayName": "

The display name of the gateway.

", + "Hypervisor$Name": "

The name of the hypervisor.

", + "ImportHypervisorConfigurationInput$Name": "

The name of the hypervisor.

", + "UpdateGatewayInformationInput$GatewayDisplayName": "

The updated display name of the gateway.

", + "VirtualMachine$HostName": "

The host name of the virtual machine.

", + "VirtualMachine$Name": "

The name of the virtual machine.

" + } + }, + "NextToken": { + "base": null, + "refs": { + "ListGatewaysInput$NextToken": "

The next item following a partial list of returned resources. For example, if a request is made to return MaxResults number of resources, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "ListGatewaysOutput$NextToken": "

The next item following a partial list of returned resources. For example, if a request is made to return maxResults number of resources, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "ListHypervisorsInput$NextToken": "

The next item following a partial list of returned resources. For example, if a request is made to return maxResults number of resources, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "ListHypervisorsOutput$NextToken": "

The next item following a partial list of returned resources. For example, if a request is made to return maxResults number of resources, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "ListVirtualMachinesInput$NextToken": "

The next item following a partial list of returned resources. For example, if a request is made to return maxResults number of resources, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

", + "ListVirtualMachinesOutput$NextToken": "

The next item following a partial list of returned resources. For example, if a request is made to return maxResults number of resources, NextToken allows you to return more items in your list starting at the location pointed to by the next token.

" + } + }, + "Password": { + "base": null, + "refs": { + "ImportHypervisorConfigurationInput$Password": "

The password for the hypervisor.

", + "TestHypervisorConfigurationInput$Password": "

The password for the hypervisor.

", + "UpdateHypervisorInput$Password": "

The updated password for the hypervisor.

" + } + }, + "Path": { + "base": null, + "refs": { + "VirtualMachine$Path": "

The path of the virtual machine.

" + } + }, + "PutMaintenanceStartTimeInput": { + "base": null, + "refs": { + } + }, + "PutMaintenanceStartTimeOutput": { + "base": null, + "refs": { + } + }, + "ResourceArn": { + "base": null, + "refs": { + "ListTagsForResourceInput$ResourceArn": "

The Amazon Resource Name (ARN) of the resource's tags to list.

", + "ListTagsForResourceOutput$ResourceArn": "

The Amazon Resource Name (ARN) of the resource's tags that you listed.

", + "TagResourceInput$ResourceARN": "

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

", + "TagResourceOutput$ResourceARN": "

The Amazon Resource Name (ARN) of the resource you tagged.

", + "UntagResourceInput$ResourceARN": "

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

", + "UntagResourceOutput$ResourceARN": "

The Amazon Resource Name (ARN) of the resource from which you removed tags.

", + "VirtualMachine$ResourceArn": "

The Amazon Resource Name (ARN) of the virtual machine.

" + } + }, + "ResourceNotFoundException": { + "base": "

A resource that is required for the action wasn't found.

", + "refs": { + } + }, + "ServerArn": { + "base": null, + "refs": { + "AssociateGatewayToServerInput$ServerArn": "

The Amazon Resource Name (ARN) of the server that hosts your virtual machines.

", + "DeleteHypervisorInput$HypervisorArn": "

The Amazon Resource Name (ARN) of the hypervisor to delete.

", + "DeleteHypervisorOutput$HypervisorArn": "

The Amazon Resource Name (ARN) of the hypervisor you deleted.

", + "Hypervisor$HypervisorArn": "

The Amazon Resource Name (ARN) of the hypervisor.

", + "ImportHypervisorConfigurationOutput$HypervisorArn": "

The Amazon Resource Name (ARN) of the hypervisor you disassociated.

", + "UpdateHypervisorInput$HypervisorArn": "

The Amazon Resource Name (ARN) of the hypervisor to update.

", + "UpdateHypervisorOutput$HypervisorArn": "

The Amazon Resource Name (ARN) of the hypervisor you updated.

" + } + }, + "Tag": { + "base": "

A key-value pair you can use to manage, filter, and search for your resources. Allowed characters include UTF-8 letters, numbers, spaces, and the following characters: + - = . _ : /.

", + "refs": { + "Tags$member": null + } + }, + "TagKey": { + "base": null, + "refs": { + "Tag$Key": "

The key part of a tag's key-value pair. The key can't start with aws:.

", + "TagKeys$member": null + } + }, + "TagKeys": { + "base": null, + "refs": { + "UntagResourceInput$TagKeys": "

The list of tag keys specifying which tags to remove.

" + } + }, + "TagResourceInput": { + "base": null, + "refs": { + } + }, + "TagResourceOutput": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "Tag$Value": "

The key part of a value's key-value pair.

" + } + }, + "Tags": { + "base": null, + "refs": { + "CreateGatewayInput$Tags": "

A list of up to 50 tags to assign to the gateway. Each tag is a key-value pair.

", + "ImportHypervisorConfigurationInput$Tags": "

The tags of the hypervisor configuration to import.

", + "ListTagsForResourceOutput$Tags": "

A list of the resource's tags.

", + "TagResourceInput$Tags": "

A list of tags to assign to the resource.

" + } + }, + "TestHypervisorConfigurationInput": { + "base": null, + "refs": { + } + }, + "TestHypervisorConfigurationOutput": { + "base": null, + "refs": { + } + }, + "Time": { + "base": null, + "refs": { + "Gateway$LastSeenTime": "

The last time Backup gateway communicated with the gateway, in Unix format and UTC time.

", + "VirtualMachine$LastBackupDate": "

The most recent date a virtual machine was backed up, in Unix format and UTC time.

" + } + }, + "UntagResourceInput": { + "base": null, + "refs": { + } + }, + "UntagResourceOutput": { + "base": null, + "refs": { + } + }, + "UpdateGatewayInformationInput": { + "base": null, + "refs": { + } + }, + "UpdateGatewayInformationOutput": { + "base": null, + "refs": { + } + }, + "UpdateHypervisorInput": { + "base": null, + "refs": { + } + }, + "UpdateHypervisorOutput": { + "base": null, + "refs": { + } + }, + "Username": { + "base": null, + "refs": { + "ImportHypervisorConfigurationInput$Username": "

The username for the hypervisor.

", + "TestHypervisorConfigurationInput$Username": "

The username for the hypervisor.

", + "UpdateHypervisorInput$Username": "

The updated username for the hypervisor.

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

The operation did not succeed because a validation error occurred.

", + "refs": { + } + }, + "VirtualMachine": { + "base": "

A virtual machine that is on a hypervisor.

", + "refs": { + "VirtualMachines$member": null + } + }, + "VirtualMachines": { + "base": null, + "refs": { + "ListVirtualMachinesOutput$VirtualMachines": "

A list of your VirtualMachine objects, ordered by their Amazon Resource Names (ARNs).

" + } + }, + "string": { + "base": null, + "refs": { + "AccessDeniedException$ErrorCode": "

A description of why you have insufficient permissions.

", + "AccessDeniedException$Message": null, + "ConflictException$ErrorCode": "

A description of why the operation is not supported.

", + "ConflictException$Message": null, + "InternalServerException$ErrorCode": "

A description of which internal error occured.

", + "InternalServerException$Message": null, + "ResourceNotFoundException$ErrorCode": "

A description of which resource wasn't found.

", + "ResourceNotFoundException$Message": null, + "ValidationException$ErrorCode": "

A description of what caused the validation error.

", + "ValidationException$Message": null, + "VirtualMachine$HypervisorId": "

The ID of the virtual machine's hypervisor.

" + } + } + } +} diff --git a/models/apis/backup-gateway/2021-01-01/examples-1.json b/models/apis/backup-gateway/2021-01-01/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/backup-gateway/2021-01-01/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/backup-gateway/2021-01-01/paginators-1.json b/models/apis/backup-gateway/2021-01-01/paginators-1.json new file mode 100644 index 00000000000..462aacd014a --- /dev/null +++ b/models/apis/backup-gateway/2021-01-01/paginators-1.json @@ -0,0 +1,22 @@ +{ + "pagination": { + "ListGateways": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Gateways" + }, + "ListHypervisors": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "Hypervisors" + }, + "ListVirtualMachines": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "VirtualMachines" + } + } +} diff --git a/models/apis/ec2/2016-11-15/api-2.json b/models/apis/ec2/2016-11-15/api-2.json index a8b2b989690..026e445cb33 100755 --- a/models/apis/ec2/2016-11-15/api-2.json +++ b/models/apis/ec2/2016-11-15/api-2.json @@ -22506,6 +22506,18 @@ "vt1.3xlarge", "vt1.6xlarge", "vt1.24xlarge", + "im4gn.16xlarge", + "im4gn.2xlarge", + "im4gn.4xlarge", + "im4gn.8xlarge", + "im4gn.large", + "im4gn.xlarge", + "is4gen.2xlarge", + "is4gen.4xlarge", + "is4gen.8xlarge", + "is4gen.large", + "is4gen.medium", + "is4gen.xlarge", "g5g.xlarge", "g5g.2xlarge", "g5g.4xlarge", @@ -25525,7 +25537,9 @@ "EnableDns64":{"shape":"AttributeBooleanValue"}, "PrivateDnsHostnameTypeOnLaunch":{"shape":"HostnameType"}, "EnableResourceNameDnsARecordOnLaunch":{"shape":"AttributeBooleanValue"}, - "EnableResourceNameDnsAAAARecordOnLaunch":{"shape":"AttributeBooleanValue"} + "EnableResourceNameDnsAAAARecordOnLaunch":{"shape":"AttributeBooleanValue"}, + "EnableLniAtDeviceIndex":{"shape":"Integer"}, + "DisableLniAtDeviceIndex":{"shape":"AttributeBooleanValue"} } }, "ModifyTrafficMirrorFilterNetworkServicesRequest":{ @@ -32871,6 +32885,10 @@ "shape":"Boolean", "locationName":"defaultForAz" }, + "EnableLniAtDeviceIndex":{ + "shape":"Integer", + "locationName":"enableLniAtDeviceIndex" + }, "MapPublicIpOnLaunch":{ "shape":"Boolean", "locationName":"mapPublicIpOnLaunch" diff --git a/models/apis/ec2/2016-11-15/docs-2.json b/models/apis/ec2/2016-11-15/docs-2.json index 727c24ca0c4..b99095655a7 100755 --- a/models/apis/ec2/2016-11-15/docs-2.json +++ b/models/apis/ec2/2016-11-15/docs-2.json @@ -402,7 +402,7 @@ "ModifySnapshotAttribute": "

Adds or removes permission settings for the specified snapshot. You may add or remove specified Amazon Web Services account IDs from a snapshot's list of create volume permissions, but you cannot do both in a single operation. If you need to both add and remove account IDs for a snapshot, you must use multiple operations. You can make up to 500 modifications to a snapshot in a single operation.

Encrypted snapshots and snapshots with Amazon Web Services Marketplace product codes cannot be made public. Snapshots encrypted with your default KMS key cannot be shared with other accounts.

For more information about modifying snapshot permissions, see Share a snapshot in the Amazon Elastic Compute Cloud User Guide.

", "ModifySnapshotTier": "

Archives an Amazon EBS snapshot. When you archive a snapshot, it is converted to a full snapshot that includes all of the blocks of data that were written to the volume at the time the snapshot was created, and moved from the standard tier to the archive tier. For more information, see Archive Amazon EBS snapshots in the Amazon Elastic Compute Cloud User Guide.

", "ModifySpotFleetRequest": "

Modifies the specified Spot Fleet request.

You can only modify a Spot Fleet request of type maintain.

While the Spot Fleet request is being modified, it is in the modifying state.

To scale up your Spot Fleet, increase its target capacity. The Spot Fleet launches the additional Spot Instances according to the allocation strategy for the Spot Fleet request. If the allocation strategy is lowestPrice, the Spot Fleet launches instances using the Spot Instance pool with the lowest price. If the allocation strategy is diversified, the Spot Fleet distributes the instances across the Spot Instance pools. If the allocation strategy is capacityOptimized, Spot Fleet launches instances from Spot Instance pools with optimal capacity for the number of instances that are launching.

To scale down your Spot Fleet, decrease its target capacity. First, the Spot Fleet cancels any open requests that exceed the new target capacity. You can request that the Spot Fleet terminate Spot Instances until the size of the fleet no longer exceeds the new target capacity. If the allocation strategy is lowestPrice, the Spot Fleet terminates the instances with the highest price per unit. If the allocation strategy is capacityOptimized, the Spot Fleet terminates the instances in the Spot Instance pools that have the least available Spot Instance capacity. If the allocation strategy is diversified, the Spot Fleet terminates instances across the Spot Instance pools. Alternatively, you can request that the Spot Fleet keep the fleet at its current size, but not replace any Spot Instances that are interrupted or that you terminate manually.

If you are finished with your Spot Fleet for now, but will use it again later, you can set the target capacity to 0.

", - "ModifySubnetAttribute": "

Modifies a subnet attribute. You can only modify one attribute at a time.

", + "ModifySubnetAttribute": "

Modifies a subnet attribute. You can only modify one attribute at a time.

Use this action to modify subnets on Amazon Web Services Outposts.

For more information about Amazon Web Services Outposts, see the following:

", "ModifyTrafficMirrorFilterNetworkServices": "

Allows or restricts mirroring network services.

By default, Amazon DNS network services are not eligible for Traffic Mirror. Use AddNetworkServices to add network services to a Traffic Mirror filter. When a network service is added to the Traffic Mirror filter, all traffic related to that network service will be mirrored. When you no longer want to mirror network services, use RemoveNetworkServices to remove the network services from the Traffic Mirror filter.

", "ModifyTrafficMirrorFilterRule": "

Modifies the specified Traffic Mirror rule.

DestinationCidrBlock and SourceCidrBlock must both be an IPv4 range or an IPv6 range.

", "ModifyTrafficMirrorSession": "

Modifies a Traffic Mirror session.

", @@ -1239,6 +1239,7 @@ "ModifySubnetAttributeRequest$EnableDns64": "

Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet should return synthetic IPv6 addresses for IPv4-only destinations.

", "ModifySubnetAttributeRequest$EnableResourceNameDnsARecordOnLaunch": "

Indicates whether to respond to DNS queries for instance hostnames with DNS A records.

", "ModifySubnetAttributeRequest$EnableResourceNameDnsAAAARecordOnLaunch": "

Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.

", + "ModifySubnetAttributeRequest$DisableLniAtDeviceIndex": "

Specify true to indicate that local network interfaces at the current position should be disabled.

", "ModifyVolumeAttributeRequest$AutoEnableIO": "

Indicates whether the volume should be auto-enabled for I/O operations.

", "ModifyVpcAttributeRequest$EnableDnsHostnames": "

Indicates whether the instances launched in the VPC get DNS hostnames. If enabled, instances in the VPC get DNS hostnames; otherwise, they do not.

You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute. You can only enable DNS hostnames if you've enabled DNS support.

", "ModifyVpcAttributeRequest$EnableDnsSupport": "

Indicates whether the DNS resolution is supported for the VPC. If enabled, queries to the Amazon provided DNS server at the 169.254.169.253 IP address, or the reserved IP address at the base of the VPC network range \"plus two\" succeed. If disabled, the Amazon provided DNS service in the VPC that resolves public DNS hostnames to IP addresses is not enabled.

You cannot modify the DNS resolution and DNS hostnames attributes in the same request. Use separate requests for each attribute.

" @@ -9748,6 +9749,7 @@ "ModifyManagedPrefixListRequest$MaxEntries": "

The maximum number of entries for the prefix list. You cannot modify the entries of a prefix list and modify the size of a prefix list at the same time.

If any of the resources that reference the prefix list cannot support the new maximum size, the modify operation fails. Check the state message for the IDs of the first ten resources that do not support the new maximum size.

", "ModifySpotFleetRequestRequest$TargetCapacity": "

The size of the fleet.

", "ModifySpotFleetRequestRequest$OnDemandTargetCapacity": "

The number of On-Demand Instances in the fleet.

", + "ModifySubnetAttributeRequest$EnableLniAtDeviceIndex": "

Indicates the device position for local network interfaces in this subnet. For example, 1 indicates local network interfaces in this subnet are the secondary network interface (eth1). A local network interface cannot be the primary network interface (eth0).

", "ModifyTrafficMirrorFilterRuleRequest$RuleNumber": "

The number of the Traffic Mirror rule. This number must be unique for each Traffic Mirror rule in a given direction. The rules are processed in ascending order by rule number.

", "ModifyTrafficMirrorFilterRuleRequest$Protocol": "

The protocol, for example TCP, to assign to the Traffic Mirror rule.

", "ModifyTrafficMirrorSessionRequest$PacketLength": "

The number of bytes in each packet to mirror. These are bytes after the VXLAN header. To mirror a subset, set this to the length (in bytes) to mirror. For example, if you set this value to 100, then the first 100 bytes that meet the filter criteria are copied to the target. Do not specify this parameter when you want to mirror the entire packet.

", @@ -9843,6 +9845,7 @@ "StaleIpPermission$ToPort": "

The end of the port range for the TCP and UDP protocols, or an ICMP type number. A value of -1 indicates all ICMP types.

", "StoreImageTaskResult$ProgressPercentage": "

The progress of the task as a percentage.

", "Subnet$AvailableIpAddressCount": "

The number of unused private IPv4 addresses in the subnet. The IPv4 addresses for any stopped instances are considered unavailable.

", + "Subnet$EnableLniAtDeviceIndex": "

Indicates the device position for local network interfaces in this subnet. For example, 1 indicates local network interfaces in this subnet are the secondary network interface (eth1).

", "TargetCapacitySpecification$TotalTargetCapacity": "

The number of units to request, filled using DefaultTargetCapacityType.

", "TargetCapacitySpecification$OnDemandTargetCapacity": "

The number of On-Demand units to request. If you specify a target capacity for Spot units, you cannot specify a target capacity for On-Demand units.

", "TargetCapacitySpecification$SpotTargetCapacity": "

The maximum number of Spot units to launch. If you specify a target capacity for On-Demand units, you cannot specify a target capacity for Spot units.

", diff --git a/models/apis/fsx/2018-03-01/api-2.json b/models/apis/fsx/2018-03-01/api-2.json index 553605bb7a0..d6ab8b9532f 100644 --- a/models/apis/fsx/2018-03-01/api-2.json +++ b/models/apis/fsx/2018-03-01/api-2.json @@ -87,6 +87,24 @@ ], "idempotent":true }, + "CreateDataRepositoryAssociation":{ + "name":"CreateDataRepositoryAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateDataRepositoryAssociationRequest"}, + "output":{"shape":"CreateDataRepositoryAssociationResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"UnsupportedOperation"}, + {"shape":"FileSystemNotFound"}, + {"shape":"IncompatibleParameterError"}, + {"shape":"ServiceLimitExceeded"}, + {"shape":"InternalServerError"} + ], + "idempotent":true + }, "CreateDataRepositoryTask":{ "name":"CreateDataRepositoryTask", "http":{ @@ -147,6 +165,22 @@ {"shape":"MissingFileSystemConfiguration"} ] }, + "CreateSnapshot":{ + "name":"CreateSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateSnapshotRequest"}, + "output":{"shape":"CreateSnapshotResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"VolumeNotFound"}, + {"shape":"ServiceLimitExceeded"}, + {"shape":"InternalServerError"} + ], + "idempotent":true + }, "CreateStorageVirtualMachine":{ "name":"CreateStorageVirtualMachine", "http":{ @@ -222,6 +256,23 @@ ], "idempotent":true }, + "DeleteDataRepositoryAssociation":{ + "name":"DeleteDataRepositoryAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteDataRepositoryAssociationRequest"}, + "output":{"shape":"DeleteDataRepositoryAssociationResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"IncompatibleParameterError"}, + {"shape":"DataRepositoryAssociationNotFound"}, + {"shape":"ServiceLimitExceeded"}, + {"shape":"InternalServerError"} + ], + "idempotent":true + }, "DeleteFileSystem":{ "name":"DeleteFileSystem", "http":{ @@ -239,6 +290,21 @@ ], "idempotent":true }, + "DeleteSnapshot":{ + "name":"DeleteSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteSnapshotRequest"}, + "output":{"shape":"DeleteSnapshotResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"InternalServerError"}, + {"shape":"SnapshotNotFound"} + ], + "idempotent":true + }, "DeleteStorageVirtualMachine":{ "name":"DeleteStorageVirtualMachine", "http":{ @@ -285,6 +351,23 @@ {"shape":"InternalServerError"} ] }, + "DescribeDataRepositoryAssociations":{ + "name":"DescribeDataRepositoryAssociations", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeDataRepositoryAssociationsRequest"}, + "output":{"shape":"DescribeDataRepositoryAssociationsResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"FileSystemNotFound"}, + {"shape":"DataRepositoryAssociationNotFound"}, + {"shape":"InvalidDataRepositoryType"}, + {"shape":"InternalServerError"} + ], + "idempotent":true + }, "DescribeDataRepositoryTasks":{ "name":"DescribeDataRepositoryTasks", "http":{ @@ -328,6 +411,20 @@ {"shape":"InternalServerError"} ] }, + "DescribeSnapshots":{ + "name":"DescribeSnapshots", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeSnapshotsRequest"}, + "output":{"shape":"DescribeSnapshotsResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"InternalServerError"}, + {"shape":"SnapshotNotFound"} + ] + }, "DescribeStorageVirtualMachines":{ "name":"DescribeStorageVirtualMachines", "http":{ @@ -386,6 +483,38 @@ {"shape":"ResourceDoesNotSupportTagging"} ] }, + "ReleaseFileSystemNfsV3Locks":{ + "name":"ReleaseFileSystemNfsV3Locks", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ReleaseFileSystemNfsV3LocksRequest"}, + "output":{"shape":"ReleaseFileSystemNfsV3LocksResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"IncompatibleParameterError"}, + {"shape":"FileSystemNotFound"}, + {"shape":"ServiceLimitExceeded"}, + {"shape":"InternalServerError"} + ], + "idempotent":true + }, + "RestoreVolumeFromSnapshot":{ + "name":"RestoreVolumeFromSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"RestoreVolumeFromSnapshotRequest"}, + "output":{"shape":"RestoreVolumeFromSnapshotResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"InternalServerError"}, + {"shape":"VolumeNotFound"} + ], + "idempotent":true + }, "TagResource":{ "name":"TagResource", "http":{ @@ -420,6 +549,23 @@ ], "idempotent":true }, + "UpdateDataRepositoryAssociation":{ + "name":"UpdateDataRepositoryAssociation", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateDataRepositoryAssociationRequest"}, + "output":{"shape":"UpdateDataRepositoryAssociationResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"IncompatibleParameterError"}, + {"shape":"DataRepositoryAssociationNotFound"}, + {"shape":"ServiceLimitExceeded"}, + {"shape":"InternalServerError"} + ], + "idempotent":true + }, "UpdateFileSystem":{ "name":"UpdateFileSystem", "http":{ @@ -438,6 +584,21 @@ {"shape":"ServiceLimitExceeded"} ] }, + "UpdateSnapshot":{ + "name":"UpdateSnapshot", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateSnapshotRequest"}, + "output":{"shape":"UpdateSnapshotResponse"}, + "errors":[ + {"shape":"BadRequest"}, + {"shape":"SnapshotNotFound"}, + {"shape":"InternalServerError"} + ], + "idempotent":true + }, "UpdateStorageVirtualMachine":{ "name":"UpdateStorageVirtualMachine", "http":{ @@ -527,7 +688,8 @@ "Status":{"shape":"Status"}, "TargetFileSystemValues":{"shape":"FileSystem"}, "FailureDetails":{"shape":"AdministrativeActionFailureDetails"}, - "TargetVolumeValues":{"shape":"Volume"} + "TargetVolumeValues":{"shape":"Volume"}, + "TargetSnapshotValues":{"shape":"Snapshot"} } }, "AdministrativeActionFailureDetails":{ @@ -542,7 +704,10 @@ "FILE_SYSTEM_UPDATE", "STORAGE_OPTIMIZATION", "FILE_SYSTEM_ALIAS_ASSOCIATION", - "FILE_SYSTEM_ALIAS_DISASSOCIATION" + "FILE_SYSTEM_ALIAS_DISASSOCIATION", + "VOLUME_UPDATE", + "SNAPSHOT_UPDATE", + "RELEASE_NFS_V3_LOCKS" ] }, "AdministrativeActions":{ @@ -610,12 +775,25 @@ "Aliases":{"shape":"Aliases"} } }, + "AutoExportPolicy":{ + "type":"structure", + "members":{ + "Events":{"shape":"EventTypes"} + } + }, + "AutoImportPolicy":{ + "type":"structure", + "members":{ + "Events":{"shape":"EventTypes"} + } + }, "AutoImportPolicyType":{ "type":"string", "enum":[ "NONE", "NEW", - "NEW_CHANGED" + "NEW_CHANGED", + "NEW_CHANGED_DELETED" ] }, "AutomaticBackupRetentionDays":{ @@ -730,6 +908,7 @@ }, "exception":true }, + "BatchImportMetaDataOnCreate":{"type":"boolean"}, "CancelDataRepositoryTaskRequest":{ "type":"structure", "required":["TaskId"], @@ -804,6 +983,33 @@ "Backup":{"shape":"Backup"} } }, + "CreateDataRepositoryAssociationRequest":{ + "type":"structure", + "required":[ + "FileSystemId", + "FileSystemPath", + "DataRepositoryPath" + ], + "members":{ + "FileSystemId":{"shape":"FileSystemId"}, + "FileSystemPath":{"shape":"Namespace"}, + "DataRepositoryPath":{"shape":"ArchivePath"}, + "BatchImportMetaDataOnCreate":{"shape":"BatchImportMetaDataOnCreate"}, + "ImportedFileChunkSize":{"shape":"Megabytes"}, + "S3":{"shape":"S3DataRepositoryConfiguration"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + }, + "Tags":{"shape":"Tags"} + } + }, + "CreateDataRepositoryAssociationResponse":{ + "type":"structure", + "members":{ + "Association":{"shape":"DataRepositoryAssociation"} + } + }, "CreateDataRepositoryTaskRequest":{ "type":"structure", "required":[ @@ -848,7 +1054,8 @@ "LustreConfiguration":{"shape":"CreateFileSystemLustreConfiguration"}, "StorageType":{"shape":"StorageType"}, "KmsKeyId":{"shape":"KmsKeyId"}, - "FileSystemTypeVersion":{"shape":"FileSystemTypeVersion"} + "FileSystemTypeVersion":{"shape":"FileSystemTypeVersion"}, + "OpenZFSConfiguration":{"shape":"CreateFileSystemOpenZFSConfiguration"} } }, "CreateFileSystemFromBackupResponse":{ @@ -871,7 +1078,8 @@ "AutomaticBackupRetentionDays":{"shape":"AutomaticBackupRetentionDays"}, "CopyTagsToBackups":{"shape":"Flag"}, "DriveCacheType":{"shape":"DriveCacheType"}, - "DataCompressionType":{"shape":"DataCompressionType"} + "DataCompressionType":{"shape":"DataCompressionType"}, + "LogConfiguration":{"shape":"LustreLogCreateConfiguration"} } }, "CreateFileSystemOntapConfiguration":{ @@ -893,6 +1101,24 @@ "WeeklyMaintenanceStartTime":{"shape":"WeeklyTime"} } }, + "CreateFileSystemOpenZFSConfiguration":{ + "type":"structure", + "required":[ + "DeploymentType", + "ThroughputCapacity" + ], + "members":{ + "AutomaticBackupRetentionDays":{"shape":"AutomaticBackupRetentionDays"}, + "CopyTagsToBackups":{"shape":"Flag"}, + "CopyTagsToVolumes":{"shape":"Flag"}, + "DailyAutomaticBackupStartTime":{"shape":"DailyTime"}, + "DeploymentType":{"shape":"OpenZFSDeploymentType"}, + "ThroughputCapacity":{"shape":"MegabytesPerSecond"}, + "WeeklyMaintenanceStartTime":{"shape":"WeeklyTime"}, + "DiskIopsConfiguration":{"shape":"DiskIopsConfiguration"}, + "RootVolumeConfiguration":{"shape":"OpenZFSCreateRootVolumeConfiguration"} + } + }, "CreateFileSystemRequest":{ "type":"structure", "required":[ @@ -915,7 +1141,8 @@ "WindowsConfiguration":{"shape":"CreateFileSystemWindowsConfiguration"}, "LustreConfiguration":{"shape":"CreateFileSystemLustreConfiguration"}, "OntapConfiguration":{"shape":"CreateFileSystemOntapConfiguration"}, - "FileSystemTypeVersion":{"shape":"FileSystemTypeVersion"} + "FileSystemTypeVersion":{"shape":"FileSystemTypeVersion"}, + "OpenZFSConfiguration":{"shape":"CreateFileSystemOpenZFSConfiguration"} } }, "CreateFileSystemResponse":{ @@ -958,6 +1185,54 @@ "TieringPolicy":{"shape":"TieringPolicy"} } }, + "CreateOpenZFSOriginSnapshotConfiguration":{ + "type":"structure", + "required":[ + "SnapshotARN", + "CopyStrategy" + ], + "members":{ + "SnapshotARN":{"shape":"ResourceARN"}, + "CopyStrategy":{"shape":"OpenZFSCopyStrategy"} + } + }, + "CreateOpenZFSVolumeConfiguration":{ + "type":"structure", + "required":["ParentVolumeId"], + "members":{ + "ParentVolumeId":{"shape":"VolumeId"}, + "StorageCapacityReservationGiB":{"shape":"IntegerNoMax"}, + "StorageCapacityQuotaGiB":{"shape":"IntegerNoMax"}, + "DataCompressionType":{"shape":"OpenZFSDataCompressionType"}, + "CopyTagsToSnapshots":{"shape":"Flag"}, + "OriginSnapshot":{"shape":"CreateOpenZFSOriginSnapshotConfiguration"}, + "ReadOnly":{"shape":"ReadOnly"}, + "NfsExports":{"shape":"OpenZFSNfsExports"}, + "UserAndGroupQuotas":{"shape":"OpenZFSUserAndGroupQuotas"} + } + }, + "CreateSnapshotRequest":{ + "type":"structure", + "required":[ + "Name", + "VolumeId" + ], + "members":{ + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + }, + "Name":{"shape":"SnapshotName"}, + "VolumeId":{"shape":"VolumeId"}, + "Tags":{"shape":"Tags"} + } + }, + "CreateSnapshotResponse":{ + "type":"structure", + "members":{ + "Snapshot":{"shape":"Snapshot"} + } + }, "CreateStorageVirtualMachineRequest":{ "type":"structure", "required":[ @@ -1028,7 +1303,8 @@ "VolumeType":{"shape":"VolumeType"}, "Name":{"shape":"VolumeName"}, "OntapConfiguration":{"shape":"CreateOntapVolumeConfiguration"}, - "Tags":{"shape":"Tags"} + "Tags":{"shape":"Tags"}, + "OpenZFSConfiguration":{"shape":"CreateOpenZFSVolumeConfiguration"} } }, "CreateVolumeResponse":{ @@ -1057,6 +1333,46 @@ "LZ4" ] }, + "DataRepositoryAssociation":{ + "type":"structure", + "members":{ + "AssociationId":{"shape":"DataRepositoryAssociationId"}, + "ResourceARN":{"shape":"ResourceARN"}, + "FileSystemId":{"shape":"FileSystemId"}, + "Lifecycle":{"shape":"DataRepositoryLifecycle"}, + "FailureDetails":{"shape":"DataRepositoryFailureDetails"}, + "FileSystemPath":{"shape":"Namespace"}, + "DataRepositoryPath":{"shape":"ArchivePath"}, + "BatchImportMetaDataOnCreate":{"shape":"BatchImportMetaDataOnCreate"}, + "ImportedFileChunkSize":{"shape":"Megabytes"}, + "S3":{"shape":"S3DataRepositoryConfiguration"}, + "Tags":{"shape":"Tags"}, + "CreationTime":{"shape":"CreationTime"} + } + }, + "DataRepositoryAssociationId":{ + "type":"string", + "max":23, + "min":13, + "pattern":"^(dra-[0-9a-f]{8,})$" + }, + "DataRepositoryAssociationIds":{ + "type":"list", + "member":{"shape":"DataRepositoryAssociationId"}, + "max":50 + }, + "DataRepositoryAssociationNotFound":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "DataRepositoryAssociations":{ + "type":"list", + "member":{"shape":"DataRepositoryAssociation"}, + "max":100 + }, "DataRepositoryConfiguration":{ "type":"structure", "members":{ @@ -1081,7 +1397,8 @@ "AVAILABLE", "MISCONFIGURED", "UPDATING", - "DELETING" + "DELETING", + "FAILED" ] }, "DataRepositoryTask":{ @@ -1140,7 +1457,8 @@ "type":"string", "enum":[ "file-system-id", - "task-lifecycle" + "task-lifecycle", + "data-repository-association-id" ] }, "DataRepositoryTaskFilterValue":{ @@ -1199,7 +1517,10 @@ }, "DataRepositoryTaskType":{ "type":"string", - "enum":["EXPORT_TO_REPOSITORY"] + "enum":[ + "EXPORT_TO_REPOSITORY", + "IMPORT_METADATA_FROM_REPOSITORY" + ] }, "DataRepositoryTasks":{ "type":"list", @@ -1224,6 +1545,30 @@ "Lifecycle":{"shape":"BackupLifecycle"} } }, + "DeleteDataInFileSystem":{"type":"boolean"}, + "DeleteDataRepositoryAssociationRequest":{ + "type":"structure", + "required":[ + "AssociationId", + "DeleteDataInFileSystem" + ], + "members":{ + "AssociationId":{"shape":"DataRepositoryAssociationId"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + }, + "DeleteDataInFileSystem":{"shape":"DeleteDataInFileSystem"} + } + }, + "DeleteDataRepositoryAssociationResponse":{ + "type":"structure", + "members":{ + "AssociationId":{"shape":"DataRepositoryAssociationId"}, + "Lifecycle":{"shape":"DataRepositoryLifecycle"}, + "DeleteDataInFileSystem":{"shape":"DeleteDataInFileSystem"} + } + }, "DeleteFileSystemLustreConfiguration":{ "type":"structure", "members":{ @@ -1238,6 +1583,20 @@ "FinalBackupTags":{"shape":"Tags"} } }, + "DeleteFileSystemOpenZFSConfiguration":{ + "type":"structure", + "members":{ + "SkipFinalBackup":{"shape":"Flag"}, + "FinalBackupTags":{"shape":"Tags"} + } + }, + "DeleteFileSystemOpenZFSResponse":{ + "type":"structure", + "members":{ + "FinalBackupId":{"shape":"BackupId"}, + "FinalBackupTags":{"shape":"Tags"} + } + }, "DeleteFileSystemRequest":{ "type":"structure", "required":["FileSystemId"], @@ -1248,7 +1607,8 @@ "idempotencyToken":true }, "WindowsConfiguration":{"shape":"DeleteFileSystemWindowsConfiguration"}, - "LustreConfiguration":{"shape":"DeleteFileSystemLustreConfiguration"} + "LustreConfiguration":{"shape":"DeleteFileSystemLustreConfiguration"}, + "OpenZFSConfiguration":{"shape":"DeleteFileSystemOpenZFSConfiguration"} } }, "DeleteFileSystemResponse":{ @@ -1257,7 +1617,8 @@ "FileSystemId":{"shape":"FileSystemId"}, "Lifecycle":{"shape":"FileSystemLifecycle"}, "WindowsResponse":{"shape":"DeleteFileSystemWindowsResponse"}, - "LustreResponse":{"shape":"DeleteFileSystemLustreResponse"} + "LustreResponse":{"shape":"DeleteFileSystemLustreResponse"}, + "OpenZFSResponse":{"shape":"DeleteFileSystemOpenZFSResponse"} } }, "DeleteFileSystemWindowsConfiguration":{ @@ -1274,6 +1635,33 @@ "FinalBackupTags":{"shape":"Tags"} } }, + "DeleteOpenZFSVolumeOption":{ + "type":"string", + "enum":["DELETE_CHILD_VOLUMES_AND_SNAPSHOTS"] + }, + "DeleteOpenZFSVolumeOptions":{ + "type":"list", + "member":{"shape":"DeleteOpenZFSVolumeOption"}, + "max":1 + }, + "DeleteSnapshotRequest":{ + "type":"structure", + "required":["SnapshotId"], + "members":{ + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + }, + "SnapshotId":{"shape":"SnapshotId"} + } + }, + "DeleteSnapshotResponse":{ + "type":"structure", + "members":{ + "SnapshotId":{"shape":"SnapshotId"}, + "Lifecycle":{"shape":"SnapshotLifecycle"} + } + }, "DeleteStorageVirtualMachineRequest":{ "type":"structure", "required":["StorageVirtualMachineId"], @@ -1306,16 +1694,23 @@ "FinalBackupTags":{"shape":"Tags"} } }, - "DeleteVolumeRequest":{ + "DeleteVolumeOpenZFSConfiguration":{ "type":"structure", - "required":["VolumeId"], "members":{ - "ClientRequestToken":{ + "Options":{"shape":"DeleteOpenZFSVolumeOptions"} + } + }, + "DeleteVolumeRequest":{ + "type":"structure", + "required":["VolumeId"], + "members":{ + "ClientRequestToken":{ "shape":"ClientRequestToken", "idempotencyToken":true }, "VolumeId":{"shape":"VolumeId"}, - "OntapConfiguration":{"shape":"DeleteVolumeOntapConfiguration"} + "OntapConfiguration":{"shape":"DeleteVolumeOntapConfiguration"}, + "OpenZFSConfiguration":{"shape":"DeleteVolumeOpenZFSConfiguration"} } }, "DeleteVolumeResponse":{ @@ -1342,6 +1737,22 @@ "NextToken":{"shape":"NextToken"} } }, + "DescribeDataRepositoryAssociationsRequest":{ + "type":"structure", + "members":{ + "AssociationIds":{"shape":"DataRepositoryAssociationIds"}, + "Filters":{"shape":"Filters"}, + "MaxResults":{"shape":"LimitedMaxResults"}, + "NextToken":{"shape":"NextToken"} + } + }, + "DescribeDataRepositoryAssociationsResponse":{ + "type":"structure", + "members":{ + "Associations":{"shape":"DataRepositoryAssociations"}, + "NextToken":{"shape":"NextToken"} + } + }, "DescribeDataRepositoryTasksRequest":{ "type":"structure", "members":{ @@ -1393,6 +1804,22 @@ "NextToken":{"shape":"NextToken"} } }, + "DescribeSnapshotsRequest":{ + "type":"structure", + "members":{ + "SnapshotIds":{"shape":"SnapshotIds"}, + "Filters":{"shape":"SnapshotFilters"}, + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"NextToken"} + } + }, + "DescribeSnapshotsResponse":{ + "type":"structure", + "members":{ + "Snapshots":{"shape":"Snapshots"}, + "NextToken":{"shape":"NextToken"} + } + }, "DescribeStorageVirtualMachinesRequest":{ "type":"structure", "members":{ @@ -1498,6 +1925,19 @@ "max":256, "min":1 }, + "EventType":{ + "type":"string", + "enum":[ + "NEW", + "CHANGED", + "DELETED" + ] + }, + "EventTypes":{ + "type":"list", + "member":{"shape":"EventType"}, + "max":3 + }, "FailedCount":{"type":"long"}, "FileSystem":{ "type":"structure", @@ -1521,7 +1961,8 @@ "LustreConfiguration":{"shape":"LustreFileSystemConfiguration"}, "AdministrativeActions":{"shape":"AdministrativeActions"}, "OntapConfiguration":{"shape":"OntapFileSystemConfiguration"}, - "FileSystemTypeVersion":{"shape":"FileSystemTypeVersion"} + "FileSystemTypeVersion":{"shape":"FileSystemTypeVersion"}, + "OpenZFSConfiguration":{"shape":"OpenZFSFileSystemConfiguration"} } }, "FileSystemAdministratorsGroupName":{ @@ -1596,14 +2037,15 @@ "enum":[ "WINDOWS", "LUSTRE", - "ONTAP" + "ONTAP", + "OPENZFS" ] }, "FileSystemTypeVersion":{ "type":"string", "max":20, "min":1, - "pattern":"^[0-9](\\.[0-9]*)*$" + "pattern":"^[0-9](.[0-9]*)*$" }, "FileSystems":{ "type":"list", @@ -1623,7 +2065,8 @@ "file-system-id", "backup-type", "file-system-type", - "volume-id" + "volume-id", + "data-repository-type" ] }, "FilterValue":{ @@ -1673,6 +2116,11 @@ }, "exception":true }, + "IntegerNoMax":{ + "type":"integer", + "max":2147483647, + "min":0 + }, "InternalServerError":{ "type":"structure", "members":{ @@ -1681,6 +2129,13 @@ "exception":true, "fault":true }, + "InvalidDataRepositoryType":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "InvalidDestinationKmsKey":{ "type":"structure", "members":{ @@ -1735,7 +2190,7 @@ }, "Iops":{ "type":"long", - "max":80000, + "max":160000, "min":0 }, "IpAddress":{ @@ -1769,6 +2224,11 @@ "Message":{"shape":"ErrorMessage"} } }, + "LimitedMaxResults":{ + "type":"integer", + "max":25, + "min":1 + }, "ListTagsForResourceRequest":{ "type":"structure", "required":["ResourceARN"], @@ -1785,12 +2245,22 @@ "NextToken":{"shape":"NextToken"} } }, + "LustreAccessAuditLogLevel":{ + "type":"string", + "enum":[ + "DISABLED", + "WARN_ONLY", + "ERROR_ONLY", + "WARN_ERROR" + ] + }, "LustreDeploymentType":{ "type":"string", "enum":[ "SCRATCH_1", "SCRATCH_2", - "PERSISTENT_1" + "PERSISTENT_1", + "PERSISTENT_2" ] }, "LustreFileSystemConfiguration":{ @@ -1805,7 +2275,8 @@ "AutomaticBackupRetentionDays":{"shape":"AutomaticBackupRetentionDays"}, "CopyTagsToBackups":{"shape":"Flag"}, "DriveCacheType":{"shape":"DriveCacheType"}, - "DataCompressionType":{"shape":"DataCompressionType"} + "DataCompressionType":{"shape":"DataCompressionType"}, + "LogConfiguration":{"shape":"LustreLogConfiguration"} } }, "LustreFileSystemMountName":{ @@ -1814,6 +2285,22 @@ "min":1, "pattern":"^([A-Za-z0-9_-]{1,8})$" }, + "LustreLogConfiguration":{ + "type":"structure", + "required":["Level"], + "members":{ + "Level":{"shape":"LustreAccessAuditLogLevel"}, + "Destination":{"shape":"GeneralARN"} + } + }, + "LustreLogCreateConfiguration":{ + "type":"structure", + "required":["Level"], + "members":{ + "Level":{"shape":"LustreAccessAuditLogLevel"}, + "Destination":{"shape":"GeneralARN"} + } + }, "MaxResults":{ "type":"integer", "max":2147483647, @@ -1826,7 +2313,7 @@ }, "MegabytesPerSecond":{ "type":"integer", - "max":2048, + "max":4096, "min":8 }, "MissingFileSystemConfiguration":{ @@ -1843,6 +2330,12 @@ }, "exception":true }, + "Namespace":{ + "type":"string", + "max":4096, + "min":1, + "pattern":"^[^\\u0000\\u0085\\u2028\\u2029\\r\\n]{3,4096}$" + }, "NetBiosAlias":{ "type":"string", "max":15, @@ -1923,6 +2416,141 @@ "LS" ] }, + "OpenZFSClientConfiguration":{ + "type":"structure", + "required":[ + "Clients", + "Options" + ], + "members":{ + "Clients":{"shape":"OpenZFSClients"}, + "Options":{"shape":"OpenZFSNfsExportOptions"} + } + }, + "OpenZFSClientConfigurations":{ + "type":"list", + "member":{"shape":"OpenZFSClientConfiguration"}, + "max":25 + }, + "OpenZFSClients":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[ -~]{1,128}$" + }, + "OpenZFSCopyStrategy":{ + "type":"string", + "enum":[ + "CLONE", + "FULL_COPY" + ] + }, + "OpenZFSCreateRootVolumeConfiguration":{ + "type":"structure", + "members":{ + "DataCompressionType":{"shape":"OpenZFSDataCompressionType"}, + "NfsExports":{"shape":"OpenZFSNfsExports"}, + "UserAndGroupQuotas":{"shape":"OpenZFSUserAndGroupQuotas"}, + "CopyTagsToSnapshots":{"shape":"Flag"}, + "ReadOnly":{"shape":"ReadOnly"} + } + }, + "OpenZFSDataCompressionType":{ + "type":"string", + "enum":[ + "NONE", + "ZSTD" + ] + }, + "OpenZFSDeploymentType":{ + "type":"string", + "enum":["SINGLE_AZ_1"] + }, + "OpenZFSFileSystemConfiguration":{ + "type":"structure", + "members":{ + "AutomaticBackupRetentionDays":{"shape":"AutomaticBackupRetentionDays"}, + "CopyTagsToBackups":{"shape":"Flag"}, + "CopyTagsToVolumes":{"shape":"Flag"}, + "DailyAutomaticBackupStartTime":{"shape":"DailyTime"}, + "DeploymentType":{"shape":"OpenZFSDeploymentType"}, + "ThroughputCapacity":{"shape":"MegabytesPerSecond"}, + "WeeklyMaintenanceStartTime":{"shape":"WeeklyTime"}, + "DiskIopsConfiguration":{"shape":"DiskIopsConfiguration"}, + "RootVolumeId":{"shape":"VolumeId"} + } + }, + "OpenZFSNfsExport":{ + "type":"structure", + "required":["ClientConfigurations"], + "members":{ + "ClientConfigurations":{"shape":"OpenZFSClientConfigurations"} + } + }, + "OpenZFSNfsExportOption":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[ -~]{1,128}$" + }, + "OpenZFSNfsExportOptions":{ + "type":"list", + "member":{"shape":"OpenZFSNfsExportOption"}, + "max":20, + "min":1 + }, + "OpenZFSNfsExports":{ + "type":"list", + "member":{"shape":"OpenZFSNfsExport"}, + "max":1 + }, + "OpenZFSOriginSnapshotConfiguration":{ + "type":"structure", + "members":{ + "SnapshotARN":{"shape":"ResourceARN"}, + "CopyStrategy":{"shape":"OpenZFSCopyStrategy"} + } + }, + "OpenZFSQuotaType":{ + "type":"string", + "enum":[ + "USER", + "GROUP" + ] + }, + "OpenZFSUserAndGroupQuotas":{ + "type":"list", + "member":{"shape":"OpenZFSUserOrGroupQuota"}, + "max":100 + }, + "OpenZFSUserOrGroupQuota":{ + "type":"structure", + "required":[ + "Type", + "Id", + "StorageCapacityQuotaGiB" + ], + "members":{ + "Type":{"shape":"OpenZFSQuotaType"}, + "Id":{"shape":"IntegerNoMax"}, + "StorageCapacityQuotaGiB":{"shape":"IntegerNoMax"} + } + }, + "OpenZFSVolumeConfiguration":{ + "type":"structure", + "members":{ + "ParentVolumeId":{"shape":"VolumeId"}, + "VolumePath":{"shape":"VolumePath"}, + "StorageCapacityReservationGiB":{"shape":"IntegerNoMax"}, + "StorageCapacityQuotaGiB":{"shape":"IntegerNoMax"}, + "DataCompressionType":{"shape":"OpenZFSDataCompressionType"}, + "CopyTagsToSnapshots":{"shape":"Flag"}, + "OriginSnapshot":{"shape":"OpenZFSOriginSnapshotConfiguration"}, + "ReadOnly":{"shape":"ReadOnly"}, + "NfsExports":{"shape":"OpenZFSNfsExports"}, + "UserAndGroupQuotas":{"shape":"OpenZFSUserAndGroupQuotas"} + } + }, "OrganizationalUnitDistinguishedName":{ "type":"string", "max":2000, @@ -1935,7 +2563,7 @@ }, "PerUnitStorageThroughput":{ "type":"integer", - "max":200, + "max":1000, "min":12 }, "ProgressPercent":{ @@ -1943,12 +2571,30 @@ "max":100, "min":0 }, + "ReadOnly":{"type":"boolean"}, "Region":{ "type":"string", "max":20, "min":1, "pattern":"^[a-z0-9-]{1,20}$" }, + "ReleaseFileSystemNfsV3LocksRequest":{ + "type":"structure", + "required":["FileSystemId"], + "members":{ + "FileSystemId":{"shape":"FileSystemId"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + } + } + }, + "ReleaseFileSystemNfsV3LocksResponse":{ + "type":"structure", + "members":{ + "FileSystem":{"shape":"FileSystem"} + } + }, "ReportFormat":{ "type":"string", "enum":["REPORT_CSV_20191124"] @@ -1989,6 +2635,41 @@ "VOLUME" ] }, + "RestoreOpenZFSVolumeOption":{ + "type":"string", + "enum":[ + "DELETE_INTERMEDIATE_SNAPSHOTS", + "DELETE_CLONED_VOLUMES" + ] + }, + "RestoreOpenZFSVolumeOptions":{ + "type":"list", + "member":{"shape":"RestoreOpenZFSVolumeOption"}, + "max":2 + }, + "RestoreVolumeFromSnapshotRequest":{ + "type":"structure", + "required":[ + "VolumeId", + "SnapshotId" + ], + "members":{ + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + }, + "VolumeId":{"shape":"VolumeId"}, + "SnapshotId":{"shape":"SnapshotId"}, + "Options":{"shape":"RestoreOpenZFSVolumeOptions"} + } + }, + "RestoreVolumeFromSnapshotResponse":{ + "type":"structure", + "members":{ + "VolumeId":{"shape":"VolumeId"}, + "Lifecycle":{"shape":"VolumeLifecycle"} + } + }, "RouteTableId":{ "type":"string", "max":21, @@ -2000,6 +2681,13 @@ "member":{"shape":"RouteTableId"}, "max":50 }, + "S3DataRepositoryConfiguration":{ + "type":"structure", + "members":{ + "AutoImportPolicy":{"shape":"AutoImportPolicy"}, + "AutoExportPolicy":{"shape":"AutoExportPolicy"} + } + }, "SecurityGroupId":{ "type":"string", "max":20, @@ -2077,6 +2765,87 @@ }, "exception":true }, + "Snapshot":{ + "type":"structure", + "members":{ + "ResourceARN":{"shape":"ResourceARN"}, + "SnapshotId":{"shape":"SnapshotId"}, + "Name":{"shape":"SnapshotName"}, + "VolumeId":{"shape":"VolumeId"}, + "CreationTime":{"shape":"CreationTime"}, + "Lifecycle":{"shape":"SnapshotLifecycle"}, + "Tags":{"shape":"Tags"}, + "AdministrativeActions":{"shape":"AdministrativeActions"} + } + }, + "SnapshotFilter":{ + "type":"structure", + "members":{ + "Name":{"shape":"SnapshotFilterName"}, + "Values":{"shape":"SnapshotFilterValues"} + } + }, + "SnapshotFilterName":{ + "type":"string", + "enum":[ + "file-system-id", + "volume-id" + ] + }, + "SnapshotFilterValue":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[0-9a-zA-Z\\*\\.\\\\/\\?\\-\\_]*$" + }, + "SnapshotFilterValues":{ + "type":"list", + "member":{"shape":"SnapshotFilterValue"}, + "max":20 + }, + "SnapshotFilters":{ + "type":"list", + "member":{"shape":"SnapshotFilter"}, + "max":2 + }, + "SnapshotId":{ + "type":"string", + "max":28, + "min":11, + "pattern":"^((fs)?volsnap-[0-9a-f]{8,})$" + }, + "SnapshotIds":{ + "type":"list", + "member":{"shape":"SnapshotId"}, + "max":50 + }, + "SnapshotLifecycle":{ + "type":"string", + "enum":[ + "PENDING", + "CREATING", + "DELETING", + "AVAILABLE" + ] + }, + "SnapshotName":{ + "type":"string", + "max":203, + "min":1, + "pattern":"^[a-zA-Z0-9_:.-]{1,203}$" + }, + "SnapshotNotFound":{ + "type":"structure", + "members":{ + "Message":{"shape":"ErrorMessage"} + }, + "exception":true + }, + "Snapshots":{ + "type":"list", + "member":{"shape":"Snapshot"}, + "max":50 + }, "SourceBackupId":{ "type":"string", "max":128, @@ -2358,6 +3127,25 @@ "members":{ } }, + "UpdateDataRepositoryAssociationRequest":{ + "type":"structure", + "required":["AssociationId"], + "members":{ + "AssociationId":{"shape":"DataRepositoryAssociationId"}, + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + }, + "ImportedFileChunkSize":{"shape":"Megabytes"}, + "S3":{"shape":"S3DataRepositoryConfiguration"} + } + }, + "UpdateDataRepositoryAssociationResponse":{ + "type":"structure", + "members":{ + "Association":{"shape":"DataRepositoryAssociation"} + } + }, "UpdateFileSystemLustreConfiguration":{ "type":"structure", "members":{ @@ -2365,7 +3153,8 @@ "DailyAutomaticBackupStartTime":{"shape":"DailyTime"}, "AutomaticBackupRetentionDays":{"shape":"AutomaticBackupRetentionDays"}, "AutoImportPolicy":{"shape":"AutoImportPolicyType"}, - "DataCompressionType":{"shape":"DataCompressionType"} + "DataCompressionType":{"shape":"DataCompressionType"}, + "LogConfiguration":{"shape":"LustreLogCreateConfiguration"} } }, "UpdateFileSystemOntapConfiguration":{ @@ -2377,6 +3166,18 @@ "WeeklyMaintenanceStartTime":{"shape":"WeeklyTime"} } }, + "UpdateFileSystemOpenZFSConfiguration":{ + "type":"structure", + "members":{ + "AutomaticBackupRetentionDays":{"shape":"AutomaticBackupRetentionDays"}, + "CopyTagsToBackups":{"shape":"Flag"}, + "CopyTagsToVolumes":{"shape":"Flag"}, + "DailyAutomaticBackupStartTime":{"shape":"DailyTime"}, + "ThroughputCapacity":{"shape":"MegabytesPerSecond"}, + "WeeklyMaintenanceStartTime":{"shape":"WeeklyTime"}, + "DiskIopsConfiguration":{"shape":"DiskIopsConfiguration"} + } + }, "UpdateFileSystemRequest":{ "type":"structure", "required":["FileSystemId"], @@ -2389,7 +3190,8 @@ "StorageCapacity":{"shape":"StorageCapacity"}, "WindowsConfiguration":{"shape":"UpdateFileSystemWindowsConfiguration"}, "LustreConfiguration":{"shape":"UpdateFileSystemLustreConfiguration"}, - "OntapConfiguration":{"shape":"UpdateFileSystemOntapConfiguration"} + "OntapConfiguration":{"shape":"UpdateFileSystemOntapConfiguration"}, + "OpenZFSConfiguration":{"shape":"UpdateFileSystemOpenZFSConfiguration"} } }, "UpdateFileSystemResponse":{ @@ -2419,6 +3221,38 @@ "TieringPolicy":{"shape":"TieringPolicy"} } }, + "UpdateOpenZFSVolumeConfiguration":{ + "type":"structure", + "members":{ + "StorageCapacityReservationGiB":{"shape":"IntegerNoMax"}, + "StorageCapacityQuotaGiB":{"shape":"IntegerNoMax"}, + "DataCompressionType":{"shape":"OpenZFSDataCompressionType"}, + "NfsExports":{"shape":"OpenZFSNfsExports"}, + "UserAndGroupQuotas":{"shape":"OpenZFSUserAndGroupQuotas"}, + "ReadOnly":{"shape":"ReadOnly"} + } + }, + "UpdateSnapshotRequest":{ + "type":"structure", + "required":[ + "Name", + "SnapshotId" + ], + "members":{ + "ClientRequestToken":{ + "shape":"ClientRequestToken", + "idempotencyToken":true + }, + "Name":{"shape":"SnapshotName"}, + "SnapshotId":{"shape":"SnapshotId"} + } + }, + "UpdateSnapshotResponse":{ + "type":"structure", + "members":{ + "Snapshot":{"shape":"Snapshot"} + } + }, "UpdateStorageVirtualMachineRequest":{ "type":"structure", "required":["StorageVirtualMachineId"], @@ -2453,7 +3287,9 @@ "idempotencyToken":true }, "VolumeId":{"shape":"VolumeId"}, - "OntapConfiguration":{"shape":"UpdateOntapVolumeConfiguration"} + "OntapConfiguration":{"shape":"UpdateOntapVolumeConfiguration"}, + "Name":{"shape":"VolumeName"}, + "OpenZFSConfiguration":{"shape":"UpdateOpenZFSVolumeConfiguration"} } }, "UpdateVolumeResponse":{ @@ -2474,7 +3310,9 @@ "Tags":{"shape":"Tags"}, "VolumeId":{"shape":"VolumeId"}, "VolumeType":{"shape":"VolumeType"}, - "LifecycleTransitionReason":{"shape":"LifecycleTransitionReason"} + "LifecycleTransitionReason":{"shape":"LifecycleTransitionReason"}, + "AdministrativeActions":{"shape":"AdministrativeActions"}, + "OpenZFSConfiguration":{"shape":"OpenZFSVolumeConfiguration"} } }, "VolumeCapacity":{ @@ -2531,7 +3369,8 @@ "DELETING", "FAILED", "MISCONFIGURED", - "PENDING" + "PENDING", + "AVAILABLE" ] }, "VolumeName":{ @@ -2547,9 +3386,18 @@ }, "exception":true }, + "VolumePath":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^[A-za-z0-9\\_\\.\\:\\-\\/]*$" + }, "VolumeType":{ "type":"string", - "enum":["ONTAP"] + "enum":[ + "ONTAP", + "OPENZFS" + ] }, "Volumes":{ "type":"list", diff --git a/models/apis/fsx/2018-03-01/docs-2.json b/models/apis/fsx/2018-03-01/docs-2.json index b7f63bae463..a7482310a0d 100644 --- a/models/apis/fsx/2018-03-01/docs-2.json +++ b/models/apis/fsx/2018-03-01/docs-2.json @@ -4,31 +4,41 @@ "operations": { "AssociateFileSystemAliases": "

Use this action to associate one or more Domain Name Server (DNS) aliases with an existing Amazon FSx for Windows File Server file system. A file system can have a maximum of 50 DNS aliases associated with it at any one time. If you try to associate a DNS alias that is already associated with the file system, FSx takes no action on that alias in the request. For more information, see Working with DNS Aliases and Walkthrough 5: Using DNS aliases to access your file system, including additional steps you must take to be able to access your file system using a DNS alias.

The system response shows the DNS aliases that Amazon FSx is attempting to associate with the file system. Use the API operation to monitor the status of the aliases Amazon FSx is associating with the file system.

", "CancelDataRepositoryTask": "

Cancels an existing Amazon FSx for Lustre data repository task if that task is in either the PENDING or EXECUTING state. When you cancel a task, Amazon FSx does the following.

", - "CopyBackup": "

Copies an existing backup within the same Amazon Web Services account to another Amazon Web Services Region (cross-Region copy) or within the same Amazon Web Services Region (in-Region copy). You can have up to five backup copy requests in progress to a single destination Region per account.

You can use cross-Region backup copies for cross-region disaster recovery. You periodically take backups and copy them to another Region so that in the event of a disaster in the primary Region, you can restore from backup and recover availability quickly in the other Region. You can make cross-Region copies only within your Amazon Web Services partition.

You can also use backup copies to clone your file data set to another Region or within the same Region.

You can use the SourceRegion parameter to specify the Amazon Web Services Region from which the backup will be copied. For example, if you make the call from the us-west-1 Region and want to copy a backup from the us-east-2 Region, you specify us-east-2 in the SourceRegion parameter to make a cross-Region copy. If you don't specify a Region, the backup copy is created in the same Region where the request is sent from (in-Region copy).

For more information on creating backup copies, see Copying backups in the Amazon FSx for Windows User Guide and Copying backups in the Amazon FSx for Lustre User Guide.

", - "CreateBackup": "

Creates a backup of an existing Amazon FSx for Windows File Server or Amazon FSx for Lustre file system, or of an Amazon FSx for NetApp ONTAP volume. Creating regular backups is a best practice, enabling you to 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 with 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 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.

", - "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 repository. 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 its 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.

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 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 success 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 or Amazon FSx for Windows File Server 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 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 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 success 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.

", + "CopyBackup": "

Copies an existing backup within the same Amazon Web Services account to another Amazon Web Services Region (cross-Region copy) or within the same Amazon Web Services Region (in-Region copy). You can have up to five backup copy requests in progress to a single destination Region per account.

You can use cross-Region backup copies for cross-Region disaster recovery. You can periodically take backups and copy them to another Region so that in the event of a disaster in the primary Region, you can restore from backup and recover availability quickly in the other Region. You can make cross-Region copies only within your Amazon Web Services partition. A partition is a grouping of Regions. Amazon Web Services currently has three partitions: aws (Standard Regions), aws-cn (China Regions), and aws-us-gov (Amazon Web Services GovCloud [US] Regions).

You can also use backup copies to clone your file dataset to another Region or within the same Region.

You can use the SourceRegion parameter to specify the Amazon Web Services Region from which the backup will be copied. For example, if you make the call from the us-west-1 Region and want to copy a backup from the us-east-2 Region, you specify us-east-2 in the SourceRegion parameter to make a cross-Region copy. If you don't specify a Region, the backup copy is created in the same Region where the request is sent from (in-Region copy).

For more information about creating backup copies, see Copying backups in the Amazon FSx for Windows User Guide, Copying backups in the Amazon FSx for Lustre User Guide, and Copying backups in the Amazon FSx for OpenZFS User Guide.

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

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

", - "CreateVolume": "

Creates an Amazon FSx for NetApp ONTAP storage volume.

", + "CreateVolume": "

Creates an Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS storage volume.

", "CreateVolumeFromBackup": "

Creates a new Amazon FSx for NetApp ONTAP volume from an existing Amazon FSx volume backup.

", - "DeleteBackup": "

Deletes an Amazon FSx backup, deleting its contents. After deletion, the backup no longer exists, and its data is gone.

The DeleteBackup call returns instantly. The backup will not show up in later DescribeBackups calls.

The data in a deleted backup is also deleted and can't be recovered by any means.

", - "DeleteFileSystem": "

Deletes a file system, deleting its contents. After deletion, the file system no longer exists, and its data is gone. Any existing automatic backups will also be deleted.

To delete an Amazon FSx for NetApp ONTAP file system, first delete all the volumes and SVMs on the file system. Then provide a FileSystemId value to the DeleFileSystem operation.

By default, when you delete an Amazon FSx for Windows File Server file system, a final backup is created upon deletion. This final backup is not subject to the file system's retention policy, and must be manually deleted.

The DeleteFileSystem action returns while the file system has the DELETING status. You can check the file system deletion status by calling the DescribeFileSystems action, which returns a list of file systems in your account. If you pass the file system ID for a deleted file system, the DescribeFileSystems returns a FileSystemNotFound error.

Deleting an Amazon FSx for Lustre file system will fail with a 400 BadRequest if a data repository task is in a PENDING or EXECUTING state.

The data in a deleted file system is also deleted and can't be recovered by any means.

", + "DeleteBackup": "

Deletes an Amazon FSx backup. After deletion, the backup no longer exists, and its data is gone.

The DeleteBackup call returns instantly. The backup won't show up in later DescribeBackups calls.

The data in a deleted backup is also deleted and can't be recovered by any means.

", + "DeleteDataRepositoryAssociation": "

Deletes a data repository association on an Amazon FSx for Lustre file system. Deleting the data repository association unlinks the file system from the Amazon S3 bucket. When deleting a data repository association, you have the option of deleting the data in the file system that corresponds to the data repository association. Data repository associations are supported only for file systems with the Persistent_2 deployment type.

", + "DeleteFileSystem": "

Deletes a file system. After deletion, the file system no longer exists, and its data is gone. Any existing automatic backups and snapshots are also deleted.

To delete an Amazon FSx for NetApp ONTAP file system, first delete all the volumes and storage virtual machines (SVMs) on the file system. Then provide a FileSystemId value to the DeleFileSystem operation.

By default, when you delete an Amazon FSx for Windows File Server file system, a final backup is created upon deletion. This final backup isn't subject to the file system's retention policy, and must be manually deleted.

The DeleteFileSystem operation returns while the file system has the DELETING status. 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 the file system ID for a deleted file system, the DescribeFileSystems operation returns a FileSystemNotFound error.

If a data repository task is in a PENDING or EXECUTING state, deleting an Amazon FSx for Lustre file system will fail with an HTTP status code 400 (Bad Request).

The data in a deleted file system is also deleted and can't be recovered by any means.

", + "DeleteSnapshot": "

Deletes the Amazon FSx snapshot. After deletion, the snapshot no longer exists, and its data is gone. Deleting a snapshot doesn't affect snapshots stored in a file system backup.

The DeleteSnapshot operation returns instantly. The snapshot appears with the lifecycle status of DELETING until the deletion is complete.

", "DeleteStorageVirtualMachine": "

Deletes an existing Amazon FSx for ONTAP storage virtual machine (SVM). Prior to deleting an SVM, you must delete all non-root volumes in the SVM, otherwise the operation will fail.

", - "DeleteVolume": "

Deletes an Amazon FSx for NetApp ONTAP volume. When deleting a volume, you have the option of creating a final backup. If you create a final backup, you have the option to apply Tags to the backup. You need to have fsx:TagResource permission in order to apply tags to the backup.

", - "DescribeBackups": "

Returns the description of specific Amazon FSx backups, if a BackupIds value is provided for that backup. Otherwise, it returns all backups owned by your Amazon Web Services account in the Amazon Web Services Region of the endpoint that you're calling.

When retrieving all backups, you can optionally specify the MaxResults parameter to limit the number of backups in a response. If more backups remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response.

This action is used in an iterative process to retrieve a list of your backups. DescribeBackups is called first without a NextTokenvalue. Then the action continues to be called with the NextToken parameter set to the value of the last NextToken value until a response has no NextToken.

When using this action, keep the following in mind:

", + "DeleteVolume": "

Deletes an Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS volume.

", + "DescribeBackups": "

Returns the description of a specific Amazon FSx backup, if a BackupIds value is provided for that backup. Otherwise, it returns all backups owned by your Amazon Web Services account in the Amazon Web Services Region of the endpoint that you're calling.

When retrieving all backups, you can optionally specify the MaxResults parameter to limit the number of backups in a response. If more backups remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of the NextToken value from the last response.

This operation is used in an iterative process to retrieve a list of your backups. DescribeBackups is called first without a NextToken value. Then the operation continues to be called with the NextToken parameter set to the value of the last NextToken value until a response has no NextToken value.

When using this operation, keep the following in mind:

", + "DescribeDataRepositoryAssociations": "

Returns the description of specific Amazon FSx for Lustre data repository associations, if one or more AssociationIds values are provided in the request, or if filters are used in the request. Data repository associations are supported only for file systems with the Persistent_2 deployment type.

You can use filters to narrow the response to include just data repository associations for specific file systems (use the file-system-id filter with the ID of the file system) or data repository associations for a specific repository type (use the data-repository-type filter with a value of S3). If you don't use filters, the response returns all data repository associations owned by your Amazon Web Services account in the Amazon Web Services Region of the endpoint that you're calling.

When retrieving all data repository associations, you can paginate the response by using the optional MaxResults parameter to limit the number of data repository associations returned in a response. If more data repository associations remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response.

", "DescribeDataRepositoryTasks": "

Returns the description of specific Amazon FSx for Lustre data repository tasks, if one or more TaskIds values are provided in the request, or if filters are used in the request. You can use filters to narrow the response to include just tasks for specific file systems, or tasks in a specific lifecycle state. Otherwise, it returns all data repository tasks owned by your Amazon Web Services account in the Amazon Web Services Region of the endpoint that you're calling.

When retrieving all tasks, you can paginate the response by using the optional MaxResults parameter to limit the number of tasks returned in a response. If more tasks remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response.

", "DescribeFileSystemAliases": "

Returns the DNS aliases that are associated with the specified Amazon FSx for Windows File Server file system. A history of all DNS aliases that have been associated with and disassociated from the file system is available in the list of AdministrativeAction provided in the DescribeFileSystems operation response.

", - "DescribeFileSystems": "

Returns the description of specific Amazon FSx file systems, if a FileSystemIds value is provided for that file system. Otherwise, it returns descriptions of all file systems owned by your Amazon Web Services account in the Amazon Web Services Region of the endpoint that you're calling.

When retrieving all file system descriptions, you can optionally specify the MaxResults parameter to limit the number of descriptions in a response. If more file system descriptions remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response.

This action is used in an iterative process to retrieve a list of your file system descriptions. DescribeFileSystems is called first without a NextTokenvalue. Then the action continues to be called with the NextToken parameter set to the value of the last NextToken value until a response has no NextToken.

When using this action, keep the following in mind:

", + "DescribeFileSystems": "

Returns the description of specific Amazon FSx file systems, if a FileSystemIds value is provided for that file system. Otherwise, it returns descriptions of all file systems owned by your Amazon Web Services account in the Amazon Web Services Region of the endpoint that you're calling.

When retrieving all file system descriptions, you can optionally specify the MaxResults parameter to limit the number of descriptions in a response. If more file system descriptions remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response.

This operation is used in an iterative process to retrieve a list of your file system descriptions. DescribeFileSystems is called first without a NextTokenvalue. Then the operation continues to be called with the NextToken parameter set to the value of the last NextToken value until a response has no NextToken.

When using this operation, keep the following in mind:

", + "DescribeSnapshots": "

Returns the description of specific Amazon FSx snapshots, if a SnapshotIds value is provided. Otherwise, this operation returns all snapshots owned by your Amazon Web Services account in the Amazon Web Services Region of the endpoint that you're calling.

When retrieving all snapshots, you can optionally specify the MaxResults parameter to limit the number of snapshots in a response. If more backups remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response.

Use this operation in an iterative process to retrieve a list of your snapshots. DescribeSnapshots is called first without a NextToken value. Then the operation continues to be called with the NextToken parameter set to the value of the last NextToken value until a response has no NextToken value.

When using this operation, keep the following in mind:

", "DescribeStorageVirtualMachines": "

Describes one or more Amazon FSx for NetApp ONTAP storage virtual machines (SVMs).

", - "DescribeVolumes": "

Describes one or more Amazon FSx for NetApp ONTAP volumes.

", + "DescribeVolumes": "

Describes one or more Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS volumes.

", "DisassociateFileSystemAliases": "

Use this action to disassociate, or remove, one or more Domain Name Service (DNS) aliases from an Amazon FSx for Windows File Server file system. If you attempt to disassociate a DNS alias that is not associated with the file system, Amazon FSx responds with a 400 Bad Request. For more information, see Working with DNS Aliases.

The system generated response showing the DNS aliases that Amazon FSx is attempting to disassociate from the file system. Use the API operation to monitor the status of the aliases Amazon FSx is disassociating with the file system.

", "ListTagsForResource": "

Lists tags for an Amazon FSx file systems and backups in the case of Amazon FSx for Windows File Server.

When retrieving all tags, you can optionally specify the MaxResults parameter to limit the number of tags in a response. If more tags remain, Amazon FSx returns a NextToken value in the response. In this case, send a later request with the NextToken request parameter set to the value of NextToken from the last response.

This action is used in an iterative process to retrieve a list of your tags. ListTagsForResource is called first without a NextTokenvalue. Then the action continues to be called with the NextToken parameter set to the value of the last NextToken value until a response has no NextToken.

When using this action, keep the following in mind:

", + "ReleaseFileSystemNfsV3Locks": "

Releases the file system lock from an Amazon FSx for OpenZFS file system.

", + "RestoreVolumeFromSnapshot": "

Returns an Amazon FSx for OpenZFS volume to the state saved by the specified snapshot.

", "TagResource": "

Tags an Amazon FSx resource.

", "UntagResource": "

This action removes a tag from an Amazon FSx resource.

", - "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:

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

", + "UpdateSnapshot": "

Updates the name of a snapshot.

", "UpdateStorageVirtualMachine": "

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

", - "UpdateVolume": "

Updates an Amazon FSx for NetApp ONTAP volume's configuration.

" + "UpdateVolume": "

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

" }, "shapes": { "AWSAccountId": { @@ -39,9 +49,9 @@ } }, "ActiveDirectoryBackupAttributes": { - "base": "

The Microsoft AD attributes of the Amazon FSx for Windows File Server file system.

", + "base": "

The Microsoft Active Directory attributes of the Amazon FSx for Windows File Server file system.

", "refs": { - "Backup$DirectoryInformation": "

The configuration of the self-managed Microsoft Active Directory (AD) to which the Windows File Server instance is joined.

" + "Backup$DirectoryInformation": "

The configuration of the self-managed Microsoft Active Directory directory to which the Windows File Server instance is joined.

" } }, "ActiveDirectoryError": { @@ -58,7 +68,7 @@ "ActiveDirectoryFullyQualifiedName": { "base": null, "refs": { - "ActiveDirectoryBackupAttributes$DomainName": "

The fully qualified domain name of the self-managed AD directory.

", + "ActiveDirectoryBackupAttributes$DomainName": "

The fully qualified domain name of the self-managed Active Directory directory.

", "SelfManagedActiveDirectoryAttributes$DomainName": "

The fully qualified domain name of the self-managed AD directory.

", "SelfManagedActiveDirectoryConfiguration$DomainName": "

The fully qualified domain name of the self-managed AD directory, such as corp.example.com.

" } @@ -66,14 +76,14 @@ "AdminPassword": { "base": null, "refs": { - "CreateFileSystemOntapConfiguration$FsxAdminPassword": "

The ONTAP administrative password for the fsxadmin user that you can use to administer your file system using the ONTAP CLI and REST API.

", + "CreateFileSystemOntapConfiguration$FsxAdminPassword": "

The ONTAP administrative password for the fsxadmin user with which you administer your file system using the NetApp ONTAP CLI and REST API.

", "CreateStorageVirtualMachineRequest$SvmAdminPassword": "

The password to use when managing the SVM using the NetApp ONTAP CLI or REST API. If you do not specify a password, you can still use the file system's fsxadmin user to manage the SVM.

", "UpdateFileSystemOntapConfiguration$FsxAdminPassword": "

The ONTAP administrative password for the fsxadmin user.

", "UpdateStorageVirtualMachineRequest$SvmAdminPassword": "

Enter a new SvmAdminPassword if you are updating it.

" } }, "AdministrativeAction": { - "base": "

Describes a specific Amazon FSx administrative action for the current Windows or Lustre file system.

", + "base": "

Describes a specific Amazon FSx administrative action for the current Windows, Lustre, or OpenZFS file system.

", "refs": { "AdministrativeActions$member": null } @@ -85,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 } @@ -93,7 +103,9 @@ "AdministrativeActions": { "base": null, "refs": { - "FileSystem$AdministrativeActions": "

A list of administrative actions for the file system that are in process or waiting to be processed. Administrative actions describe changes to the Amazon FSx file system that you have initiated using the UpdateFileSystem action.

" + "FileSystem$AdministrativeActions": "

A list of administrative actions for the file system that are in process or waiting to be processed. Administrative actions describe changes to the Amazon FSx system that you have initiated using the UpdateFileSystem operation.

", + "Snapshot$AdministrativeActions": "

A list of administrative actions for the file system that are in process or waiting to be processed. Administrative actions describe changes to the Amazon FSx system.

", + "Volume$AdministrativeActions": "

A list of administrative actions for the file system that are in process or waiting to be processed. Administrative actions describe changes to the Amazon FSx system that you initiated.

" } }, "Alias": { @@ -136,8 +148,10 @@ "base": null, "refs": { "CompletionReport$Path": "

Required if Enabled is set to true. Specifies the location of the report on the file system's linked S3 data repository. An absolute path that defines where the completion report will be stored in the destination location. The Path you provide must be located within the file system’s ExportPath. An example Path value is \"s3://myBucket/myExportPath/optionalPrefix\". The report provides the following information for each file in the report: FilePath, FileStatus, and ErrorCode. To learn more about a file system's ExportPath, see .

", - "CreateFileSystemLustreConfiguration$ImportPath": "

(Optional) The path to the Amazon S3 bucket (including the optional prefix) that you're using as the data repository for your Amazon FSx for Lustre file system. The root of your FSx for Lustre file system will be mapped to the root of the Amazon S3 bucket you select. An example is s3://import-bucket/optional-prefix. If you specify a prefix after the Amazon S3 bucket name, only object keys with that prefix are loaded into the file system.

", - "CreateFileSystemLustreConfiguration$ExportPath": "

(Optional) The path in Amazon S3 where the root of your Amazon FSx file system is exported. The path must use the same Amazon S3 bucket as specified in ImportPath. You can provide an optional prefix to which new and changed data is to be exported from your Amazon FSx for Lustre file system. If an ExportPath value is not provided, Amazon FSx sets a default export path, s3://import-bucket/FSxLustre[creation-timestamp]. The timestamp is in UTC format, for example s3://import-bucket/FSxLustre20181105T222312Z.

The Amazon S3 export bucket must be the same as the import bucket specified by ImportPath. If you only specify a bucket name, such as s3://import-bucket, you get a 1:1 mapping of file system objects to S3 bucket objects. This mapping means that the input data in S3 is overwritten on export. If you provide a custom prefix in the export path, such as s3://import-bucket/[custom-optional-prefix], Amazon FSx exports the contents of your file system to that export prefix in the Amazon S3 bucket.

", + "CreateDataRepositoryAssociationRequest$DataRepositoryPath": "

The path to the Amazon S3 data repository that will be linked to the file system. The path can be an S3 bucket or prefix in the format s3://myBucket/myPrefix/. This path specifies where in the S3 data repository files will be imported from or exported to.

", + "CreateFileSystemLustreConfiguration$ImportPath": "

(Optional) The path to the Amazon S3 bucket (including the optional prefix) that you're using as the data repository for your Amazon FSx for Lustre file system. The root of your FSx for Lustre file system will be mapped to the root of the Amazon S3 bucket you select. An example is s3://import-bucket/optional-prefix. If you specify a prefix after the Amazon S3 bucket name, only object keys with that prefix are loaded into the file system.

This parameter is not supported for file systems with the Persistent_2 deployment type. Instead, use CreateDataRepositoryAssociation to create a data repository association to link your Lustre file system to a data repository.

", + "CreateFileSystemLustreConfiguration$ExportPath": "

(Optional) Available with Scratch and Persistent_1 deployment types. Specifies the path in the Amazon S3 bucket where the root of your Amazon FSx file system is exported. The path must use the same Amazon S3 bucket as specified in ImportPath. You can provide an optional prefix to which new and changed data is to be exported from your Amazon FSx for Lustre file system. If an ExportPath value is not provided, Amazon FSx sets a default export path, s3://import-bucket/FSxLustre[creation-timestamp]. The timestamp is in UTC format, for example s3://import-bucket/FSxLustre20181105T222312Z.

The Amazon S3 export bucket must be the same as the import bucket specified by ImportPath. If you specify only a bucket name, such as s3://import-bucket, you get a 1:1 mapping of file system objects to S3 bucket objects. This mapping means that the input data in S3 is overwritten on export. If you provide a custom prefix in the export path, such as s3://import-bucket/[custom-optional-prefix], Amazon FSx exports the contents of your file system to that export prefix in the Amazon S3 bucket.

This parameter is not supported for file systems with the Persistent_2 deployment type. Instead, use CreateDataRepositoryAssociation to create a data repository association to link your Lustre file system to a data repository.

", + "DataRepositoryAssociation$DataRepositoryPath": "

The path to the Amazon S3 data repository that will be linked to the file system. The path can be an S3 bucket or prefix in the format s3://myBucket/myPrefix/. This path specifies where in the S3 data repository files will be imported from or exported to.

", "DataRepositoryConfiguration$ImportPath": "

The import path to the Amazon S3 bucket (and optional prefix) that you're using as the data repository for your FSx for Lustre file system, for example s3://import-bucket/optional-prefix. If a prefix is specified after the Amazon S3 bucket name, only object keys with that prefix are loaded into the file system.

", "DataRepositoryConfiguration$ExportPath": "

The export path to the Amazon S3 bucket (and prefix) that you are using to store new and changed Lustre file system files in S3.

" } @@ -152,30 +166,45 @@ "refs": { } }, + "AutoExportPolicy": { + "base": "

Describes a data repository association's automatic export policy. The AutoExportPolicy defines the types of updated objects on the file system that will be automatically exported to the data repository. As you create, modify, or delete files, Amazon FSx automatically exports the defined changes asynchronously once your application finishes modifying the file.

This AutoExportPolicy is supported only for file systems with the Persistent_2 deployment type.

", + "refs": { + "S3DataRepositoryConfiguration$AutoExportPolicy": "

Specifies the type of updated objects (new, changed, deleted) that will be automatically exported from your file system to the linked S3 bucket.

" + } + }, + "AutoImportPolicy": { + "base": "

Describes the data repository association's automatic import policy. The AutoImportPolicy defines how Amazon FSx keeps your file metadata and directory listings up to date by importing changes to your file system as you modify objects in a linked S3 bucket.

This AutoImportPolicy is supported only for file systems with the Persistent_2 deployment type.

", + "refs": { + "S3DataRepositoryConfiguration$AutoImportPolicy": "

Specifies the type of updated objects (new, changed, deleted) that will be automatically imported from the linked S3 bucket to your file system.

" + } + }, "AutoImportPolicyType": { "base": null, "refs": { - "CreateFileSystemLustreConfiguration$AutoImportPolicy": "

(Optional) When you create your file system, your existing S3 objects appear as file and directory listings. Use this property to choose how Amazon FSx keeps your file and directory listings up to date as you add or modify objects in your linked S3 bucket. AutoImportPolicy can have the following values:

For more information, see Automatically import updates from your S3 bucket.

", - "DataRepositoryConfiguration$AutoImportPolicy": "

Describes the file system's linked S3 data repository's AutoImportPolicy. The AutoImportPolicy configures how Amazon FSx keeps your file and directory listings up to date as you add or modify objects in your linked S3 bucket. AutoImportPolicy can have the following values:

For more information, see Automatically import updates from your S3 bucket.

", - "UpdateFileSystemLustreConfiguration$AutoImportPolicy": "

(Optional) When you create your file system, your existing S3 objects appear as file and directory listings. Use this property to choose how Amazon FSx keeps your file and directory listing up to date as you add or modify objects in your linked S3 bucket. AutoImportPolicy can have the following values:

For more information, see Automatically import updates from your S3 bucket.

" + "CreateFileSystemLustreConfiguration$AutoImportPolicy": "

(Optional) Available with Scratch and Persistent_1 deployment types. When you create your file system, your existing S3 objects appear as file and directory listings. Use this property to choose how Amazon FSx keeps your file and directory listings up to date as you add or modify objects in your linked S3 bucket. AutoImportPolicy can have the following values:

For more information, see Automatically import updates from your S3 bucket.

This parameter is not supported for file systems with the Persistent_2 deployment type. Instead, use CreateDataRepositoryAssociation\" to create a data repository association to link your Lustre file system to a data repository.

", + "DataRepositoryConfiguration$AutoImportPolicy": "

Describes the file system's linked S3 data repository's AutoImportPolicy. The AutoImportPolicy configures how Amazon FSx keeps your file and directory listings up to date as you add or modify objects in your linked S3 bucket. AutoImportPolicy can have the following values:

", + "UpdateFileSystemLustreConfiguration$AutoImportPolicy": "

(Optional) When you create your file system, your existing S3 objects appear as file and directory listings. Use this property to choose how Amazon FSx keeps your file and directory listing up to date as you add or modify objects in your linked S3 bucket. AutoImportPolicy can have the following values:

The AutoImportPolicy parameter is not supported for Lustre file systems with the Persistent_2 deployment type. Instead, use to update a data repository association on your Persistent_2 file system.

" } }, "AutomaticBackupRetentionDays": { - "base": "

The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. The default is 0.

", + "base": "

The number of days to retain automatic backups. Setting this property to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days. The default is 0.

", "refs": { "CreateFileSystemLustreConfiguration$AutomaticBackupRetentionDays": null, "CreateFileSystemOntapConfiguration$AutomaticBackupRetentionDays": null, + "CreateFileSystemOpenZFSConfiguration$AutomaticBackupRetentionDays": null, "CreateFileSystemWindowsConfiguration$AutomaticBackupRetentionDays": "

The number of days to retain automatic backups. The default is to retain backups for 7 days. Setting this value to 0 disables the creation of automatic backups. The maximum retention period for backups is 90 days.

", "LustreFileSystemConfiguration$AutomaticBackupRetentionDays": null, "OntapFileSystemConfiguration$AutomaticBackupRetentionDays": null, + "OpenZFSFileSystemConfiguration$AutomaticBackupRetentionDays": null, "UpdateFileSystemLustreConfiguration$AutomaticBackupRetentionDays": null, "UpdateFileSystemOntapConfiguration$AutomaticBackupRetentionDays": null, + "UpdateFileSystemOpenZFSConfiguration$AutomaticBackupRetentionDays": null, "UpdateFileSystemWindowsConfiguration$AutomaticBackupRetentionDays": "

The number of days to retain automatic daily backups. Setting this to zero (0) disables automatic daily backups. You can retain automatic daily backups for a maximum of 90 days. For more information, see Working with Automatic Daily Backups.

", "WindowsFileSystemConfiguration$AutomaticBackupRetentionDays": "

The number of days to retain automatic backups. Setting this to 0 disables automatic backups. You can retain automatic backups for a maximum of 90 days.

" } }, "Backup": { - "base": "

A backup of an Amazon FSx for Windows File Server or Amazon FSx for Lustre file system, or of an Amazon FSx for NetApp ONTAP volume.

", + "base": "

A backup of an Amazon FSx for Windows File Server, Amazon FSx for Lustre file system, Amazon FSx for NetApp ONTAP volume, or Amazon FSx for OpenZFS file system.

", "refs": { "Backups$member": null, "CopyBackupResponse$Backup": null, @@ -190,11 +219,11 @@ "BackupFailureDetails": { "base": "

If backup creation fails, this structure contains the details of that failure.

", "refs": { - "Backup$FailureDetails": "

Details explaining any failures that occur when creating a backup.

" + "Backup$FailureDetails": "

Details explaining any failures that occurred when creating a backup.

" } }, "BackupId": { - "base": "

The ID of the source backup. Specifies the backup you are copying.

", + "base": "

The ID of the source backup. Specifies the backup that you are copying.

", "refs": { "Backup$BackupId": "

The ID of the backup.

", "Backup$SourceBackupId": null, @@ -202,9 +231,10 @@ "BackupIds$member": null, "CreateFileSystemFromBackupRequest$BackupId": null, "CreateVolumeFromBackupRequest$BackupId": null, - "DeleteBackupRequest$BackupId": "

The ID of the backup you want to delete.

", - "DeleteBackupResponse$BackupId": "

The ID of the backup deleted.

", + "DeleteBackupRequest$BackupId": "

The ID of the backup that you want to delete.

", + "DeleteBackupResponse$BackupId": "

The ID of the backup that was deleted.

", "DeleteFileSystemLustreResponse$FinalBackupId": "

The ID of the final backup for this file system.

", + "DeleteFileSystemOpenZFSResponse$FinalBackupId": null, "DeleteFileSystemWindowsResponse$FinalBackupId": "

The ID of the final backup for this file system.

", "DeleteVolumeOntapResponse$FinalBackupId": null, "SourceBackupUnavailable$BackupId": null @@ -213,7 +243,7 @@ "BackupIds": { "base": "

A list of backup IDs.

", "refs": { - "DescribeBackupsRequest$BackupIds": "

IDs of the backups you want to retrieve (String). This overrides any filters. If any IDs are not found, BackupNotFound will be thrown.

" + "DescribeBackupsRequest$BackupIds": "

The IDs of the backups that you want to retrieve. This parameter value overrides any filters. If any IDs aren't found, a BackupNotFound error occurs.

" } }, "BackupInProgress": { @@ -222,10 +252,10 @@ } }, "BackupLifecycle": { - "base": "

The lifecycle status of the backup.

", + "base": "

The lifecycle status of the backup.

", "refs": { - "Backup$Lifecycle": "

The lifecycle status of the backup.

", - "DeleteBackupResponse$Lifecycle": "

The lifecycle of the backup. Should be DELETED.

" + "Backup$Lifecycle": "

The lifecycle status of the backup.

", + "DeleteBackupResponse$Lifecycle": "

The lifecycle status of the backup. If the DeleteBackup operation is successful, the status is DELETED.

" } }, "BackupNotFound": { @@ -241,7 +271,7 @@ "BackupType": { "base": "

The type of the backup.

", "refs": { - "Backup$Type": "

The type of the file system backup.

" + "Backup$Type": "

The type of the file-system backup.

" } }, "Backups": { @@ -255,6 +285,13 @@ "refs": { } }, + "BatchImportMetaDataOnCreate": { + "base": null, + "refs": { + "CreateDataRepositoryAssociationRequest$BatchImportMetaDataOnCreate": "

Set to true to run an import data repository task to import metadata from the data repository to the file system after the data repository association is created. Default is false.

", + "DataRepositoryAssociation$BatchImportMetaDataOnCreate": "

A boolean flag indicating whether an import data repository task to import metadata should run after the data repository association is created. The task runs if this flag is set to true.

" + } + }, "CancelDataRepositoryTaskRequest": { "base": "

Cancels a data repository task.

", "refs": { @@ -271,19 +308,27 @@ "AssociateFileSystemAliasesRequest$ClientRequestToken": null, "CopyBackupRequest$ClientRequestToken": null, "CreateBackupRequest$ClientRequestToken": "

(Optional) A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

", + "CreateDataRepositoryAssociationRequest$ClientRequestToken": null, "CreateDataRepositoryTaskRequest$ClientRequestToken": null, "CreateFileSystemFromBackupRequest$ClientRequestToken": "

A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

", "CreateFileSystemRequest$ClientRequestToken": "

A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent creation. This string is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

", + "CreateSnapshotRequest$ClientRequestToken": null, "CreateStorageVirtualMachineRequest$ClientRequestToken": null, "CreateVolumeFromBackupRequest$ClientRequestToken": null, "CreateVolumeRequest$ClientRequestToken": null, - "DeleteBackupRequest$ClientRequestToken": "

A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent deletion. This is automatically filled on your behalf when using the CLI or SDK.

", - "DeleteFileSystemRequest$ClientRequestToken": "

A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent deletion. This is automatically filled on your behalf when using the Command Line Interface (CLI) or an Amazon Web Services SDK.

", + "DeleteBackupRequest$ClientRequestToken": "

A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent deletion. This parameter is automatically filled on your behalf when using the CLI or SDK.

", + "DeleteDataRepositoryAssociationRequest$ClientRequestToken": null, + "DeleteFileSystemRequest$ClientRequestToken": "

A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent deletion. This token is automatically filled on your behalf when using the Command Line Interface (CLI) or an Amazon Web Services SDK.

", + "DeleteSnapshotRequest$ClientRequestToken": null, "DeleteStorageVirtualMachineRequest$ClientRequestToken": null, "DeleteVolumeRequest$ClientRequestToken": null, "DescribeFileSystemAliasesRequest$ClientRequestToken": null, "DisassociateFileSystemAliasesRequest$ClientRequestToken": null, + "ReleaseFileSystemNfsV3LocksRequest$ClientRequestToken": null, + "RestoreVolumeFromSnapshotRequest$ClientRequestToken": null, + "UpdateDataRepositoryAssociationRequest$ClientRequestToken": null, "UpdateFileSystemRequest$ClientRequestToken": "

A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent updates. This string is automatically filled on your behalf when you use the Command Line Interface (CLI) or an Amazon Web Services SDK.

", + "UpdateSnapshotRequest$ClientRequestToken": null, "UpdateStorageVirtualMachineRequest$ClientRequestToken": null, "UpdateVolumeRequest$ClientRequestToken": null } @@ -321,6 +366,16 @@ "refs": { } }, + "CreateDataRepositoryAssociationRequest": { + "base": null, + "refs": { + } + }, + "CreateDataRepositoryAssociationResponse": { + "base": null, + "refs": { + } + }, "CreateDataRepositoryTaskRequest": { "base": null, "refs": { @@ -342,18 +397,25 @@ } }, "CreateFileSystemLustreConfiguration": { - "base": "

The Lustre configuration for the file system being created.

", + "base": "

The Lustre configuration for the file system being created.

The following parameters are not supported for file systems with the Persistent_2 deployment type. Instead, use CreateDataRepositoryAssociation to create a data repository association to link your Lustre file system to a data repository.

", "refs": { "CreateFileSystemFromBackupRequest$LustreConfiguration": null, "CreateFileSystemRequest$LustreConfiguration": null } }, "CreateFileSystemOntapConfiguration": { - "base": "

The ONTAP configuration properties of the FSx for NetApp ONTAP file system that you are creating.

", + "base": "

The ONTAP configuration properties of the FSx for ONTAP file system that you are creating.

", "refs": { "CreateFileSystemRequest$OntapConfiguration": null } }, + "CreateFileSystemOpenZFSConfiguration": { + "base": "

The OpenZFS configuration properties for the file system that you are creating.

", + "refs": { + "CreateFileSystemFromBackupRequest$OpenZFSConfiguration": "

The OpenZFS configuration for the file system that's being created.

", + "CreateFileSystemRequest$OpenZFSConfiguration": "

The OpenZFS configuration for the file system that's being created.

" + } + }, "CreateFileSystemRequest": { "base": "

The request object used to create a new Amazon FSx file system.

", "refs": { @@ -368,14 +430,36 @@ "base": "

The configuration object for the Microsoft Windows file system used in CreateFileSystem and CreateFileSystemFromBackup operations.

", "refs": { "CreateFileSystemFromBackupRequest$WindowsConfiguration": "

The configuration for this Microsoft Windows file system.

", - "CreateFileSystemRequest$WindowsConfiguration": "

The Microsoft Windows configuration for the file system being created.

" + "CreateFileSystemRequest$WindowsConfiguration": "

The Microsoft Windows configuration for the file system that's being created.

" } }, "CreateOntapVolumeConfiguration": { "base": "

Specifies the configuration of the ONTAP volume that you are creating.

", "refs": { "CreateVolumeFromBackupRequest$OntapConfiguration": "

Specifies the configuration of the ONTAP volume that you are creating.

", - "CreateVolumeRequest$OntapConfiguration": "

Specifies the ONTAP configuration to use in creating the volume.

" + "CreateVolumeRequest$OntapConfiguration": "

Specifies the configuration to use when creating the ONTAP volume.

" + } + }, + "CreateOpenZFSOriginSnapshotConfiguration": { + "base": "

The snapshot configuration to use when creating an OpenZFS volume from a snapshot.

", + "refs": { + "CreateOpenZFSVolumeConfiguration$OriginSnapshot": "

The configuration object that specifies the snapshot to use as the origin of the data for the volume.

" + } + }, + "CreateOpenZFSVolumeConfiguration": { + "base": "

Specifies the configuration of the OpenZFS volume that you are creating.

", + "refs": { + "CreateVolumeRequest$OpenZFSConfiguration": "

Specifies the configuration to use when creating the OpenZFS volume.

" + } + }, + "CreateSnapshotRequest": { + "base": null, + "refs": { + } + }, + "CreateSnapshotResponse": { + "base": null, + "refs": { } }, "CreateStorageVirtualMachineRequest": { @@ -418,8 +502,10 @@ "base": "

The time that the resource was created, in seconds (since 1970-01-01T00:00:00Z), also known as Unix time.

", "refs": { "Backup$CreationTime": "

The time when a particular backup was created.

", + "DataRepositoryAssociation$CreationTime": null, "DataRepositoryTask$CreationTime": null, "FileSystem$CreationTime": "

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

", + "Snapshot$CreationTime": null, "StorageVirtualMachine$CreationTime": null, "Volume$CreationTime": null } @@ -427,7 +513,7 @@ "DNSName": { "base": "

The Domain Name Service (DNS) name for the file system. You can mount your file system using its DNS name.

", "refs": { - "FileSystem$DNSName": "

The DNS name for the file system.

", + "FileSystem$DNSName": "

The Domain Name System (DNS) name for the file system.

", "FileSystemEndpoint$DNSName": null, "SvmEndpoint$DNSName": null, "WindowsFileSystemConfiguration$RemoteAdministrationEndpoint": "

For MULTI_AZ_1 deployment types, use this endpoint when performing administrative tasks on the file system using Amazon FSx Remote PowerShell.

For SINGLE_AZ_1 and SINGLE_AZ_2 deployment types, this is the DNS name of the file system.

This endpoint is temporarily unavailable when the file system is undergoing maintenance.

" @@ -438,11 +524,14 @@ "refs": { "CreateFileSystemLustreConfiguration$DailyAutomaticBackupStartTime": null, "CreateFileSystemOntapConfiguration$DailyAutomaticBackupStartTime": null, + "CreateFileSystemOpenZFSConfiguration$DailyAutomaticBackupStartTime": null, "CreateFileSystemWindowsConfiguration$DailyAutomaticBackupStartTime": "

The preferred time to take daily automatic backups, formatted HH:MM in the UTC time zone.

", "LustreFileSystemConfiguration$DailyAutomaticBackupStartTime": null, "OntapFileSystemConfiguration$DailyAutomaticBackupStartTime": null, + "OpenZFSFileSystemConfiguration$DailyAutomaticBackupStartTime": null, "UpdateFileSystemLustreConfiguration$DailyAutomaticBackupStartTime": null, "UpdateFileSystemOntapConfiguration$DailyAutomaticBackupStartTime": null, + "UpdateFileSystemOpenZFSConfiguration$DailyAutomaticBackupStartTime": null, "UpdateFileSystemWindowsConfiguration$DailyAutomaticBackupStartTime": "

The preferred time to start the daily automatic backup, in the UTC time zone, for example, 02:00

", "WindowsFileSystemConfiguration$DailyAutomaticBackupStartTime": "

The preferred time to take daily automatic backups, in the UTC time zone.

" } @@ -450,31 +539,69 @@ "DataCompressionType": { "base": null, "refs": { - "CreateFileSystemLustreConfiguration$DataCompressionType": "

Sets the data compression configuration for the file system. DataCompressionType can have the following values:

For more information, see Lustre data compression.

", + "CreateFileSystemLustreConfiguration$DataCompressionType": "

Sets the data compression configuration for the file system. DataCompressionType can have the following values:

For more information, see Lustre data compression in the Amazon FSx for Lustre User Guide.

", "LustreFileSystemConfiguration$DataCompressionType": "

The data compression configuration for the file system. DataCompressionType can have the following values:

For more information, see Lustre data compression.

", "UpdateFileSystemLustreConfiguration$DataCompressionType": "

Sets the data compression configuration for the file system. DataCompressionType can have the following values:

If you don't use DataCompressionType, the file system retains its current data compression configuration.

For more information, see Lustre data compression.

" } }, + "DataRepositoryAssociation": { + "base": "

The configuration of a data repository association that links an Amazon FSx for Lustre file system to an Amazon S3 bucket. The data repository association configuration object is returned in the response of the following operations:

Data repository associations are supported only for file systems with the Persistent_2 deployment type.

", + "refs": { + "CreateDataRepositoryAssociationResponse$Association": "

The response object returned after the data repository association is created.

", + "DataRepositoryAssociations$member": null, + "UpdateDataRepositoryAssociationResponse$Association": "

The response object returned after the data repository association is updated.

" + } + }, + "DataRepositoryAssociationId": { + "base": null, + "refs": { + "DataRepositoryAssociation$AssociationId": "

The system-generated, unique ID of the data repository association.

", + "DataRepositoryAssociationIds$member": null, + "DeleteDataRepositoryAssociationRequest$AssociationId": "

The ID of the data repository association that you want to delete.

", + "DeleteDataRepositoryAssociationResponse$AssociationId": "

The ID of the data repository association being deleted.

", + "UpdateDataRepositoryAssociationRequest$AssociationId": "

The ID of the data repository association that you are updating.

" + } + }, + "DataRepositoryAssociationIds": { + "base": null, + "refs": { + "DescribeDataRepositoryAssociationsRequest$AssociationIds": "

IDs of the data repository associations whose descriptions you want to retrieve (String).

" + } + }, + "DataRepositoryAssociationNotFound": { + "base": "

No data repository associations were found based upon the supplied parameters.

", + "refs": { + } + }, + "DataRepositoryAssociations": { + "base": null, + "refs": { + "DescribeDataRepositoryAssociationsResponse$Associations": "

An array of one ore more data repository association descriptions.

" + } + }, "DataRepositoryConfiguration": { - "base": "

The data repository configuration object for Lustre file systems returned in the response of the CreateFileSystem operation.

", + "base": "

The data repository configuration object for Lustre file systems returned in the response of the CreateFileSystem operation.

This data type is not supported for file systems with the Persistent_2 deployment type. Instead, use .

", "refs": { "LustreFileSystemConfiguration$DataRepositoryConfiguration": null } }, "DataRepositoryFailureDetails": { - "base": "

Provides detailed information about the data respository if its Lifecycle is set to MISCONFIGURED.

", + "base": "

Provides detailed information about the data respository if its Lifecycle is set to MISCONFIGURED or FAILED.

", "refs": { + "DataRepositoryAssociation$FailureDetails": null, "DataRepositoryConfiguration$FailureDetails": null } }, "DataRepositoryLifecycle": { "base": null, "refs": { - "DataRepositoryConfiguration$Lifecycle": "

Describes the state of the file system's S3 durable data repository, if it is configured with an S3 repository. The lifecycle can have the following values:

" + "DataRepositoryAssociation$Lifecycle": "

Describes the state of a data repository association. The lifecycle can have the following values:

", + "DataRepositoryConfiguration$Lifecycle": "

Describes the state of the file system's S3 durable data repository, if it is configured with an S3 repository. The lifecycle can have the following values:

", + "DeleteDataRepositoryAssociationResponse$Lifecycle": "

Describes the lifecycle state of the data repository association being deleted.

" } }, "DataRepositoryTask": { - "base": "

A description of the data repository task. You use data repository tasks to perform bulk transfer operations between your Amazon FSx file system and its linked data repository.

", + "base": "

A description of the data repository task. You use data repository tasks to perform bulk transfer operations between your Amazon FSx file system and a linked data repository.

", "refs": { "CreateDataRepositoryTaskResponse$DataRepositoryTask": "

The description of the data repository task that you just created.

", "DataRepositoryTasks$member": null @@ -561,7 +688,7 @@ "base": null, "refs": { "CreateDataRepositoryTaskRequest$Type": "

Specifies the type of data repository task to create.

", - "DataRepositoryTask$Type": "

The type of data repository task; EXPORT_TO_REPOSITORY is the only type currently supported.

" + "DataRepositoryTask$Type": "

The type of data repository task.

" } }, "DataRepositoryTasks": { @@ -571,12 +698,29 @@ } }, "DeleteBackupRequest": { - "base": "

The request object for DeleteBackup operation.

", + "base": "

The request object for the DeleteBackup operation.

", "refs": { } }, "DeleteBackupResponse": { - "base": "

The response object for DeleteBackup operation.

", + "base": "

The response object for the DeleteBackup operation.

", + "refs": { + } + }, + "DeleteDataInFileSystem": { + "base": null, + "refs": { + "DeleteDataRepositoryAssociationRequest$DeleteDataInFileSystem": "

Set to true to delete the data in the file system that corresponds to the data repository association.

", + "DeleteDataRepositoryAssociationResponse$DeleteDataInFileSystem": "

Indicates whether data in the file system that corresponds to the data repository association is being deleted. Default is false.

" + } + }, + "DeleteDataRepositoryAssociationRequest": { + "base": null, + "refs": { + } + }, + "DeleteDataRepositoryAssociationResponse": { + "base": null, "refs": { } }, @@ -592,6 +736,18 @@ "DeleteFileSystemResponse$LustreResponse": null } }, + "DeleteFileSystemOpenZFSConfiguration": { + "base": "

The configuration object for the OpenZFS file system used in the DeleteFileSystem operation.

", + "refs": { + "DeleteFileSystemRequest$OpenZFSConfiguration": "

The configuration object for the OpenZFS file system used in the DeleteFileSystem operation.

" + } + }, + "DeleteFileSystemOpenZFSResponse": { + "base": "

The response object for the Amazon FSx for OpenZFS file system that's being deleted in the DeleteFileSystem operation.

", + "refs": { + "DeleteFileSystemResponse$OpenZFSResponse": "

The response object for the OpenZFS file system that's being deleted in the DeleteFileSystem operation.

" + } + }, "DeleteFileSystemRequest": { "base": "

The request object for DeleteFileSystem operation.

", "refs": { @@ -614,6 +770,28 @@ "DeleteFileSystemResponse$WindowsResponse": null } }, + "DeleteOpenZFSVolumeOption": { + "base": null, + "refs": { + "DeleteOpenZFSVolumeOptions$member": null + } + }, + "DeleteOpenZFSVolumeOptions": { + "base": null, + "refs": { + "DeleteVolumeOpenZFSConfiguration$Options": "

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

" + } + }, + "DeleteSnapshotRequest": { + "base": null, + "refs": { + } + }, + "DeleteSnapshotResponse": { + "base": null, + "refs": { + } + }, "DeleteStorageVirtualMachineRequest": { "base": null, "refs": { @@ -627,13 +805,19 @@ "DeleteVolumeOntapConfiguration": { "base": "

Use to specify skipping a final backup, or to add tags to a final backup.

", "refs": { - "DeleteVolumeRequest$OntapConfiguration": "

For Amazon FSx for ONTAP volumes, specify whether to take a final backup of the volume, and apply tags to the backup.

" + "DeleteVolumeRequest$OntapConfiguration": "

For Amazon FSx for ONTAP volumes, specify whether to take a final backup of the volume and apply tags to the backup. To apply tags to the backup, you must have the fsx:TagResource permission.

" } }, "DeleteVolumeOntapResponse": { "base": "

The response object for the Amazon FSx for NetApp ONTAP volume being deleted in the DeleteVolume operation.

", "refs": { - "DeleteVolumeResponse$OntapResponse": "

Returned after a DeleteVolume request, showing the status of the delete request.

" + "DeleteVolumeResponse$OntapResponse": "

Returned after a DeleteVolume request, showing the status of the delete request.

" + } + }, + "DeleteVolumeOpenZFSConfiguration": { + "base": "

A value that specifies whether to delete all child volumes and snapshots.

", + "refs": { + "DeleteVolumeRequest$OpenZFSConfiguration": "

For Amazon FSx for OpenZFS volumes, specify whether to delete all child volumes and snapshots.

" } }, "DeleteVolumeRequest": { @@ -647,12 +831,22 @@ } }, "DescribeBackupsRequest": { - "base": "

The request object for DescribeBackups operation.

", + "base": "

The request object for the DescribeBackups operation.

", "refs": { } }, "DescribeBackupsResponse": { - "base": "

Response object for DescribeBackups operation.

", + "base": "

Response object for the DescribeBackups operation.

", + "refs": { + } + }, + "DescribeDataRepositoryAssociationsRequest": { + "base": null, + "refs": { + } + }, + "DescribeDataRepositoryAssociationsResponse": { + "base": null, "refs": { } }, @@ -686,6 +880,16 @@ "refs": { } }, + "DescribeSnapshotsRequest": { + "base": null, + "refs": { + } + }, + "DescribeSnapshotsResponse": { + "base": null, + "refs": { + } + }, "DescribeStorageVirtualMachinesRequest": { "base": null, "refs": { @@ -741,10 +945,13 @@ } }, "DiskIopsConfiguration": { - "base": "

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 the total number of provisioned SSD IOPS and how the amount was provisioned (by the customer or by the system).

", + "base": "

The SSD IOPS (input/output operations per second) configuration for an Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS 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 the total number of provisioned SSD IOPS and how the amount was provisioned (by the customer or by the system).

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

The SSD IOPS configuration for the Amazon FSx for NetApp ONTAP file system.

", - "OntapFileSystemConfiguration$DiskIopsConfiguration": "

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

" + "CreateFileSystemOntapConfiguration$DiskIopsConfiguration": "

The SSD IOPS configuration for the FSx for ONTAP file system.

", + "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, + "UpdateFileSystemOpenZFSConfiguration$DiskIopsConfiguration": null } }, "DiskIopsConfigurationMode": { @@ -764,8 +971,8 @@ "DriveCacheType": { "base": null, "refs": { - "CreateFileSystemLustreConfiguration$DriveCacheType": "

The type of drive cache used by PERSISTENT_1 file systems that are provisioned with HDD storage devices. This parameter is required when storage type is HDD. Set to READ, improve the performance for frequently accessed files and allows 20% of the total storage capacity of the file system to be cached.

This parameter is required when StorageType is set to HDD.

", - "LustreFileSystemConfiguration$DriveCacheType": "

The type of drive cache used by PERSISTENT_1 file systems that are provisioned with HDD storage devices. This parameter is required when storage type is HDD. Set to READ, improve the performance for frequently accessed files and allows 20% of the total storage capacity of the file system to be cached.

This parameter is required when StorageType is set to HDD.

" + "CreateFileSystemLustreConfiguration$DriveCacheType": "

The type of drive cache used by PERSISTENT_1 file systems that are provisioned with HDD storage devices. This parameter is required when storage type is HDD. Set this property to READ to improve the performance for frequently accessed files by caching up to 20% of the total storage capacity of the file system.

This parameter is required when StorageType is set to HDD.

", + "LustreFileSystemConfiguration$DriveCacheType": "

The type of drive cache used by PERSISTENT_1 file systems that are provisioned with HDD storage devices. This parameter is required when StorageType is HDD. When set to READ the file system has an SSD storage cache that is sized to 20% of the file system's storage capacity. This improves the performance for frequently accessed files by caching up to 20% of the total storage capacity.

This parameter is required when StorageType is set to HDD.

" } }, "EndTime": { @@ -780,11 +987,12 @@ "ActiveDirectoryError$Message": null, "AdministrativeActionFailureDetails$Message": "

Error message providing details about the failed administrative action.

", "BackupBeingCopied$Message": null, - "BackupFailureDetails$Message": "

A message describing the backup creation failure.

", + "BackupFailureDetails$Message": "

A message describing the backup-creation failure.

", "BackupInProgress$Message": null, "BackupNotFound$Message": null, "BackupRestoring$Message": null, "BadRequest$Message": null, + "DataRepositoryAssociationNotFound$Message": null, "DataRepositoryFailureDetails$Message": null, "DataRepositoryTaskEnded$Message": null, "DataRepositoryTaskExecuting$Message": null, @@ -795,6 +1003,7 @@ "IncompatibleParameterError$Message": null, "IncompatibleRegionForMultiAZ$Message": null, "InternalServerError$Message": null, + "InvalidDataRepositoryType$Message": null, "InvalidDestinationKmsKey$Message": null, "InvalidExportPath$Message": null, "InvalidImportPath$Message": null, @@ -809,12 +1018,26 @@ "ResourceDoesNotSupportTagging$Message": null, "ResourceNotFound$Message": null, "ServiceLimitExceeded$Message": null, + "SnapshotNotFound$Message": null, "SourceBackupUnavailable$Message": null, "StorageVirtualMachineNotFound$Message": null, "UnsupportedOperation$Message": null, "VolumeNotFound$Message": null } }, + "EventType": { + "base": null, + "refs": { + "EventTypes$member": null + } + }, + "EventTypes": { + "base": null, + "refs": { + "AutoExportPolicy$Events": "

The AutoExportPolicy can have the following event values:

You can define any combination of event types for your AutoExportPolicy.

", + "AutoImportPolicy$Events": "

The AutoImportPolicy can have the following event values:

You can define any combination of event types for your AutoImportPolicy.

" + } + }, "FailedCount": { "base": null, "refs": { @@ -825,10 +1048,11 @@ "base": "

A description of a specific Amazon FSx file system.

", "refs": { "AdministrativeAction$TargetFileSystemValues": "

Describes the target value for the administration action, provided in the UpdateFileSystem operation. Returned for FILE_SYSTEM_UPDATE administrative actions.

", - "Backup$FileSystem": "

Metadata of the file system associated with the backup. This metadata is persisted even if the file system is deleted.

", + "Backup$FileSystem": "

The metadata of the file system associated with the backup. This metadata is persisted even if the file system is deleted.

", "CreateFileSystemFromBackupResponse$FileSystem": "

A description of the file system.

", "CreateFileSystemResponse$FileSystem": "

The configuration of the file system that was created.

", "FileSystems$member": null, + "ReleaseFileSystemNfsV3LocksResponse$FileSystem": null, "UpdateFileSystemResponse$FileSystem": "

A description of the file system that was updated.

" } }, @@ -853,7 +1077,7 @@ } }, "FileSystemFailureDetails": { - "base": "

A structure providing details of any failures that occur when creating the file system has failed.

", + "base": "

A structure providing details of any failures that occurred when creating a file system.

", "refs": { "FileSystem$FailureDetails": null } @@ -864,22 +1088,25 @@ "AssociateFileSystemAliasesRequest$FileSystemId": "

Specifies the file system with which you want to associate one or more DNS aliases.

", "BackupRestoring$FileSystemId": "

The ID of a file system being restored from the backup.

", "CreateBackupRequest$FileSystemId": "

The ID of the file system to back up.

", + "CreateDataRepositoryAssociationRequest$FileSystemId": null, "CreateDataRepositoryTaskRequest$FileSystemId": null, "CreateStorageVirtualMachineRequest$FileSystemId": null, + "DataRepositoryAssociation$FileSystemId": null, "DataRepositoryTask$FileSystemId": null, - "DeleteFileSystemRequest$FileSystemId": "

The ID of the file system you want to delete.

", - "DeleteFileSystemResponse$FileSystemId": "

The ID of the file system being deleted.

", + "DeleteFileSystemRequest$FileSystemId": "

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

", + "DeleteFileSystemResponse$FileSystemId": "

The ID of the file system that's being deleted.

", "DescribeFileSystemAliasesRequest$FileSystemId": "

The ID of the file system to return the associated DNS aliases for (String).

", "DisassociateFileSystemAliasesRequest$FileSystemId": "

Specifies the file system from which to disassociate the DNS aliases.

", "FileSystem$FileSystemId": "

The system-generated, unique 17-digit ID of the file system.

", "FileSystemIds$member": null, + "ReleaseFileSystemNfsV3LocksRequest$FileSystemId": null, "StorageVirtualMachine$FileSystemId": null, - "UpdateFileSystemRequest$FileSystemId": "

Identifies the file system that you are updating.

", + "UpdateFileSystemRequest$FileSystemId": "

The ID of the file system that you are updating.

", "Volume$FileSystemId": null } }, "FileSystemIds": { - "base": "

A list of FileSystemIds.

", + "base": "

A list of file system IDs.

", "refs": { "DescribeFileSystemsRequest$FileSystemIds": "

IDs of the file systems whose descriptions you want to retrieve (String).

" } @@ -887,8 +1114,8 @@ "FileSystemLifecycle": { "base": "

The lifecycle status of the file system.

", "refs": { - "DeleteFileSystemResponse$Lifecycle": "

The file system lifecycle for the deletion request. Should be DELETING.

", - "FileSystem$Lifecycle": "

The lifecycle status of the file system, following are the possible values and what they mean:

" + "DeleteFileSystemResponse$Lifecycle": "

The file system lifecycle for the deletion request. If the DeleteFileSystem operation is successful, this status is DELETING.

", + "FileSystem$Lifecycle": "

The lifecycle status of the file system. The following are the possible values and what they mean:

" } }, "FileSystemMaintenanceOperation": { @@ -911,16 +1138,16 @@ "FileSystemType": { "base": "

The type of file system.

", "refs": { - "CreateFileSystemRequest$FileSystemType": "

The type of Amazon FSx file system to create. Valid values are WINDOWS, LUSTRE, and ONTAP.

", - "FileSystem$FileSystemType": "

The type of Amazon FSx file system, which can be LUSTRE, WINDOWS, or ONTAP.

" + "CreateFileSystemRequest$FileSystemType": "

The type of Amazon FSx file system to create. Valid values are WINDOWS, LUSTRE, ONTAP, and OPENZFS.

", + "FileSystem$FileSystemType": "

The type of Amazon FSx file system, which can be LUSTRE, WINDOWS, ONTAP, or OPENZFS.

" } }, "FileSystemTypeVersion": { "base": null, "refs": { - "CreateFileSystemFromBackupRequest$FileSystemTypeVersion": "

Sets the version for the Amazon FSx for Lustre file system 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": "

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

Default value is 2.10.

", - "FileSystem$FileSystemTypeVersion": "

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

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

" } }, "FileSystems": { @@ -956,23 +1183,34 @@ "Filters": { "base": "

A list of Filter elements.

", "refs": { - "DescribeBackupsRequest$Filters": "

Filters structure. Supported names are file-system-id, backup-type, file-system-type, and volume-id.

" + "DescribeBackupsRequest$Filters": "

The filters structure. The supported names are file-system-id, backup-type, file-system-type, and volume-id.

", + "DescribeDataRepositoryAssociationsRequest$Filters": null } }, "Flag": { "base": null, "refs": { "CompletionReport$Enabled": "

Set Enabled to True to generate a CompletionReport when the task completes. If set to true, then you need to provide a report Scope, Path, and Format. Set Enabled to False if you do not want a CompletionReport generated when the task completes.

", - "CopyBackupRequest$CopyTags": "

A boolean flag indicating whether tags from the source backup should be copied to the backup copy. This value defaults to false.

If you set CopyTags to true and the source backup has existing tags, you can use the Tags parameter to create new tags, provided that the sum of the source backup tags and the new tags doesn't exceed 50. Both sets of tags are merged. If there are tag conflicts (for example, two tags with the same key but different values), the tags created with the Tags parameter take precedence.

", - "CreateFileSystemLustreConfiguration$CopyTagsToBackups": "

(Optional) Not available to use with file systems that are linked to a data repository. A boolean flag indicating whether tags for the file system should be copied to backups. The default value is false. If it's set to true, all file system tags are copied to all automatic and user-initiated backups when the user doesn't specify any backup-specific tags. If this value is true, and you specify one or more backup tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value.

For more information, see Working with backups.

", + "CopyBackupRequest$CopyTags": "

A Boolean flag indicating whether tags from the source backup should be copied to the backup copy. This value defaults to false.

If you set CopyTags to true and the source backup has existing tags, you can use the Tags parameter to create new tags, provided that the sum of the source backup tags and the new tags doesn't exceed 50. Both sets of tags are merged. If there are tag conflicts (for example, two tags with the same key but different values), the tags created with the Tags parameter take precedence.

", + "CreateFileSystemLustreConfiguration$CopyTagsToBackups": "

(Optional) Not available for use with file systems that are linked to a data repository. A boolean flag indicating whether tags for the file system should be copied to backups. The default value is false. If CopyTagsToBackups is set to true, all file system tags are copied to all automatic and user-initiated backups when the user doesn't specify any backup-specific tags. If CopyTagsToBackups is set to true and you specify one or more backup tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value.

(Default = false)

For more information, see Working with backups in the Amazon FSx for Lustre User Guide.

", + "CreateFileSystemOpenZFSConfiguration$CopyTagsToBackups": "

A Boolean value indicating whether tags for the file system should be copied to backups. This value defaults to false. If it's set to true, all tags for the file system are copied to all automatic and user-initiated backups where the user doesn't specify tags. If this value is true, and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value.

", + "CreateFileSystemOpenZFSConfiguration$CopyTagsToVolumes": "

A Boolean value indicating whether tags for the volume should be copied to snapshots. This value defaults to false. If it's set to true, all tags for the volume are copied to snapshots where the user doesn't specify tags. If this value is true, and you specify one or more tags, only the specified tags are copied to snapshots. If you specify one or more tags when creating the snapshot, no tags are copied from the volume, regardless of this value.

", "CreateFileSystemWindowsConfiguration$CopyTagsToBackups": "

A boolean flag indicating whether tags for the file system should be copied to backups. This value defaults to false. If it's set to true, all tags for the file system are copied to all automatic and user-initiated backups where the user doesn't specify tags. If this value is true, and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value.

", "CreateOntapVolumeConfiguration$StorageEfficiencyEnabled": "

Set to true to enable deduplication, compression, and compaction storage efficiency features on the volume.

", - "DeleteFileSystemLustreConfiguration$SkipFinalBackup": "

Set SkipFinalBackup to false if you want to take a final backup of the file system you are deleting. By default, Amazon FSx will not take a final backup on your behalf when the DeleteFileSystem operation is invoked. (Default = true)

", + "CreateOpenZFSVolumeConfiguration$CopyTagsToSnapshots": "

A Boolean value indicating whether tags for the volume should be copied to snapshots. This value defaults to false. If it's set to true, all tags for the volume are copied to snapshots where the user doesn't specify tags. If this value is true, and you specify one or more tags, only the specified tags are copied to snapshots. If you specify one or more tags when creating the snapshot, no tags are copied from the volume, regardless of this value.

", + "DeleteFileSystemLustreConfiguration$SkipFinalBackup": "

Set SkipFinalBackup to false if you want to take a final backup of the file system you are deleting. By default, Amazon FSx will not take a final backup on your behalf when the DeleteFileSystem operation is invoked. (Default = true)

The fsx:CreateBackup permission is required if you set SkipFinalBackup to false in order to delete the file system and take a final backup.

", + "DeleteFileSystemOpenZFSConfiguration$SkipFinalBackup": "

By default, Amazon FSx for OpenZFS takes a final backup on your behalf when the DeleteFileSystem operation is invoked. Doing this helps protect you from data loss, and we highly recommend taking the final backup. If you want to skip this backup, use this value to do so.

", "DeleteFileSystemWindowsConfiguration$SkipFinalBackup": "

By default, Amazon FSx for Windows takes a final backup on your behalf when the DeleteFileSystem operation is invoked. Doing this helps protect you from data loss, and we highly recommend taking the final backup. If you want to skip this backup, use this flag to do so.

", "DeleteVolumeOntapConfiguration$SkipFinalBackup": "

Set to true if you want to skip taking a final backup of the volume you are deleting.

", - "LustreFileSystemConfiguration$CopyTagsToBackups": "

A boolean flag indicating whether tags on the file system should be copied to backups. If it's set to true, all tags on the file system are copied to all automatic backups and any user-initiated backups where the user doesn't specify any tags. If this value is true, and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value. (Default = false)

", + "LustreFileSystemConfiguration$CopyTagsToBackups": "

A boolean flag indicating whether tags on the file system are copied to backups. If it's set to true, all tags on the file system are copied to all automatic backups and any user-initiated backups where the user doesn't specify any tags. If this value is true, and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value. (Default = false)

", "OntapVolumeConfiguration$StorageEfficiencyEnabled": "

The volume's storage efficiency setting.

", - "OntapVolumeConfiguration$StorageVirtualMachineRoot": "

A boolean flag indicating whether this volume is the root volume for its storage virtual machine (SVM). Only one volume on an SVM can be the root volume. This value defaults to false. If this value is true, then this is the SVM root volume.

This flag is useful when you're deleting an SVM, because you must first delete all non-root volumes. This flag, when set to false, helps you identify which volumes to delete before you can delete the SVM.

", + "OntapVolumeConfiguration$StorageVirtualMachineRoot": "

A Boolean flag indicating whether this volume is the root volume for its storage virtual machine (SVM). Only one volume on an SVM can be the root volume. This value defaults to false. If this value is true, then this is the SVM root volume.

This flag is useful when you're deleting an SVM, because you must first delete all non-root volumes. This flag, when set to false, helps you identify which volumes to delete before you can delete the SVM.

", + "OpenZFSCreateRootVolumeConfiguration$CopyTagsToSnapshots": "

A Boolean value indicating whether tags for the volume should be copied to snapshots. This value defaults to false. If it's set to true, all tags for the volume are copied to snapshots where the user doesn't specify tags. If this value is true and you specify one or more tags, only the specified tags are copied to snapshots. If you specify one or more tags when creating the snapshot, no tags are copied from the volume, regardless of this value.

", + "OpenZFSFileSystemConfiguration$CopyTagsToBackups": "

A Boolean value indicating whether tags on the file system should be copied to backups. If it's set to true, all tags on the file system are copied to all automatic backups and any user-initiated backups where the user doesn't specify any tags. If this value is true and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value.

", + "OpenZFSFileSystemConfiguration$CopyTagsToVolumes": "

A Boolean value indicating whether tags for the volume should be copied to snapshots. This value defaults to false. If it's set to true, all tags for the volume are copied to snapshots where the user doesn't specify tags. If this value is true and you specify one or more tags, only the specified tags are copied to snapshots. If you specify one or more tags when creating the snapshot, no tags are copied from the volume, regardless of this value.

", + "OpenZFSVolumeConfiguration$CopyTagsToSnapshots": "

A Boolean value indicating whether tags for the volume should be copied to snapshots. This value defaults to false. If it's set to true, all tags for the volume are copied to snapshots where the user doesn't specify tags. If this value is true and you specify one or more tags, only the specified tags are copied to snapshots. If you specify one or more tags when creating the snapshot, no tags are copied from the volume, regardless of this value.

", + "UpdateFileSystemOpenZFSConfiguration$CopyTagsToBackups": "

A Boolean value indicating whether tags for the file system should be copied to backups. This value defaults to false. If it's set to true, all tags for the file system are copied to all automatic and user-initiated backups where the user doesn't specify tags. If this value is true and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value.

", + "UpdateFileSystemOpenZFSConfiguration$CopyTagsToVolumes": "

A Boolean value indicating whether tags for the volume should be copied to snapshots. This value defaults to false. If it's set to true, all tags for the volume are copied to snapshots where the user doesn't specify tags. If this value is true and you specify one or more tags, only the specified tags are copied to snapshots. If you specify one or more tags when creating the snapshot, no tags are copied from the volume, regardless of this value.

", "UpdateOntapVolumeConfiguration$StorageEfficiencyEnabled": "

Default is false. Set to true to enable the deduplication, compression, and compaction storage efficiency features on the volume.

", "WindowsFileSystemConfiguration$CopyTagsToBackups": "

A boolean flag indicating whether tags on the file system should be copied to backups. This value defaults to false. If it's set to true, all tags on the file system are copied to all automatic backups and any user-initiated backups where the user doesn't specify any tags. If this value is true, and you specify one or more tags, only the specified tags are copied to backups. If you specify one or more tags when creating a user-initiated backup, no tags are copied from the file system, regardless of this value.

" } @@ -986,6 +1224,8 @@ "GeneralARN": { "base": null, "refs": { + "LustreLogConfiguration$Destination": "

The Amazon Resource Name (ARN) that specifies the destination of the logs. The destination can be any Amazon CloudWatch Logs log group ARN. The destination ARN must be in the same Amazon Web Services partition, Amazon Web Services Region, and Amazon Web Services account as your Amazon FSx file system.

", + "LustreLogCreateConfiguration$Destination": "

The Amazon Resource Name (ARN) that specifies the destination of the logs.

The destination can be any Amazon CloudWatch Logs log group ARN, with the following requirements:

", "WindowsAuditLogConfiguration$AuditLogDestination": "

The Amazon Resource Name (ARN) for the destination of the audit logs. The destination can be any Amazon CloudWatch Logs log group ARN or Amazon Kinesis Data Firehose delivery stream ARN.

The name of the Amazon CloudWatch Logs log group must begin with the /aws/fsx prefix. The name of the Amazon Kinesis Data Firehouse delivery stream must begin with the aws-fsx prefix.

The destination ARN (either CloudWatch Logs log group or Kinesis Data Firehose delivery stream) must be in the same Amazon Web Services partition, Amazon Web Services Region, and Amazon Web Services account as your Amazon FSx file system.

", "WindowsAuditLogCreateConfiguration$AuditLogDestination": "

The Amazon Resource Name (ARN) that specifies the destination of the audit logs.

The destination can be any Amazon CloudWatch Logs log group ARN or Amazon Kinesis Data Firehose delivery stream ARN, with the following requirements:

" } @@ -1000,13 +1240,31 @@ "refs": { } }, + "IntegerNoMax": { + "base": null, + "refs": { + "CreateOpenZFSVolumeConfiguration$StorageCapacityReservationGiB": "

The amount of storage in gibibytes (GiB) to reserve from the parent volume. You can't reserve more storage than the parent volume has reserved.

", + "CreateOpenZFSVolumeConfiguration$StorageCapacityQuotaGiB": "

The maximum amount of storage in gibibytes (GiB) that the volume can use from its parent. You can specify a quota larger than the storage on the parent volume.

", + "OpenZFSUserOrGroupQuota$Id": "

The ID of the user or group.

", + "OpenZFSUserOrGroupQuota$StorageCapacityQuotaGiB": "

The amount of storage that the user or group can use in gibibytes (GiB).

", + "OpenZFSVolumeConfiguration$StorageCapacityReservationGiB": "

The amount of storage in gibibytes (GiB) to reserve from the parent volume. You can't reserve more storage than the parent volume has reserved.

", + "OpenZFSVolumeConfiguration$StorageCapacityQuotaGiB": "

The maximum amount of storage in gibibtyes (GiB) that the volume can use from its parent. You can specify a quota larger than the storage on the parent volume.

", + "UpdateOpenZFSVolumeConfiguration$StorageCapacityReservationGiB": "

The amount of storage in gibibytes (GiB) to reserve from the parent volume. You can't reserve more storage than the parent volume has reserved.

", + "UpdateOpenZFSVolumeConfiguration$StorageCapacityQuotaGiB": "

The maximum amount of storage in gibibytes (GiB) that the volume can use from its parent. You can specify a quota larger than the storage on the parent volume.

" + } + }, "InternalServerError": { "base": "

A generic error indicating a server-side failure.

", "refs": { } }, + "InvalidDataRepositoryType": { + "base": "

You have filtered the response to a data repository type that is not supported.

", + "refs": { + } + }, "InvalidDestinationKmsKey": { - "base": "

The Key Management Service (KMS) key of the destination backup is invalid.

", + "base": "

The Key Management Service (KMS) key of the destination backup is not valid.

", "refs": { } }, @@ -1031,12 +1289,12 @@ } }, "InvalidRegion": { - "base": "

The Region provided for Source Region is invalid or is in a different Amazon Web Services partition.

", + "base": "

The Region provided for SourceRegion is not valid or is in a different Amazon Web Services partition.

", "refs": { } }, "InvalidSourceKmsKey": { - "base": "

The Key Management Service (KMS) key of the source backup is invalid.

", + "base": "

The Key Management Service (KMS) key of the source backup is not valid.

", "refs": { } }, @@ -1065,18 +1323,18 @@ "base": null, "refs": { "CreateOntapVolumeConfiguration$JunctionPath": "

Specifies the location in the SVM's namespace where the volume is mounted. The JunctionPath must have a leading forward slash, such as /vol3.

", - "OntapVolumeConfiguration$JunctionPath": "

Specifies the directory that NAS clients use to mount the volume, along with the SVM DNS name or IP address. You can create a JunctionPath directly below a parent volume junction or on a directory within a volume. A JunctionPath for a volume named vol3 might be /vol1/vol2/vol3, or /vol1/dir2/vol3, or even /dir1/dir2/vol3..

", + "OntapVolumeConfiguration$JunctionPath": "

Specifies the directory that network-attached storage (NAS) clients use to mount the volume, along with the storage virtual machine (SVM) Domain Name System (DNS) name or IP address. You can create a JunctionPath directly below a parent volume junction or on a directory within a volume. A JunctionPath for a volume named vol3 might be /vol1/vol2/vol3, or /vol1/dir2/vol3, or even /dir1/dir2/vol3.

", "UpdateOntapVolumeConfiguration$JunctionPath": "

Specifies the location in the SVM's namespace where the volume is mounted. The JunctionPath must have a leading forward slash, such as /vol3.

" } }, "KmsKeyId": { - "base": "

The ID of the Key Management Service (KMS) key used to encrypt the file system's data for Amazon FSx for Windows File Server file systems, Amazon FSx for NetApp ONTAP file systems, and Amazon FSx for Lustre PERSISTENT_1 file systems at rest. If not specified, the Amazon FSx managed key is used. The Amazon FSx for Lustre SCRATCH_1 and SCRATCH_2 file systems are always encrypted at rest using Amazon FSx managed keys. For more information, see Encrypt in the Key Management Service API Reference.

", + "base": "

The ID of the Key Management Service (KMS) key used to encrypt the file system's data for Amazon FSx for Windows File Server file systems, Amazon FSx for NetApp ONTAP file systems, and Amazon FSx for Lustre PERSISTENT_1 and PERSISTENT_2 file systems at rest. If this ID isn't specified, the key managed by Amazon FSx is used. The Amazon FSx for Lustre SCRATCH_1 and SCRATCH_2 file systems are always encrypted at rest using Amazon FSx-managed keys. For more information, see Encrypt in the Key Management Service API Reference.

", "refs": { "Backup$KmsKeyId": "

The ID of the Key Management Service (KMS) key used to encrypt the backup of the Amazon FSx file system's data at rest.

", "CopyBackupRequest$KmsKeyId": null, "CreateFileSystemFromBackupRequest$KmsKeyId": null, "CreateFileSystemRequest$KmsKeyId": null, - "FileSystem$KmsKeyId": "

The ID of the Key Management Service (KMS) key used to encrypt the file system's data for Amazon FSx for Windows File Server file systems, Amazon FSx for NetApp ONTAP file systems, and persistent Amazon FSx for Lustre file systems at rest. If not specified, the Amazon FSx managed key is used. The scratch Amazon FSx for Lustre file systems are always encrypted at rest using Amazon FSx managed keys. For more information, see Encrypt in the Key Management Service API Reference.

" + "FileSystem$KmsKeyId": "

The ID of the Key Management Service (KMS) key used to encrypt the file system's data for Amazon FSx for Windows File Server file systems, Amazon FSx for NetApp ONTAP file systems, and PERSISTENT Amazon FSx for Lustre file systems at rest. If this ID isn't specified, the Amazon FSx-managed key for your account is used. The scratch Amazon FSx for Lustre file systems are always encrypted at rest using the Amazon FSx-managed key for your account. For more information, see Encrypt in the Key Management Service API Reference.

" } }, "LastUpdatedTime": { @@ -1089,7 +1347,13 @@ "base": "

Describes why a resource lifecycle state changed.

", "refs": { "StorageVirtualMachine$LifecycleTransitionReason": "

Describes why the SVM lifecycle state changed.

", - "Volume$LifecycleTransitionReason": "

Describes why the volume lifecycle state changed.

" + "Volume$LifecycleTransitionReason": "

The reason why the volume lifecycle status changed.

" + } + }, + "LimitedMaxResults": { + "base": null, + "refs": { + "DescribeDataRepositoryAssociationsRequest$MaxResults": "

The maximum number of resources to return in the response. This value must be an integer greater than zero.

" } }, "ListTagsForResourceRequest": { @@ -1102,11 +1366,18 @@ "refs": { } }, + "LustreAccessAuditLogLevel": { + "base": null, + "refs": { + "LustreLogConfiguration$Level": "

The data repository events that are logged by Amazon FSx.

", + "LustreLogCreateConfiguration$Level": "

Sets which data repository events are logged by Amazon FSx.

" + } + }, "LustreDeploymentType": { "base": null, "refs": { - "CreateFileSystemLustreConfiguration$DeploymentType": "

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 deployment type for longer-term storage and workloads and encryption of data in transit. To learn more about deployment types, see FSx for Lustre Deployment Options.

Encryption of data in-transit is automatically enabled when you access a SCRATCH_2 or PERSISTENT_1 file system from Amazon EC2 instances that support this feature. (Default = SCRATCH_1)

Encryption of data in-transit for SCRATCH_2 and PERSISTENT_1 deployment types is supported when accessed from supported instance types in supported Amazon Web Services Regions. To learn more, Encrypting Data in Transit.

", - "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 deployment type is used for longer-term storage and workloads and encryption of data in transit. To learn more about deployment types, see FSx for Lustre Deployment Options. (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. 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)

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

" } }, "LustreFileSystemConfiguration": { @@ -1118,16 +1389,30 @@ "LustreFileSystemMountName": { "base": null, "refs": { - "LustreFileSystemConfiguration$MountName": "

You use the MountName value when mounting the file system.

For the SCRATCH_1 deployment type, this value is always \"fsx\". For SCRATCH_2 and PERSISTENT_1 deployment types, this value is a string that is unique within an Amazon Web Services Region.

" + "LustreFileSystemConfiguration$MountName": "

You use the MountName value when mounting the file system.

For the SCRATCH_1 deployment type, this value is always \"fsx\". For SCRATCH_2, PERSISTENT_1, and PERSISTENT_2 deployment types, this value is a string that is unique within an Amazon Web Services Region.

" + } + }, + "LustreLogConfiguration": { + "base": "

The configuration for Lustre logging used to write the enabled logging events for your file system to Amazon CloudWatch Logs.

When logging is enabled, Lustre logs error and warning events from data repository operations such as automatic export and data repository tasks. To learn more about Lustre logging, see Logging with Amazon CloudWatch Logs.

", + "refs": { + "LustreFileSystemConfiguration$LogConfiguration": "

The Lustre logging configuration. Lustre logging writes the enabled log events for your file system to Amazon CloudWatch Logs.

" + } + }, + "LustreLogCreateConfiguration": { + "base": "

The Lustre logging configuration used when creating or updating an Amazon FSx for Lustre file system. Lustre logging writes the enabled logging events for your file system to Amazon CloudWatch Logs.

Error and warning events can be logged from the following data repository operations:

To learn more about Lustre logging, see Logging to Amazon CloudWatch Logs.

", + "refs": { + "CreateFileSystemLustreConfiguration$LogConfiguration": "

The Lustre logging configuration used when creating an Amazon FSx for Lustre file system. When logging is enabled, Lustre logs error and warning events for data repositories associated with your file system to Amazon CloudWatch Logs.

", + "UpdateFileSystemLustreConfiguration$LogConfiguration": "

The Lustre logging configuration used when updating an Amazon FSx for Lustre file system. When logging is enabled, Lustre logs error and warning events for data repositories associated with your file system to Amazon CloudWatch Logs.

" } }, "MaxResults": { "base": "

The maximum number of resources to return in the response. This value must be an integer greater than zero.

", "refs": { - "DescribeBackupsRequest$MaxResults": "

Maximum number of backups to return in the response (integer). This parameter value must be greater than 0. The number of items that Amazon FSx returns is the minimum of the MaxResults parameter specified in the request and the service's internal maximum number of items per page.

", + "DescribeBackupsRequest$MaxResults": "

Maximum number of backups to return in the response. This parameter value must be greater than 0. The number of items that Amazon FSx returns is the minimum of the MaxResults parameter specified in the request and the service's internal maximum number of items per page.

", "DescribeDataRepositoryTasksRequest$MaxResults": null, "DescribeFileSystemAliasesRequest$MaxResults": "

Maximum number of DNS aliases to return in the response (integer). This parameter value must be greater than 0. The number of items that Amazon FSx returns is the minimum of the MaxResults parameter specified in the request and the service's internal maximum number of items per page.

", "DescribeFileSystemsRequest$MaxResults": "

Maximum number of file systems to return in the response (integer). This parameter value must be greater than 0. The number of items that Amazon FSx returns is the minimum of the MaxResults parameter specified in the request and the service's internal maximum number of items per page.

", + "DescribeSnapshotsRequest$MaxResults": null, "DescribeStorageVirtualMachinesRequest$MaxResults": null, "DescribeVolumesRequest$MaxResults": null, "ListTagsForResourceRequest$MaxResults": "

Maximum number of tags to return in the response (integer). This parameter value must be greater than 0. The number of items that Amazon FSx returns is the minimum of the MaxResults parameter specified in the request and the service's internal maximum number of items per page.

" @@ -1136,16 +1421,22 @@ "Megabytes": { "base": null, "refs": { - "CreateFileSystemLustreConfiguration$ImportedFileChunkSize": "

(Optional) For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a single file can be striped across is limited by the total number of disks that make up the file system.

The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.

", - "DataRepositoryConfiguration$ImportedFileChunkSize": "

For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a single file can be striped across is limited by the total number of disks that make up the file system.

The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.

" + "CreateDataRepositoryAssociationRequest$ImportedFileChunkSize": "

For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a single file can be striped across is limited by the total number of disks that make up the file system.

The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.

", + "CreateFileSystemLustreConfiguration$ImportedFileChunkSize": "

(Optional) For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a single file can be striped across is limited by the total number of disks that make up the file system.

The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.

This parameter is not supported for file systems with the Persistent_2 deployment type. Instead, use CreateDataRepositoryAssociation to create a data repository association to link your Lustre file system to a data repository.

", + "DataRepositoryAssociation$ImportedFileChunkSize": "

For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a single file can be striped across is limited by the total number of disks that make up the file system.

The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.

", + "DataRepositoryConfiguration$ImportedFileChunkSize": "

For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a single file can be striped across is limited by the total number of disks that make up the file system.

The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.

", + "UpdateDataRepositoryAssociationRequest$ImportedFileChunkSize": "

For files imported from a data repository, this value determines the stripe count and maximum amount of data per file (in MiB) stored on a single physical disk. The maximum number of disks that a single file can be striped across is limited by the total number of disks that make up the file system.

The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB.

" } }, "MegabytesPerSecond": { - "base": "

Sustained throughput of an Amazon FSx file system in MBps.

", + "base": "

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

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

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

", + "CreateFileSystemOntapConfiguration$ThroughputCapacity": "

Sets the throughput capacity for the file system that you're creating. Valid values are 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).

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

" } @@ -1160,6 +1451,13 @@ "refs": { } }, + "Namespace": { + "base": null, + "refs": { + "CreateDataRepositoryAssociationRequest$FileSystemPath": "

A path on the file system that points to a high-level directory (such as /ns1/) or subdirectory (such as /ns1/subdir/) that will be mapped 1-1 with DataRepositoryPath. The leading forward slash in the name is required. Two data repository associations cannot have overlapping file system paths. For example, if a data repository is associated with file system path /ns1/, then you cannot link another data repository with file system path /ns1/ns2.

This path specifies where in your file system files will be exported from or imported to. This file system directory can be linked to only one Amazon S3 bucket, and no other S3 bucket can be linked to the directory.

", + "DataRepositoryAssociation$FileSystemPath": "

A path on the file system that points to a high-level directory (such as /ns1/) or subdirectory (such as /ns1/subdir/) that will be mapped 1-1 with DataRepositoryPath. The leading forward slash in the name is required. Two data repository associations cannot have overlapping file system paths. For example, if a data repository is associated with file system path /ns1/, then you cannot link another data repository with file system path /ns1/ns2.

This path specifies where in your file system files will be exported from or imported to. This file system directory can be linked to only one Amazon S3 bucket, and no other S3 bucket can be linked to the directory.

" + } + }, "NetBiosAlias": { "base": null, "refs": { @@ -1176,20 +1474,24 @@ "NetworkInterfaceIds": { "base": "

A list of network interface IDs.

", "refs": { - "FileSystem$NetworkInterfaceIds": "

The IDs of the elastic network interface from which a specific file system is accessible. The elastic network interface is automatically created in the same VPC that the Amazon FSx file system was created in. For more information, see Elastic Network Interfaces in the Amazon EC2 User Guide.

For an Amazon FSx for Windows File Server file system, you can have one network interface ID. For an Amazon FSx for Lustre file system, you can have more than one.

" + "FileSystem$NetworkInterfaceIds": "

The IDs of the elastic network interfaces from which a specific file system is accessible. The elastic network interface is automatically created in the same virtual private cloud (VPC) that the Amazon FSx file system was created in. For more information, see Elastic Network Interfaces in the Amazon EC2 User Guide.

For an Amazon FSx for Windows File Server file system, you can have one network interface ID. For an Amazon FSx for Lustre file system, you can have more than one.

" } }, "NextToken": { "base": "

(Optional) Opaque pagination token returned from a previous operation (String). If present, this token indicates from what point you can continue processing the request, where the previous NextToken value left off.

", "refs": { - "DescribeBackupsRequest$NextToken": "

Opaque pagination token returned from a previous DescribeBackups operation (String). If a token present, the action continues the list from where the returning call left off.

", - "DescribeBackupsResponse$NextToken": "

This is present if there are more backups than returned in the response (String). You can use the NextToken value in the later request to fetch the backups.

", + "DescribeBackupsRequest$NextToken": "

An opaque pagination token returned from a previous DescribeBackups operation. If a token is present, the operation continues the list from where the returning call left off.

", + "DescribeBackupsResponse$NextToken": "

A NextToken value is present if there are more backups than returned in the response. You can use the NextToken value in the subsequent request to fetch the backups.

", + "DescribeDataRepositoryAssociationsRequest$NextToken": null, + "DescribeDataRepositoryAssociationsResponse$NextToken": null, "DescribeDataRepositoryTasksRequest$NextToken": null, "DescribeDataRepositoryTasksResponse$NextToken": null, "DescribeFileSystemAliasesRequest$NextToken": "

Opaque pagination token returned from a previous DescribeFileSystemAliases operation (String). If a token is included in the request, the action continues the list from where the previous returning call left off.

", "DescribeFileSystemAliasesResponse$NextToken": "

Present if there are more DNS aliases than returned in the response (String). You can use the NextToken value in a later request to fetch additional descriptions.

", - "DescribeFileSystemsRequest$NextToken": "

Opaque pagination token returned from a previous DescribeFileSystems operation (String). If a token present, the action continues the list from where the returning call left off.

", + "DescribeFileSystemsRequest$NextToken": "

Opaque pagination token returned from a previous DescribeFileSystems operation (String). If a token present, the operation continues the list from where the returning call left off.

", "DescribeFileSystemsResponse$NextToken": "

Present if there are more file systems than returned in the response (String). You can use the NextToken value in the later request to fetch the descriptions.

", + "DescribeSnapshotsRequest$NextToken": null, + "DescribeSnapshotsResponse$NextToken": null, "DescribeStorageVirtualMachinesRequest$NextToken": null, "DescribeStorageVirtualMachinesResponse$NextToken": null, "DescribeVolumesRequest$NextToken": null, @@ -1206,7 +1508,7 @@ "OntapDeploymentType": { "base": null, "refs": { - "CreateFileSystemOntapConfiguration$DeploymentType": "

Specifies the ONTAP file system deployment type to use in creating the file system.

", + "CreateFileSystemOntapConfiguration$DeploymentType": "

Specifies the FSx for ONTAP file system deployment type to use in creating the file system. MULTI_AZ_1 is the supported ONTAP deployment type.

", "OntapFileSystemConfiguration$DeploymentType": "

The ONTAP file system deployment type.

" } }, @@ -1220,11 +1522,11 @@ "OntapFileSystemConfiguration": { "base": "

Configuration for the FSx for NetApp ONTAP file system.

", "refs": { - "FileSystem$OntapConfiguration": "

The configuration for this FSx for NetApp ONTAP file system.

" + "FileSystem$OntapConfiguration": "

The configuration for this FSx for ONTAP file system.

" } }, "OntapVolumeConfiguration": { - "base": "

The configuration of an Amazon FSx for NetApp ONTAP volume

", + "base": "

The configuration of an Amazon FSx for NetApp ONTAP volume.

", "refs": { "Volume$OntapConfiguration": null } @@ -1232,7 +1534,120 @@ "OntapVolumeType": { "base": null, "refs": { - "OntapVolumeConfiguration$OntapVolumeType": "

Specifies the type of volume. Valid values are the following:

" + "OntapVolumeConfiguration$OntapVolumeType": "

Specifies the type of volume. Valid values are the following:

" + } + }, + "OpenZFSClientConfiguration": { + "base": "

Specifies who can mount the file system and the options that can be used while mounting the file system.

", + "refs": { + "OpenZFSClientConfigurations$member": null + } + }, + "OpenZFSClientConfigurations": { + "base": null, + "refs": { + "OpenZFSNfsExport$ClientConfigurations": "

A list of configuration objects that contain the client and options for mounting the OpenZFS file system.

" + } + }, + "OpenZFSClients": { + "base": null, + "refs": { + "OpenZFSClientConfiguration$Clients": "

A value that specifies who can mount the file system. You can provide a wildcard character (*), an IP address (0.0.0.0), or a CIDR address (192.0.2.0/24. By default, Amazon FSx uses the wildcard character when specifying the client.

" + } + }, + "OpenZFSCopyStrategy": { + "base": null, + "refs": { + "CreateOpenZFSOriginSnapshotConfiguration$CopyStrategy": "

The strategy used when copying data from the snapshot to the new volume.

", + "OpenZFSOriginSnapshotConfiguration$CopyStrategy": "

The strategy used when copying data from the snapshot to the new volume.

" + } + }, + "OpenZFSCreateRootVolumeConfiguration": { + "base": "

The configuration of an Amazon FSx for OpenZFS root volume.

", + "refs": { + "CreateFileSystemOpenZFSConfiguration$RootVolumeConfiguration": "

The configuration Amazon FSx uses when creating the root value of the Amazon FSx for OpenZFS file system. All volumes are children of the root volume.

" + } + }, + "OpenZFSDataCompressionType": { + "base": null, + "refs": { + "CreateOpenZFSVolumeConfiguration$DataCompressionType": "

Specifies the method used to compress the data on the volume. Unless the compression type is specified, volumes inherit the DataCompressionType value of their parent volume.

", + "OpenZFSCreateRootVolumeConfiguration$DataCompressionType": "

Specifies the method used to compress the data on the volume. Unless the compression type is specified, volumes inherit the DataCompressionType value of their parent volume.

", + "OpenZFSVolumeConfiguration$DataCompressionType": "

The method used to compress the data on the volume. Unless a compression type is specified, volumes inherit the DataCompressionType value of their parent volume.

", + "UpdateOpenZFSVolumeConfiguration$DataCompressionType": "

Specifies the method used to compress the data on the volume. Unless the compression type is specified, volumes inherit the DataCompressionType value of their parent volume.

" + } + }, + "OpenZFSDeploymentType": { + "base": null, + "refs": { + "CreateFileSystemOpenZFSConfiguration$DeploymentType": "

Specifies the file system deployment type. Amazon FSx for OpenZFS supports SINGLE_AZ_1. SINGLE_AZ_1 is a file system configured for a single Availability Zone (AZ) of redundancy.

", + "OpenZFSFileSystemConfiguration$DeploymentType": "

Specifies the file-system deployment type. Amazon FSx for OpenZFS supports SINGLE_AZ_1. SINGLE_AZ_1 is a file system configured for a single Availability Zone (AZ) of redundancy.

" + } + }, + "OpenZFSFileSystemConfiguration": { + "base": "

The configuration for the Amazon FSx for OpenZFS file system.

", + "refs": { + "FileSystem$OpenZFSConfiguration": "

The configuration for this Amazon FSx for OpenZFS file system.

" + } + }, + "OpenZFSNfsExport": { + "base": "

The Network File System NFS) configurations for mounting an Amazon FSx for OpenZFS file system.

", + "refs": { + "OpenZFSNfsExports$member": null + } + }, + "OpenZFSNfsExportOption": { + "base": null, + "refs": { + "OpenZFSNfsExportOptions$member": null + } + }, + "OpenZFSNfsExportOptions": { + "base": null, + "refs": { + "OpenZFSClientConfiguration$Options": "

The options to use when mounting the file system. For a list of options that you can use with Network File System (NFS), see the exports(5) - Linux man page. When choosing your options, consider the following:

" + } + }, + "OpenZFSNfsExports": { + "base": null, + "refs": { + "CreateOpenZFSVolumeConfiguration$NfsExports": "

The configuration object for mounting a Network File System (NFS) file system.

", + "OpenZFSCreateRootVolumeConfiguration$NfsExports": "

The configuration object for mounting a file system.

", + "OpenZFSVolumeConfiguration$NfsExports": "

The configuration object for mounting a Network File System (NFS) file system.

", + "UpdateOpenZFSVolumeConfiguration$NfsExports": "

The configuration object for mounting a Network File System (NFS) file system.

" + } + }, + "OpenZFSOriginSnapshotConfiguration": { + "base": "

The snapshot configuration to use when creating an OpenZFS volume from a snapshot.

", + "refs": { + "OpenZFSVolumeConfiguration$OriginSnapshot": "

The configuration object that specifies the snapshot to use as the origin of the data for the volume.

" + } + }, + "OpenZFSQuotaType": { + "base": null, + "refs": { + "OpenZFSUserOrGroupQuota$Type": "

A value that specifies whether the quota applies to a user or group.

" + } + }, + "OpenZFSUserAndGroupQuotas": { + "base": null, + "refs": { + "CreateOpenZFSVolumeConfiguration$UserAndGroupQuotas": "

An object specifying how much storage users or groups can use on the volume.

", + "OpenZFSCreateRootVolumeConfiguration$UserAndGroupQuotas": "

An object specifying how much storage users or groups can use on the volume.

", + "OpenZFSVolumeConfiguration$UserAndGroupQuotas": "

An object specifying how much storage users or groups can use on the volume.

", + "UpdateOpenZFSVolumeConfiguration$UserAndGroupQuotas": "

An object specifying how much storage users or groups can use on the volume.

" + } + }, + "OpenZFSUserOrGroupQuota": { + "base": "

The configuration for how much storage a user or group can use on the volume.

", + "refs": { + "OpenZFSUserAndGroupQuotas$member": null + } + }, + "OpenZFSVolumeConfiguration": { + "base": "

The configuration of an Amazon FSx for OpenZFS volume.

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

The configuration of an Amazon FSx for OpenZFS volume.

" } }, "OrganizationalUnitDistinguishedName": { @@ -1251,22 +1666,41 @@ "PerUnitStorageThroughput": { "base": null, "refs": { - "CreateFileSystemLustreConfiguration$PerUnitStorageThroughput": "

Required for the PERSISTENT_1 deployment type, describes the amount of read and write throughput for each 1 tebibyte of storage, in MB/s/TiB. File system throughput capacity is calculated by multiplying file system storage capacity (TiB) by the PerUnitStorageThroughput (MB/s/TiB). For a 2.4 TiB file system, provisioning 50 MB/s/TiB of PerUnitStorageThroughput yields 120 MB/s of file system throughput. You pay for the amount of throughput that you provision.

Valid values for SSD storage: 50, 100, 200. Valid values for HDD storage: 12, 40.

", - "LustreFileSystemConfiguration$PerUnitStorageThroughput": "

Per unit storage throughput represents the megabytes per second of read or write throughput per 1 tebibyte of storage provisioned. File system throughput capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput (MB/s/TiB). This option is only valid for PERSISTENT_1 deployment types.

Valid values for SSD storage: 50, 100, 200. Valid values for HDD storage: 12, 40.

" + "CreateFileSystemLustreConfiguration$PerUnitStorageThroughput": "

Required with PERSISTENT_1 and PERSISTENT_2 deployment types, provisions the amount of read and write throughput for each 1 tebibyte (TiB) of file system storage capacity, in MB/s/TiB. File system throughput capacity is calculated by multiplying file system storage capacity (TiB) by the PerUnitStorageThroughput (MB/s/TiB). For a 2.4-TiB file system, provisioning 50 MB/s/TiB of PerUnitStorageThroughput yields 120 MB/s of file system throughput. You pay for the amount of throughput that you provision.

Valid values:

", + "LustreFileSystemConfiguration$PerUnitStorageThroughput": "

Per unit storage throughput represents the megabytes per second of read or write throughput per 1 tebibyte of storage provisioned. File system throughput capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput (MB/s/TiB). This option is only valid for PERSISTENT_1 and PERSISTENT_2 deployment types.

Valid values:

" } }, "ProgressPercent": { "base": "

The current percent of progress of an asynchronous task.

", "refs": { - "AdministrativeAction$ProgressPercent": "

Provides the percent complete of a STORAGE_OPTIMIZATION administrative action. Does not apply to any other administrative action type.

", + "AdministrativeAction$ProgressPercent": "

The percentage-complete status of a STORAGE_OPTIMIZATION administrative action. Does not apply to any other administrative action type.

", "Backup$ProgressPercent": null } }, + "ReadOnly": { + "base": null, + "refs": { + "CreateOpenZFSVolumeConfiguration$ReadOnly": "

A Boolean value indicating whether the volume is read-only.

", + "OpenZFSCreateRootVolumeConfiguration$ReadOnly": "

A Boolean value indicating whether the volume is read-only. Setting this value to true can be useful after you have completed changes to a volume and no longer want changes to occur.

", + "OpenZFSVolumeConfiguration$ReadOnly": "

A Boolean value indicating whether the volume is read-only.

", + "UpdateOpenZFSVolumeConfiguration$ReadOnly": "

A Boolean value indicating whether the volume is read-only.

" + } + }, "Region": { "base": null, "refs": { "Backup$SourceBackupRegion": "

The source Region of the backup. Specifies the Region from where this backup is copied.

", - "CopyBackupRequest$SourceRegion": "

The source Amazon Web Services Region of the backup. Specifies the Amazon Web Services Region from which the backup is being copied. The source and destination Regions must be in the same Amazon Web Services partition. If you don't specify a Region, it defaults to the Region where the request is sent from (in-Region copy).

" + "CopyBackupRequest$SourceRegion": "

The source Amazon Web Services Region of the backup. Specifies the Amazon Web Services Region from which the backup is being copied. The source and destination Regions must be in the same Amazon Web Services partition. If you don't specify a Region, SourceRegion defaults to the Region where the request is sent from (in-Region copy).

" + } + }, + "ReleaseFileSystemNfsV3LocksRequest": { + "base": null, + "refs": { + } + }, + "ReleaseFileSystemNfsV3LocksResponse": { + "base": null, + "refs": { } }, "ReportFormat": { @@ -1284,7 +1718,7 @@ "RequestTime": { "base": null, "refs": { - "AdministrativeAction$RequestTime": "

Time that the administrative action request was received.

" + "AdministrativeAction$RequestTime": "

The time that the administrative action request was received.

" } }, "ResourceARN": { @@ -1292,12 +1726,16 @@ "refs": { "ActiveDirectoryBackupAttributes$ResourceARN": null, "Backup$ResourceARN": "

The Amazon Resource Name (ARN) for the backup resource.

", + "CreateOpenZFSOriginSnapshotConfiguration$SnapshotARN": null, + "DataRepositoryAssociation$ResourceARN": null, "DataRepositoryTask$ResourceARN": null, "FileSystem$ResourceARN": "

The Amazon Resource Name (ARN) for the file system resource.

", "ListTagsForResourceRequest$ResourceARN": "

The ARN of the Amazon FSx resource that will have its tags listed.

", "NotServiceResourceError$ResourceARN": "

The Amazon Resource Name (ARN) of the non-Amazon FSx resource.

", + "OpenZFSOriginSnapshotConfiguration$SnapshotARN": null, "ResourceDoesNotSupportTagging$ResourceARN": "

The Amazon Resource Name (ARN) of the resource that doesn't support tagging.

", "ResourceNotFound$ResourceARN": "

The resource ARN of the resource that can't be found.

", + "Snapshot$ResourceARN": null, "StorageVirtualMachine$ResourceARN": null, "TagResourceRequest$ResourceARN": "

The Amazon Resource Name (ARN) of the Amazon FSx resource that you want to tag.

", "UntagResourceRequest$ResourceARN": "

The ARN of the Amazon FSx resource to untag.

", @@ -1317,7 +1755,29 @@ "ResourceType": { "base": null, "refs": { - "Backup$ResourceType": "

Specifies the resource type that is backed up.

" + "Backup$ResourceType": "

Specifies the resource type that's backed up.

" + } + }, + "RestoreOpenZFSVolumeOption": { + "base": null, + "refs": { + "RestoreOpenZFSVolumeOptions$member": null + } + }, + "RestoreOpenZFSVolumeOptions": { + "base": null, + "refs": { + "RestoreVolumeFromSnapshotRequest$Options": "

The settings used when restoring the specified volume from snapshot.

" + } + }, + "RestoreVolumeFromSnapshotRequest": { + "base": null, + "refs": { + } + }, + "RestoreVolumeFromSnapshotResponse": { + "base": null, + "refs": { } }, "RouteTableId": { @@ -1330,12 +1790,20 @@ "RouteTableIds": { "base": null, "refs": { - "CreateFileSystemOntapConfiguration$RouteTableIds": "

Specifies the VPC route tables in which your file system's endpoints will be created. You should specify all VPC route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table.

", + "CreateFileSystemOntapConfiguration$RouteTableIds": "

Specifies the virtual private cloud (VPC) route tables in which your file system's endpoints will be created. You should specify all VPC route tables associated with the subnets in which your clients are located. By default, Amazon FSx selects your VPC's default route table.

", "OntapFileSystemConfiguration$RouteTableIds": "

The VPC route tables in which your file system's endpoints are created.

" } }, + "S3DataRepositoryConfiguration": { + "base": "

The configuration for an Amazon S3 data repository linked to an Amazon FSx Lustre file system with a data repository association. The configuration consists of an AutoImportPolicy that defines file events on the data repository are automatically imported to the file system and an AutoExportPolicy that defines which file events on the file system are automatically exported to the data repository. File events are when files or directories are added, changed, or deleted on the file system or the data repository.

", + "refs": { + "CreateDataRepositoryAssociationRequest$S3": "

The configuration for an Amazon S3 data repository linked to an Amazon FSx Lustre file system with a data repository association. The configuration defines which file events (new, changed, or deleted files or directories) are automatically imported from the linked data repository to the file system or automatically exported from the file system to the data repository.

", + "DataRepositoryAssociation$S3": "

The configuration for an Amazon S3 data repository linked to an Amazon FSx Lustre file system with a data repository association. The configuration defines which file events (new, changed, or deleted files or directories) are automatically imported from the linked data repository to the file system or automatically exported from the file system to the data repository.

", + "UpdateDataRepositoryAssociationRequest$S3": "

The configuration for an Amazon S3 data repository linked to an Amazon FSx Lustre file system with a data repository association. The configuration defines which file events (new, changed, or deleted files or directories) are automatically imported from the linked data repository to the file system or automatically exported from the file system to the data repository.

" + } + }, "SecurityGroupId": { - "base": "

The ID of your Amazon EC2 security group. This ID is used to control network access to the endpoint that Amazon FSx creates on your behalf in each subnet. For more information, see Amazon EC2 Security Groups for Linux Instances in the Amazon EC2 User Guide.

", + "base": "

The ID of your Amazon EC2 security group. This ID is used to control network access to the endpoint that Amazon FSx creates on your behalf in each subnet. For more information, see Amazon EC2 Security groups for Linux instances in the Amazon EC2 User Guide.

", "refs": { "InvalidNetworkSettings$InvalidSecurityGroupId": "

The security group ID is either invalid or not part of the VPC specified.

", "SecurityGroupIds$member": null @@ -1344,7 +1812,7 @@ "SecurityGroupIds": { "base": "

A list of security group IDs.

", "refs": { - "CreateFileSystemFromBackupRequest$SecurityGroupIds": "

A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups apply to all network interfaces. This value isn't returned in later DescribeFileSystem requests.

", + "CreateFileSystemFromBackupRequest$SecurityGroupIds": "

A list of IDs for the security groups that apply to the specified network interfaces created for file system access. These security groups apply to all network interfaces. This value isn't returned in later DescribeFileSystem requests.

", "CreateFileSystemRequest$SecurityGroupIds": "

A list of IDs specifying the security groups to apply to all network interfaces created for file system access. This list isn't returned in later requests to describe the file system.

" } }, @@ -1388,14 +1856,96 @@ "refs": { } }, + "Snapshot": { + "base": "

A snapshot of an Amazon FSx for OpenZFS volume.

", + "refs": { + "AdministrativeAction$TargetSnapshotValues": null, + "CreateSnapshotResponse$Snapshot": "

A description of the snapshot.

", + "Snapshots$member": null, + "UpdateSnapshotResponse$Snapshot": "

Returned after a successful UpdateSnapshot operation, describing the snapshot that you updated.

" + } + }, + "SnapshotFilter": { + "base": "

A filter used to restrict the results of DescribeSnapshots calls. You can use multiple filters to return results that meet all applied filter requirements.

", + "refs": { + "SnapshotFilters$member": null + } + }, + "SnapshotFilterName": { + "base": null, + "refs": { + "SnapshotFilter$Name": "

The name of the filter to use. You can filter by the file-system-id or by volume-id.

" + } + }, + "SnapshotFilterValue": { + "base": null, + "refs": { + "SnapshotFilterValues$member": null + } + }, + "SnapshotFilterValues": { + "base": null, + "refs": { + "SnapshotFilter$Values": "

The file-system-id or volume-id that you are filtering for.

" + } + }, + "SnapshotFilters": { + "base": null, + "refs": { + "DescribeSnapshotsRequest$Filters": "

The filters structure. The supported names are file-system-id or volume-id.

" + } + }, + "SnapshotId": { + "base": null, + "refs": { + "DeleteSnapshotRequest$SnapshotId": "

The ID of the snapshot that you want to delete.

", + "DeleteSnapshotResponse$SnapshotId": "

The ID of the deleted snapshot.

", + "RestoreVolumeFromSnapshotRequest$SnapshotId": "

The ID of the source snapshot. Specifies the snapshot that you are restoring from.

", + "Snapshot$SnapshotId": "

The ID of the snapshot.

", + "SnapshotIds$member": null, + "UpdateSnapshotRequest$SnapshotId": "

The ID of the snapshot that you want to update, in the format fsvolsnap-0123456789abcdef0.

" + } + }, + "SnapshotIds": { + "base": null, + "refs": { + "DescribeSnapshotsRequest$SnapshotIds": "

The IDs of the snapshots that you want to retrieve. This parameter value overrides any filters. If any IDs aren't found, a SnapshotNotFound error occurs.

" + } + }, + "SnapshotLifecycle": { + "base": null, + "refs": { + "DeleteSnapshotResponse$Lifecycle": "

The lifecycle status of the snapshot. If the DeleteSnapshot operation is successful, this status is DELETING.

", + "Snapshot$Lifecycle": "

The lifecycle status of the snapshot.

" + } + }, + "SnapshotName": { + "base": null, + "refs": { + "CreateSnapshotRequest$Name": "

The name of the snapshot.

", + "Snapshot$Name": "

The name of the snapshot.

", + "UpdateSnapshotRequest$Name": "

The name of the snapshot to update.

" + } + }, + "SnapshotNotFound": { + "base": "

No Amazon FSx snapshots were found based on the supplied parameters.

", + "refs": { + } + }, + "Snapshots": { + "base": null, + "refs": { + "DescribeSnapshotsResponse$Snapshots": "

An array of snapshots.

" + } + }, "SourceBackupId": { "base": null, "refs": { - "CopyBackupRequest$SourceBackupId": "

The ID of the source backup. Specifies the ID of the backup that is being copied.

" + "CopyBackupRequest$SourceBackupId": "

The ID of the source backup. Specifies the ID of the backup that's being copied.

" } }, "SourceBackupUnavailable": { - "base": "

The request was rejected because the lifecycle status of the source backup is not AVAILABLE.

", + "base": "

The request was rejected because the lifecycle status of the source backup isn't AVAILABLE.

", "refs": { } }, @@ -1408,23 +1958,23 @@ "Status": { "base": null, "refs": { - "AdministrativeAction$Status": "

Describes the status of the administrative action, as follows:

" + "AdministrativeAction$Status": "

Describes the status of the administrative action, as follows:

" } }, "StorageCapacity": { "base": "

The storage capacity for your Amazon FSx file system, in gibibytes.

", "refs": { - "CreateFileSystemRequest$StorageCapacity": "

Sets the storage capacity of the file system that you're creating.

For Lustre file systems:

For Windows file systems:

For ONTAP file systems:

", + "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, GiB, to increase the storage capacity for the file system that you're updating. You cannot 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. In order to increase storage capacity, the file system must have at least 16 MB/s of throughput capacity.

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

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

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

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

The storage type for your Amazon FSx file system.

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

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

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 only 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 you're creating. Valid values are SSD and HDD.

Default value is SSD. For more information, see Storage Type Options in the Amazon FSx for Windows User Guide and Multiple Storage Options in the Amazon FSx for Lustre User Guide.

", - "FileSystem$StorageType": "

The storage type of the file system. Valid values are SSD and HDD. If set to SSD, the file system uses solid state drive storage. If set to HDD, the file system uses hard disk drive storage.

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

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

" } }, "StorageVirtualMachine": { @@ -1522,9 +2072,9 @@ } }, "SubnetId": { - "base": "

The ID for a subnet. A subnet is a range of IP addresses in your virtual private cloud (VPC). For more information, see VPC and Subnets in the Amazon VPC User Guide.

", + "base": "

The ID for a subnet. A subnet is a range of IP addresses in your virtual private cloud (VPC). For more information, see VPC and subnets in the Amazon VPC User Guide.

", "refs": { - "CreateFileSystemOntapConfiguration$PreferredSubnetId": null, + "CreateFileSystemOntapConfiguration$PreferredSubnetId": "

Required when DeploymentType is set to MULTI_AZ_1. This specifies the subnet in which you want the preferred file server to be located.

", "CreateFileSystemWindowsConfiguration$PreferredSubnetId": "

Required when DeploymentType is set to MULTI_AZ_1. This specifies the subnet in which you want the preferred file server to be located. For in-Amazon Web Services applications, we recommend that you launch your clients in the same Availability Zone (AZ) as your preferred file server to reduce cross-AZ data transfer costs and minimize latency.

", "InvalidNetworkSettings$InvalidSubnetId": "

The subnet ID that is either invalid or not part of the VPC specified.

", "OntapFileSystemConfiguration$PreferredSubnetId": null, @@ -1535,9 +2085,9 @@ "SubnetIds": { "base": "

A list of subnet IDs. Currently, you can specify only one subnet ID in a call to the CreateFileSystem operation.

", "refs": { - "CreateFileSystemFromBackupRequest$SubnetIds": "

Specifies the IDs of the subnets that the file system will be accessible from. For Windows MULTI_AZ_1 file system deployment types, provide exactly two subnet IDs, one for the preferred file server and one for the standby file server. You specify one of these subnets as the preferred subnet using the WindowsConfiguration > PreferredSubnetID property.

For Windows SINGLE_AZ_1 and SINGLE_AZ_2 deployment types and Lustre file systems, provide exactly one subnet ID. The file server is launched in that subnet's Availability Zone.

", - "CreateFileSystemRequest$SubnetIds": "

Specifies the IDs of the subnets that the file system will be accessible from. For Windows and ONTAP MULTI_AZ_1 file system deployment types, provide exactly two subnet IDs, one for the preferred file server and one for the standby file server. You specify one of these subnets as the preferred subnet using the WindowsConfiguration > PreferredSubnetID or OntapConfiguration > PreferredSubnetID properties. For more information, see Availability and durability: Single-AZ and Multi-AZ file systems in the Amazon FSx for Windows User Guide and Availability and durability in the Amazon FSx for ONTAP User Guide.

For Windows SINGLE_AZ_1 and SINGLE_AZ_2 file system deployment types and Lustre file systems, provide exactly one subnet ID. The file server is launched in that subnet's Availability Zone.

", - "FileSystem$SubnetIds": "

Specifies the IDs of the subnets that the file system is accessible from. For Windows and ONTAP MULTI_AZ_1 file system deployment type, there are two subnet IDs, one for the preferred file server and one for the standby file server. The preferred file server subnet identified in the PreferredSubnetID property. All other file systems have only one subnet ID.

For Lustre file systems, and Single-AZ Windows file systems, this is the ID of the subnet that contains the endpoint for the file system. For MULTI_AZ_1 Windows and ONTAP file systems, the endpoint for the file system is available in the PreferredSubnetID.

" + "CreateFileSystemFromBackupRequest$SubnetIds": "

Specifies the IDs of the subnets that the file system will be accessible from. For Windows MULTI_AZ_1 file system deployment types, provide exactly two subnet IDs, one for the preferred file server and one for the standby file server. You specify one of these subnets as the preferred subnet using the WindowsConfiguration > PreferredSubnetID property.

Windows SINGLE_AZ_1 and SINGLE_AZ_2 file system deployment types, Lustre file systems, and OpenZFS file systems provide exactly one subnet ID. The file server is launched in that subnet's Availability Zone.

", + "CreateFileSystemRequest$SubnetIds": "

Specifies the IDs of the subnets that the file system will be accessible from. For Windows and ONTAP MULTI_AZ_1 deployment types,provide exactly two subnet IDs, one for the preferred file server and one for the standby file server. You specify one of these subnets as the preferred subnet using the WindowsConfiguration > PreferredSubnetID or OntapConfiguration > PreferredSubnetID properties. For more information about Multi-AZ file system configuration, see Availability and durability: Single-AZ and Multi-AZ file systems in the Amazon FSx for Windows User Guide and Availability and durability in the Amazon FSx for ONTAP User Guide.

For Windows SINGLE_AZ_1 and SINGLE_AZ_2 and all Lustre deployment types, provide exactly one subnet ID. The file server is launched in that subnet's Availability Zone.

", + "FileSystem$SubnetIds": "

Specifies the IDs of the subnets that the file system is accessible from. For the Amazon FSx Windows and ONTAP MULTI_AZ_1 file system deployment type, there are two subnet IDs, one for the preferred file server and one for the standby file server. The preferred file server subnet identified in the PreferredSubnetID property. All other file systems have only one subnet ID.

For FSx for Lustre file systems, and Single-AZ Windows file systems, this is the ID of the subnet that contains the file system's endpoint. For MULTI_AZ_1 Windows and ONTAP file systems, the file system endpoint is available in the PreferredSubnetID.

" } }, "SucceededCount": { @@ -1605,24 +2155,30 @@ "Tags": { "base": "

A list of Tag values, with a maximum of 50 elements.

", "refs": { - "Backup$Tags": "

Tags associated with a particular file system.

", + "Backup$Tags": "

The tags associated with a particular file system.

", "CopyBackupRequest$Tags": null, - "CreateBackupRequest$Tags": "

(Optional) The tags to apply to the backup at backup creation. The key value of the Name tag appears in the console as the backup name. If you have set CopyTagsToBackups to true, and you specify one or more tags using the CreateBackup action, no existing file system tags are copied from the file system to the backup.

", + "CreateBackupRequest$Tags": "

(Optional) The tags to apply to the backup at backup creation. The key value of the Name tag appears in the console as the backup name. If you have set CopyTagsToBackups to true, and you specify one or more tags using the CreateBackup operation, no existing file system tags are copied from the file system to the backup.

", + "CreateDataRepositoryAssociationRequest$Tags": null, "CreateDataRepositoryTaskRequest$Tags": null, "CreateFileSystemFromBackupRequest$Tags": "

The tags to be applied to the file system at file system creation. The key value of the Name tag appears in the console as the file system name.

", - "CreateFileSystemRequest$Tags": "

The tags to apply to the file system being created. The key value of the Name tag appears in the console as the file system name.

", + "CreateFileSystemRequest$Tags": "

The tags to apply to the file system that's being created. The key value of the Name tag appears in the console as the file system name.

", + "CreateSnapshotRequest$Tags": null, "CreateStorageVirtualMachineRequest$Tags": null, "CreateVolumeFromBackupRequest$Tags": null, "CreateVolumeRequest$Tags": null, + "DataRepositoryAssociation$Tags": null, "DataRepositoryTask$Tags": null, "DeleteFileSystemLustreConfiguration$FinalBackupTags": "

Use if SkipFinalBackup is set to false, and you want to apply an array of tags to the final backup. If you have set the file system property CopyTagsToBackups to true, and you specify one or more FinalBackupTags when deleting a file system, Amazon FSx will not copy any existing file system tags to the backup.

", "DeleteFileSystemLustreResponse$FinalBackupTags": "

The set of tags applied to the final backup.

", + "DeleteFileSystemOpenZFSConfiguration$FinalBackupTags": null, + "DeleteFileSystemOpenZFSResponse$FinalBackupTags": null, "DeleteFileSystemWindowsConfiguration$FinalBackupTags": "

A set of tags for your final backup.

", "DeleteFileSystemWindowsResponse$FinalBackupTags": "

The set of tags applied to the final backup.

", "DeleteVolumeOntapConfiguration$FinalBackupTags": null, "DeleteVolumeOntapResponse$FinalBackupTags": null, - "FileSystem$Tags": "

The tags to associate with the file system. For more information, see Tagging Your Amazon EC2 Resources in the Amazon EC2 User Guide.

", + "FileSystem$Tags": "

The tags to associate with the file system. For more information, see Tagging your Amazon EC2 resources in the Amazon EC2 User Guide.

", "ListTagsForResourceResponse$Tags": "

A list of tags on the resource.

", + "Snapshot$Tags": null, "StorageVirtualMachine$Tags": null, "TagResourceRequest$Tags": "

A list of tags for the resource. If a tag with a given key already exists, the value is replaced by the one specified in this parameter.

", "Volume$Tags": null @@ -1666,7 +2222,7 @@ "UUID": { "base": null, "refs": { - "OntapVolumeConfiguration$UUID": "

The volume's UUID (universally unique identifier).

", + "OntapVolumeConfiguration$UUID": "

The volume's universally unique identifier (UUID).

", "StorageVirtualMachine$UUID": "

The SVM's UUID (universally unique identifier).

" } }, @@ -1685,6 +2241,16 @@ "refs": { } }, + "UpdateDataRepositoryAssociationRequest": { + "base": null, + "refs": { + } + }, + "UpdateDataRepositoryAssociationResponse": { + "base": null, + "refs": { + } + }, "UpdateFileSystemLustreConfiguration": { "base": "

The configuration object for Amazon FSx for Lustre file systems used in the UpdateFileSystem operation.

", "refs": { @@ -1697,6 +2263,12 @@ "UpdateFileSystemRequest$OntapConfiguration": null } }, + "UpdateFileSystemOpenZFSConfiguration": { + "base": "

The configuration updates for an Amazon FSx for OpenZFS file system.

", + "refs": { + "UpdateFileSystemRequest$OpenZFSConfiguration": "

The configuration updates for an Amazon FSx for OpenZFS file system.

" + } + }, "UpdateFileSystemRequest": { "base": "

The request object for the UpdateFileSystem operation.

", "refs": { @@ -1716,7 +2288,23 @@ "UpdateOntapVolumeConfiguration": { "base": "

Used to specify changes to the ONTAP configuration for the volume you are updating.

", "refs": { - "UpdateVolumeRequest$OntapConfiguration": "

The ONTAP configuration of the volume you are updating.

" + "UpdateVolumeRequest$OntapConfiguration": "

The configuration of the ONTAP volume that you are updating.

" + } + }, + "UpdateOpenZFSVolumeConfiguration": { + "base": "

Used to specify changes to the OpenZFS configuration for the volume that you are updating.

", + "refs": { + "UpdateVolumeRequest$OpenZFSConfiguration": "

The configuration of the OpenZFS volume that you are updating.

" + } + }, + "UpdateSnapshotRequest": { + "base": null, + "refs": { + } + }, + "UpdateSnapshotResponse": { + "base": null, + "refs": { } }, "UpdateStorageVirtualMachineRequest": { @@ -1730,7 +2318,7 @@ } }, "UpdateSvmActiveDirectoryConfiguration": { - "base": "

Updates the Microsoft Active Directory (AD) configuration of an SVM joined to an AD. Pleae note, account credentials are not returned in the response payload.

", + "base": "

Updates the Microsoft Active Directory (AD) configuration of an SVM joined to an AD. Please note, account credentials are not returned in the response payload.

", "refs": { "UpdateStorageVirtualMachineRequest$ActiveDirectoryConfiguration": "

Updates the Microsoft Active Directory (AD) configuration for an SVM that is joined to an AD.

" } @@ -1746,13 +2334,13 @@ } }, "Volume": { - "base": "

Describes an Amazon FSx for NetApp ONTAP volume.

", + "base": "

Describes an Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS volume.

", "refs": { "AdministrativeAction$TargetVolumeValues": null, "Backup$Volume": null, "CreateVolumeFromBackupResponse$Volume": "

Returned after a successful CreateVolumeFromBackup API operation, describing the volume just created.

", "CreateVolumeResponse$Volume": "

Returned after a successful CreateVolume API operation, describing the volume just created.

", - "UpdateVolumeResponse$Volume": "

Returned after a successful UpdateVolume API operation, describing the volume just updated.

", + "UpdateVolumeResponse$Volume": "

A description of the volume just updated. Returned after a successful UpdateVolume API operation.

", "Volumes$member": null } }, @@ -1765,7 +2353,7 @@ } }, "VolumeFilter": { - "base": "

A filter used to restrict the results of describe calls for Amazon FSx for NetApp ONTAP volumes. You can use multiple filters to return results that meet all applied filter requirements.

", + "base": "

A filter used to restrict the results of describe calls for Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS volumes. You can use multiple filters to return results that meet all applied filter requirements.

", "refs": { "VolumeFilters$member": null } @@ -1791,16 +2379,23 @@ "VolumeFilters": { "base": null, "refs": { - "DescribeVolumesRequest$Filters": "

Enter a filter name:value pair to view a select set of volumes.

" + "DescribeVolumesRequest$Filters": "

Enter a filter Name and Values pair to view a select set of volumes.

" } }, "VolumeId": { "base": null, "refs": { - "CreateBackupRequest$VolumeId": "

The ID of he FSx for NetApp ONTAP volume to back up.

", - "DeleteVolumeRequest$VolumeId": "

The ID of the volume you are deleting.

", - "DeleteVolumeResponse$VolumeId": "

The ID of the volume being deleted.

", - "UpdateVolumeRequest$VolumeId": "

Specifies the volume that you want to update, formatted fsvol-0123456789abcdef0.

", + "CreateBackupRequest$VolumeId": "

(Optional) The ID of the FSx for ONTAP volume to back up.

", + "CreateOpenZFSVolumeConfiguration$ParentVolumeId": "

The ID of the volume to use as the parent volume.

", + "CreateSnapshotRequest$VolumeId": "

The ID of the volume that you are taking a snapshot of.

", + "DeleteVolumeRequest$VolumeId": "

The ID of the volume that you are deleting.

", + "DeleteVolumeResponse$VolumeId": "

The ID of the volume that's being deleted.

", + "OpenZFSFileSystemConfiguration$RootVolumeId": "

The ID of the root volume of the OpenZFS file system.

", + "OpenZFSVolumeConfiguration$ParentVolumeId": "

The ID of the parent volume.

", + "RestoreVolumeFromSnapshotRequest$VolumeId": "

The ID of the volume that you are restoring.

", + "RestoreVolumeFromSnapshotResponse$VolumeId": "

The ID of the volume that you restored.

", + "Snapshot$VolumeId": "

The ID of the volume that the snapshot is of.

", + "UpdateVolumeRequest$VolumeId": "

The ID of the volume that you want to update, in the format fsvol-0123456789abcdef0.

", "Volume$VolumeId": "

The system-generated, unique ID of the volume.

", "VolumeIds$member": null } @@ -1808,21 +2403,23 @@ "VolumeIds": { "base": null, "refs": { - "DescribeVolumesRequest$VolumeIds": "

IDs of the volumes whose descriptions you want to retrieve.

" + "DescribeVolumesRequest$VolumeIds": "

The IDs of the volumes whose descriptions you want to retrieve.

" } }, "VolumeLifecycle": { "base": null, "refs": { - "DeleteVolumeResponse$Lifecycle": "

Describes the lifecycle state of the volume being deleted.

", - "Volume$Lifecycle": "

The lifecycle status of the volume.

" + "DeleteVolumeResponse$Lifecycle": "

The lifecycle state of the volume being deleted. If the DeleteVolume operation is successful, this value is DELETING.

", + "RestoreVolumeFromSnapshotResponse$Lifecycle": "

The lifecycle state of the volume being restored.

", + "Volume$Lifecycle": "

The lifecycle status of the volume.

" } }, "VolumeName": { "base": null, "refs": { "CreateVolumeFromBackupRequest$Name": "

The name of the new volume you're creating.

", - "CreateVolumeRequest$Name": "

Specifies the name of the volume you're creating.

", + "CreateVolumeRequest$Name": "

Specifies the name of the volume that you're creating.

", + "UpdateVolumeRequest$Name": "

The name of the OpenZFS volume. OpenZFS root volumes are automatically named FSX. Child volume names must be unique among their parent volume's children. The name of the volume is part of the mount string for the OpenZFS volume.

", "Volume$Name": "

The name of the volume.

" } }, @@ -1831,11 +2428,17 @@ "refs": { } }, + "VolumePath": { + "base": null, + "refs": { + "OpenZFSVolumeConfiguration$VolumePath": "

The path to the volume from the root volume. For example, fsx/parentVolume/volume1.

" + } + }, "VolumeType": { "base": null, "refs": { - "CreateVolumeRequest$VolumeType": "

Specifies the type of volume to create; ONTAP is the only valid volume type.

", - "Volume$VolumeType": "

The type of volume; ONTAP is the only valid volume type.

" + "CreateVolumeRequest$VolumeType": "

Specifies the type of volume to create; ONTAP and OPENZFS are the only valid volume types.

", + "Volume$VolumeType": "

The type of the volume.

" } }, "Volumes": { @@ -1845,9 +2448,9 @@ } }, "VpcId": { - "base": "

The ID of your virtual private cloud (VPC). For more information, see VPC and Subnets in the Amazon VPC User Guide.

", + "base": "

The ID of your virtual private cloud (VPC). For more information, see VPC and subnets in the Amazon VPC User Guide.

", "refs": { - "FileSystem$VpcId": "

The ID of the primary VPC for the file system.

" + "FileSystem$VpcId": "

The ID of the primary virtual private cloud (VPC) for the file system.

" } }, "WeeklyTime": { @@ -1855,11 +2458,14 @@ "refs": { "CreateFileSystemLustreConfiguration$WeeklyMaintenanceStartTime": "

(Optional) The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

", "CreateFileSystemOntapConfiguration$WeeklyMaintenanceStartTime": null, + "CreateFileSystemOpenZFSConfiguration$WeeklyMaintenanceStartTime": null, "CreateFileSystemWindowsConfiguration$WeeklyMaintenanceStartTime": "

The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

", - "LustreFileSystemConfiguration$WeeklyMaintenanceStartTime": "

The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

", + "LustreFileSystemConfiguration$WeeklyMaintenanceStartTime": "

The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. Here, d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

", "OntapFileSystemConfiguration$WeeklyMaintenanceStartTime": null, + "OpenZFSFileSystemConfiguration$WeeklyMaintenanceStartTime": null, "UpdateFileSystemLustreConfiguration$WeeklyMaintenanceStartTime": "

(Optional) The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

", "UpdateFileSystemOntapConfiguration$WeeklyMaintenanceStartTime": null, + "UpdateFileSystemOpenZFSConfiguration$WeeklyMaintenanceStartTime": null, "UpdateFileSystemWindowsConfiguration$WeeklyMaintenanceStartTime": "

The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. Where d is the weekday number, from 1 through 7, with 1 = Monday and 7 = Sunday.

", "WindowsFileSystemConfiguration$WeeklyMaintenanceStartTime": "

The preferred start time to perform weekly maintenance, formatted d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7, beginning with Monday and ending with Sunday.

" } @@ -1896,7 +2502,7 @@ "WindowsFileSystemConfiguration": { "base": "

The configuration for this Microsoft Windows file system.

", "refs": { - "FileSystem$WindowsConfiguration": "

The configuration for this Microsoft Windows file system.

" + "FileSystem$WindowsConfiguration": "

The configuration for this FSx for Windows File Server file system.

" } } } diff --git a/models/apis/fsx/2018-03-01/paginators-1.json b/models/apis/fsx/2018-03-01/paginators-1.json index 09207d5d179..a1d7aab00e9 100644 --- a/models/apis/fsx/2018-03-01/paginators-1.json +++ b/models/apis/fsx/2018-03-01/paginators-1.json @@ -5,6 +5,11 @@ "output_token": "NextToken", "limit_key": "MaxResults" }, + "DescribeDataRepositoryAssociations": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "DescribeDataRepositoryTasks": { "input_token": "NextToken", "output_token": "NextToken", @@ -20,6 +25,11 @@ "output_token": "NextToken", "limit_key": "MaxResults" }, + "DescribeSnapshots": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, "DescribeStorageVirtualMachines": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/glue/2017-03-31/api-2.json b/models/apis/glue/2017-03-31/api-2.json index b1b04ad6a83..29f3559e4f6 100644 --- a/models/apis/glue/2017-03-31/api-2.json +++ b/models/apis/glue/2017-03-31/api-2.json @@ -70,7 +70,9 @@ {"shape":"InvalidInputException"}, {"shape":"EntityNotFoundException"}, {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} + {"shape":"OperationTimeoutException"}, + {"shape":"GlueEncryptionException"}, + {"shape":"ResourceNotReadyException"} ] }, "BatchDeleteTableVersion":{ @@ -157,7 +159,8 @@ {"shape":"EntityNotFoundException"}, {"shape":"OperationTimeoutException"}, {"shape":"InternalServiceException"}, - {"shape":"GlueEncryptionException"} + {"shape":"GlueEncryptionException"}, + {"shape":"InvalidStateException"} ] }, "BatchGetTriggers":{ @@ -496,7 +499,8 @@ {"shape":"InternalServiceException"}, {"shape":"OperationTimeoutException"}, {"shape":"GlueEncryptionException"}, - {"shape":"ConcurrentModificationException"} + {"shape":"ConcurrentModificationException"}, + {"shape":"ResourceNotReadyException"} ] }, "CreateTrigger":{ @@ -821,7 +825,8 @@ {"shape":"InvalidInputException"}, {"shape":"InternalServiceException"}, {"shape":"OperationTimeoutException"}, - {"shape":"ConcurrentModificationException"} + {"shape":"ConcurrentModificationException"}, + {"shape":"ResourceNotReadyException"} ] }, "DeleteTableVersion":{ @@ -1350,7 +1355,9 @@ {"shape":"InvalidInputException"}, {"shape":"OperationTimeoutException"}, {"shape":"InternalServiceException"}, - {"shape":"GlueEncryptionException"} + {"shape":"GlueEncryptionException"}, + {"shape":"InvalidStateException"}, + {"shape":"ResourceNotReadyException"} ] }, "GetPlan":{ @@ -1515,7 +1522,8 @@ {"shape":"InvalidInputException"}, {"shape":"InternalServiceException"}, {"shape":"OperationTimeoutException"}, - {"shape":"GlueEncryptionException"} + {"shape":"GlueEncryptionException"}, + {"shape":"ResourceNotReadyException"} ] }, "GetTableVersion":{ @@ -2509,7 +2517,8 @@ {"shape":"OperationTimeoutException"}, {"shape":"ConcurrentModificationException"}, {"shape":"ResourceNumberLimitExceededException"}, - {"shape":"GlueEncryptionException"} + {"shape":"GlueEncryptionException"}, + {"shape":"ResourceNotReadyException"} ] }, "UpdateTrigger":{ @@ -2698,7 +2707,8 @@ "members":{ "CatalogId":{"shape":"CatalogIdString"}, "DatabaseName":{"shape":"NameString"}, - "TablesToDelete":{"shape":"BatchDeleteTableNameList"} + "TablesToDelete":{"shape":"BatchDeleteTableNameList"}, + "TransactionId":{"shape":"TransactionIdString"} } }, "BatchDeleteTableResponse":{ @@ -4062,7 +4072,8 @@ "CatalogId":{"shape":"CatalogIdString"}, "DatabaseName":{"shape":"NameString"}, "TableInput":{"shape":"TableInput"}, - "PartitionIndexes":{"shape":"PartitionIndexList"} + "PartitionIndexes":{"shape":"PartitionIndexList"}, + "TransactionId":{"shape":"TransactionIdString"} } }, "CreateTableResponse":{ @@ -4571,7 +4582,8 @@ "members":{ "CatalogId":{"shape":"CatalogIdString"}, "DatabaseName":{"shape":"NameString"}, - "Name":{"shape":"NameString"} + "Name":{"shape":"NameString"}, + "TransactionId":{"shape":"TransactionIdString"} } }, "DeleteTableResponse":{ @@ -5426,7 +5438,9 @@ "NextToken":{"shape":"Token"}, "Segment":{"shape":"Segment"}, "MaxResults":{"shape":"PageSize"}, - "ExcludeColumnSchema":{"shape":"BooleanNullable"} + "ExcludeColumnSchema":{"shape":"BooleanNullable"}, + "TransactionId":{"shape":"TransactionIdString"}, + "QueryAsOfTime":{"shape":"Timestamp"} } }, "GetPartitionsResponse":{ @@ -5632,7 +5646,9 @@ "members":{ "CatalogId":{"shape":"CatalogIdString"}, "DatabaseName":{"shape":"NameString"}, - "Name":{"shape":"NameString"} + "Name":{"shape":"NameString"}, + "TransactionId":{"shape":"TransactionIdString"}, + "QueryAsOfTime":{"shape":"Timestamp"} } }, "GetTableResponse":{ @@ -5693,7 +5709,9 @@ "DatabaseName":{"shape":"NameString"}, "Expression":{"shape":"FilterString"}, "NextToken":{"shape":"Token"}, - "MaxResults":{"shape":"CatalogGetterPageSize"} + "MaxResults":{"shape":"CatalogGetterPageSize"}, + "TransactionId":{"shape":"TransactionIdString"}, + "QueryAsOfTime":{"shape":"Timestamp"} } }, "GetTablesResponse":{ @@ -5989,6 +6007,13 @@ }, "exception":true }, + "InvalidStateException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, "IsVersionValid":{"type":"boolean"}, "JdbcTarget":{ "type":"structure", @@ -7137,6 +7162,13 @@ "JobBookmarkEntry":{"shape":"JobBookmarkEntry"} } }, + "ResourceNotReadyException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "exception":true + }, "ResourceNumberLimitExceededException":{ "type":"structure", "members":{ @@ -7988,6 +8020,12 @@ "max":10, "min":1 }, + "TransactionIdString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\p{L}\\p{N}\\p{P}]*" + }, "TransformEncryption":{ "type":"structure", "members":{ @@ -8468,7 +8506,8 @@ "CatalogId":{"shape":"CatalogIdString"}, "DatabaseName":{"shape":"NameString"}, "TableInput":{"shape":"TableInput"}, - "SkipArchive":{"shape":"BooleanNullable"} + "SkipArchive":{"shape":"BooleanNullable"}, + "TransactionId":{"shape":"TransactionIdString"} } }, "UpdateTableResponse":{ diff --git a/models/apis/glue/2017-03-31/docs-2.json b/models/apis/glue/2017-03-31/docs-2.json index c2eef10b1ce..fa416ba4505 100644 --- a/models/apis/glue/2017-03-31/docs-2.json +++ b/models/apis/glue/2017-03-31/docs-2.json @@ -2965,6 +2965,11 @@ "refs": { } }, + "InvalidStateException": { + "base": "

An error that indicates your data is in an invalid state.

", + "refs": { + } + }, "IsVersionValid": { "base": null, "refs": { @@ -3439,9 +3444,11 @@ "IllegalWorkflowStateException$Message": "

A message describing the problem.

", "InternalServiceException$Message": "

A message describing the problem.

", "InvalidInputException$Message": "

A message describing the problem.

", + "InvalidStateException$Message": "

A message describing the problem.

", "MLTransformNotReadyException$Message": "

A message describing the problem.

", "NoScheduleException$Message": "

A message describing the problem.

", "OperationTimeoutException$Message": "

A message describing the problem.

", + "ResourceNotReadyException$Message": "

A message describing the problem.

", "ResourceNumberLimitExceededException$Message": "

A message describing the problem.

", "SchedulerNotRunningException$Message": "

A message describing the problem.

", "SchedulerRunningException$Message": "

A message describing the problem.

", @@ -4393,6 +4400,11 @@ "refs": { } }, + "ResourceNotReadyException": { + "base": "

A resource was not ready for a transaction.

", + "refs": { + } + }, "ResourceNumberLimitExceededException": { "base": "

A resource numerical limit was exceeded.

", "refs": { @@ -5226,8 +5238,11 @@ "GetMLTaskRunResponse$CompletedOn": "

The date and time when this task run was completed.

", "GetMLTransformResponse$CreatedOn": "

The date and time when the transform was created.

", "GetMLTransformResponse$LastModifiedOn": "

The date and time when the transform was last modified.

", + "GetPartitionsRequest$QueryAsOfTime": "

The time as of when to read the partition contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with TransactionId.

", "GetResourcePolicyResponse$CreateTime": "

The date and time at which the policy was created.

", "GetResourcePolicyResponse$UpdateTime": "

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

", + "GetTableRequest$QueryAsOfTime": "

The time as of when to read the table contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with TransactionId.

", + "GetTablesRequest$QueryAsOfTime": "

The time as of when to read the table contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with TransactionId.

", "GluePolicy$CreateTime": "

The date and time at which the policy was created.

", "GluePolicy$UpdateTime": "

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

", "GrokClassifier$CreationTime": "

The time that this classifier was registered.

", @@ -5325,6 +5340,18 @@ "Segment$TotalSegments": "

The total number of segments.

" } }, + "TransactionIdString": { + "base": null, + "refs": { + "BatchDeleteTableRequest$TransactionId": "

The transaction ID at which to delete the table contents.

", + "CreateTableRequest$TransactionId": "

The ID of the transaction.

", + "DeleteTableRequest$TransactionId": "

The transaction ID at which to delete the table contents.

", + "GetPartitionsRequest$TransactionId": "

The transaction ID at which to read the partition contents.

", + "GetTableRequest$TransactionId": "

The transaction ID at which to read the table contents.

", + "GetTablesRequest$TransactionId": "

The transaction ID at which to read the table contents.

", + "UpdateTableRequest$TransactionId": "

The transaction ID at which to update the table contents.

" + } + }, "TransformEncryption": { "base": "

The encryption-at-rest settings of the transform that apply to accessing user data. Machine learning transforms can access user data encrypted in Amazon S3 using KMS.

Additionally, imported labels and trained transforms can now be encrypted using a customer provided KMS key.

", "refs": { diff --git a/models/apis/iot/2015-05-28/api-2.json b/models/apis/iot/2015-05-28/api-2.json index 05684d57a81..8eb653d1219 100644 --- a/models/apis/iot/2015-05-28/api-2.json +++ b/models/apis/iot/2015-05-28/api-2.json @@ -7478,6 +7478,13 @@ "type":"string", "enum":["DEACTIVATE"] }, + "DeviceDefenderIndexingMode":{ + "type":"string", + "enum":[ + "OFF", + "VIOLATIONS" + ] + }, "DeviceDefenderThingName":{ "type":"string", "max":128, @@ -10665,6 +10672,13 @@ "max":65535, "min":1 }, + "NamedShadowIndexingMode":{ + "type":"string", + "enum":[ + "OFF", + "ON" + ] + }, "NamespaceId":{ "type":"string", "max":64, @@ -12290,6 +12304,7 @@ "thingGroupNames":{"shape":"ThingGroupNameList"}, "attributes":{"shape":"Attributes"}, "shadow":{"shape":"JsonDocument"}, + "deviceDefender":{"shape":"JsonDocument"}, "connectivity":{"shape":"ThingConnectivity"} } }, @@ -12385,6 +12400,8 @@ "members":{ "thingIndexingMode":{"shape":"ThingIndexingMode"}, "thingConnectivityIndexingMode":{"shape":"ThingConnectivityIndexingMode"}, + "deviceDefenderIndexingMode":{"shape":"DeviceDefenderIndexingMode"}, + "namedShadowIndexingMode":{"shape":"NamedShadowIndexingMode"}, "managedFields":{"shape":"Fields"}, "customFields":{"shape":"Fields"} } diff --git a/models/apis/iot/2015-05-28/docs-2.json b/models/apis/iot/2015-05-28/docs-2.json index c2448b3b6a5..3c6a698c0d2 100644 --- a/models/apis/iot/2015-05-28/docs-2.json +++ b/models/apis/iot/2015-05-28/docs-2.json @@ -2987,6 +2987,12 @@ "UpdateDeviceCertificateParams$action": "

The action that you want to apply to the device certificate. The only supported value is DEACTIVATE.

" } }, + "DeviceDefenderIndexingMode": { + "base": null, + "refs": { + "ThingIndexingConfiguration$deviceDefenderIndexingMode": "

Device Defender indexing mode. Valid values are:

For more information about Device Defender violations, see Device Defender Detect.

" + } + }, "DeviceDefenderThingName": { "base": null, "refs": { @@ -3517,7 +3523,7 @@ "refs": { "CreateFleetMetricRequest$unit": "

Used to support unit transformation such as milliseconds to seconds. The unit must be supported by CW metric. Default to null.

", "DescribeFleetMetricResponse$unit": "

Used to support unit transformation such as milliseconds to seconds. The unit must be supported by CW metric.

", - "UpdateFleetMetricRequest$unit": "

Used to support unit transformation such as milliseconds to seconds. The unit must be supported by CW metric.

" + "UpdateFleetMetricRequest$unit": "

Used to support unit transformation such as milliseconds to seconds. The unit must be supported by CW metric.

" } }, "ForceDelete": { @@ -3904,7 +3910,7 @@ "IndexSchema": { "base": null, "refs": { - "DescribeIndexResponse$schema": "

Contains a value that specifies the type of indexing performed. Valid values are:

" + "DescribeIndexResponse$schema": "

Contains a value that specifies the type of indexing performed. Valid values are:

" } }, "IndexStatus": { @@ -4231,7 +4237,8 @@ "JsonDocument": { "base": null, "refs": { - "ThingDocument$shadow": "

The shadow.

" + "ThingDocument$shadow": "

The unnamed shadow and named shadow.

For more information about shadows, see IoT Device Shadow service.

", + "ThingDocument$deviceDefender": "

Contains Device Defender data.

For more information about Device Defender, see Device Defender.

" } }, "KafkaAction": { @@ -5265,6 +5272,12 @@ "MqttContext$username": "

The value of the username key in an MQTT authorization request.

" } }, + "NamedShadowIndexingMode": { + "base": null, + "refs": { + "ThingIndexingConfiguration$namedShadowIndexingMode": "

Named shadow indexing mode. Valid values are:

For more information about Shadows, see IoT Device Shadow service.

" + } + }, "NamespaceId": { "base": null, "refs": { diff --git a/models/apis/iottwinmaker/2021-11-29/api-2.json b/models/apis/iottwinmaker/2021-11-29/api-2.json new file mode 100644 index 00000000000..b27225fe03a --- /dev/null +++ b/models/apis/iottwinmaker/2021-11-29/api-2.json @@ -0,0 +1,2054 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2021-11-29", + "endpointPrefix":"iottwinmaker", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"AWS IoT TwinMaker", + "serviceId":"IoTTwinMaker", + "signatureVersion":"v4", + "signingName":"iottwinmaker", + "uid":"iottwinmaker-2021-11-29" + }, + "operations":{ + "BatchPutPropertyValues":{ + "name":"BatchPutPropertyValues", + "http":{ + "method":"POST", + "requestUri":"/workspaces/{workspaceId}/entity-properties", + "responseCode":200 + }, + "input":{"shape":"BatchPutPropertyValuesRequest"}, + "output":{"shape":"BatchPutPropertyValuesResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "endpoint":{"hostPrefix":"data."} + }, + "CreateComponentType":{ + "name":"CreateComponentType", + "http":{ + "method":"POST", + "requestUri":"/workspaces/{workspaceId}/component-types/{componentTypeId}", + "responseCode":200 + }, + "input":{"shape":"CreateComponentTypeRequest"}, + "output":{"shape":"CreateComponentTypeResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "CreateEntity":{ + "name":"CreateEntity", + "http":{ + "method":"POST", + "requestUri":"/workspaces/{workspaceId}/entities", + "responseCode":200 + }, + "input":{"shape":"CreateEntityRequest"}, + "output":{"shape":"CreateEntityResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "CreateScene":{ + "name":"CreateScene", + "http":{ + "method":"POST", + "requestUri":"/workspaces/{workspaceId}/scenes", + "responseCode":200 + }, + "input":{"shape":"CreateSceneRequest"}, + "output":{"shape":"CreateSceneResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "CreateWorkspace":{ + "name":"CreateWorkspace", + "http":{ + "method":"POST", + "requestUri":"/workspaces/{workspaceId}", + "responseCode":200 + }, + "input":{"shape":"CreateWorkspaceRequest"}, + "output":{"shape":"CreateWorkspaceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "DeleteComponentType":{ + "name":"DeleteComponentType", + "http":{ + "method":"DELETE", + "requestUri":"/workspaces/{workspaceId}/component-types/{componentTypeId}", + "responseCode":200 + }, + "input":{"shape":"DeleteComponentTypeRequest"}, + "output":{"shape":"DeleteComponentTypeResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "DeleteEntity":{ + "name":"DeleteEntity", + "http":{ + "method":"DELETE", + "requestUri":"/workspaces/{workspaceId}/entities/{entityId}", + "responseCode":200 + }, + "input":{"shape":"DeleteEntityRequest"}, + "output":{"shape":"DeleteEntityResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "DeleteScene":{ + "name":"DeleteScene", + "http":{ + "method":"DELETE", + "requestUri":"/workspaces/{workspaceId}/scenes/{sceneId}", + "responseCode":200 + }, + "input":{"shape":"DeleteSceneRequest"}, + "output":{"shape":"DeleteSceneResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "DeleteWorkspace":{ + "name":"DeleteWorkspace", + "http":{ + "method":"DELETE", + "requestUri":"/workspaces/{workspaceId}", + "responseCode":200 + }, + "input":{"shape":"DeleteWorkspaceRequest"}, + "output":{"shape":"DeleteWorkspaceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "GetComponentType":{ + "name":"GetComponentType", + "http":{ + "method":"GET", + "requestUri":"/workspaces/{workspaceId}/component-types/{componentTypeId}", + "responseCode":200 + }, + "input":{"shape":"GetComponentTypeRequest"}, + "output":{"shape":"GetComponentTypeResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "GetEntity":{ + "name":"GetEntity", + "http":{ + "method":"GET", + "requestUri":"/workspaces/{workspaceId}/entities/{entityId}", + "responseCode":200 + }, + "input":{"shape":"GetEntityRequest"}, + "output":{"shape":"GetEntityResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "GetPropertyValue":{ + "name":"GetPropertyValue", + "http":{ + "method":"POST", + "requestUri":"/workspaces/{workspaceId}/entity-properties/value", + "responseCode":200 + }, + "input":{"shape":"GetPropertyValueRequest"}, + "output":{"shape":"GetPropertyValueResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ConnectorFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConnectorTimeoutException"} + ], + "endpoint":{"hostPrefix":"data."} + }, + "GetPropertyValueHistory":{ + "name":"GetPropertyValueHistory", + "http":{ + "method":"POST", + "requestUri":"/workspaces/{workspaceId}/entity-properties/history", + "responseCode":200 + }, + "input":{"shape":"GetPropertyValueHistoryRequest"}, + "output":{"shape":"GetPropertyValueHistoryResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ConnectorFailureException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConnectorTimeoutException"} + ], + "endpoint":{"hostPrefix":"data."} + }, + "GetScene":{ + "name":"GetScene", + "http":{ + "method":"GET", + "requestUri":"/workspaces/{workspaceId}/scenes/{sceneId}", + "responseCode":200 + }, + "input":{"shape":"GetSceneRequest"}, + "output":{"shape":"GetSceneResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "GetWorkspace":{ + "name":"GetWorkspace", + "http":{ + "method":"GET", + "requestUri":"/workspaces/{workspaceId}", + "responseCode":200 + }, + "input":{"shape":"GetWorkspaceRequest"}, + "output":{"shape":"GetWorkspaceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "ListComponentTypes":{ + "name":"ListComponentTypes", + "http":{ + "method":"POST", + "requestUri":"/workspaces/{workspaceId}/component-types-list", + "responseCode":200 + }, + "input":{"shape":"ListComponentTypesRequest"}, + "output":{"shape":"ListComponentTypesResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "ListEntities":{ + "name":"ListEntities", + "http":{ + "method":"POST", + "requestUri":"/workspaces/{workspaceId}/entities-list", + "responseCode":200 + }, + "input":{"shape":"ListEntitiesRequest"}, + "output":{"shape":"ListEntitiesResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "ListScenes":{ + "name":"ListScenes", + "http":{ + "method":"POST", + "requestUri":"/workspaces/{workspaceId}/scenes-list", + "responseCode":200 + }, + "input":{"shape":"ListScenesRequest"}, + "output":{"shape":"ListScenesResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"POST", + "requestUri":"/tags-list", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "ListWorkspaces":{ + "name":"ListWorkspaces", + "http":{ + "method":"POST", + "requestUri":"/workspaces-list", + "responseCode":200 + }, + "input":{"shape":"ListWorkspacesRequest"}, + "output":{"shape":"ListWorkspacesResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"TooManyTagsException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "UpdateComponentType":{ + "name":"UpdateComponentType", + "http":{ + "method":"PUT", + "requestUri":"/workspaces/{workspaceId}/component-types/{componentTypeId}", + "responseCode":200 + }, + "input":{"shape":"UpdateComponentTypeRequest"}, + "output":{"shape":"UpdateComponentTypeResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "UpdateEntity":{ + "name":"UpdateEntity", + "http":{ + "method":"PUT", + "requestUri":"/workspaces/{workspaceId}/entities/{entityId}", + "responseCode":200 + }, + "input":{"shape":"UpdateEntityRequest"}, + "output":{"shape":"UpdateEntityResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "UpdateScene":{ + "name":"UpdateScene", + "http":{ + "method":"PUT", + "requestUri":"/workspaces/{workspaceId}/scenes/{sceneId}", + "responseCode":200 + }, + "input":{"shape":"UpdateSceneRequest"}, + "output":{"shape":"UpdateSceneResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "endpoint":{"hostPrefix":"api."} + }, + "UpdateWorkspace":{ + "name":"UpdateWorkspace", + "http":{ + "method":"PUT", + "requestUri":"/workspaces/{workspaceId}", + "responseCode":200 + }, + "input":{"shape":"UpdateWorkspaceRequest"}, + "output":{"shape":"UpdateWorkspaceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "endpoint":{"hostPrefix":"api."} + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "BatchPutPropertyError":{ + "type":"structure", + "required":[ + "entry", + "errorCode", + "errorMessage" + ], + "members":{ + "entry":{"shape":"PropertyValueEntry"}, + "errorCode":{"shape":"String"}, + "errorMessage":{"shape":"String"} + } + }, + "BatchPutPropertyErrorEntry":{ + "type":"structure", + "required":["errors"], + "members":{ + "errors":{"shape":"Errors"} + } + }, + "BatchPutPropertyValuesRequest":{ + "type":"structure", + "required":[ + "entries", + "workspaceId" + ], + "members":{ + "entries":{"shape":"Entries"}, + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "BatchPutPropertyValuesResponse":{ + "type":"structure", + "required":["errorEntries"], + "members":{ + "errorEntries":{"shape":"ErrorEntries"} + } + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "ComponentRequest":{ + "type":"structure", + "members":{ + "componentTypeId":{"shape":"ComponentTypeId"}, + "description":{"shape":"Description"}, + "properties":{"shape":"PropertyRequests"} + } + }, + "ComponentResponse":{ + "type":"structure", + "members":{ + "componentName":{"shape":"Name"}, + "componentTypeId":{"shape":"ComponentTypeId"}, + "definedIn":{"shape":"String"}, + "description":{"shape":"Description"}, + "properties":{"shape":"PropertyResponses"}, + "status":{"shape":"Status"} + } + }, + "ComponentTypeId":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z_\\.\\-0-9:]+" + }, + "ComponentTypeSummaries":{ + "type":"list", + "member":{"shape":"ComponentTypeSummary"} + }, + "ComponentTypeSummary":{ + "type":"structure", + "required":[ + "arn", + "componentTypeId", + "creationDateTime", + "updateDateTime" + ], + "members":{ + "arn":{"shape":"TwinMakerArn"}, + "componentTypeId":{"shape":"ComponentTypeId"}, + "creationDateTime":{"shape":"Timestamp"}, + "description":{"shape":"Description"}, + "status":{"shape":"Status"}, + "updateDateTime":{"shape":"Timestamp"} + } + }, + "ComponentUpdateRequest":{ + "type":"structure", + "members":{ + "componentTypeId":{"shape":"ComponentTypeId"}, + "description":{"shape":"Description"}, + "propertyUpdates":{"shape":"PropertyRequests"}, + "updateType":{"shape":"ComponentUpdateType"} + } + }, + "ComponentUpdateType":{ + "type":"string", + "enum":[ + "CREATE", + "UPDATE", + "DELETE" + ] + }, + "ComponentUpdatesMapRequest":{ + "type":"map", + "key":{"shape":"Name"}, + "value":{"shape":"ComponentUpdateRequest"} + }, + "ComponentsMap":{ + "type":"map", + "key":{"shape":"Name"}, + "value":{"shape":"ComponentResponse"} + }, + "ComponentsMapRequest":{ + "type":"map", + "key":{"shape":"Name"}, + "value":{"shape":"ComponentRequest"} + }, + "Configuration":{ + "type":"map", + "key":{"shape":"Name"}, + "value":{"shape":"Value"} + }, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "ConnectorFailureException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{ + "httpStatusCode":424, + "senderFault":true + }, + "exception":true + }, + "ConnectorTimeoutException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{ + "httpStatusCode":424, + "senderFault":true + }, + "exception":true + }, + "CreateComponentTypeRequest":{ + "type":"structure", + "required":[ + "componentTypeId", + "workspaceId" + ], + "members":{ + "componentTypeId":{ + "shape":"ComponentTypeId", + "location":"uri", + "locationName":"componentTypeId" + }, + "description":{"shape":"Description"}, + "extendsFrom":{"shape":"ExtendsFrom"}, + "functions":{"shape":"FunctionsRequest"}, + "isSingleton":{"shape":"Boolean"}, + "propertyDefinitions":{"shape":"PropertyDefinitionsRequest"}, + "tags":{"shape":"TagMap"}, + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "CreateComponentTypeResponse":{ + "type":"structure", + "required":[ + "arn", + "creationDateTime", + "state" + ], + "members":{ + "arn":{"shape":"TwinMakerArn"}, + "creationDateTime":{"shape":"Timestamp"}, + "state":{"shape":"State"} + } + }, + "CreateEntityRequest":{ + "type":"structure", + "required":[ + "entityName", + "workspaceId" + ], + "members":{ + "components":{"shape":"ComponentsMapRequest"}, + "description":{"shape":"Description"}, + "entityId":{"shape":"EntityId"}, + "entityName":{"shape":"EntityName"}, + "parentEntityId":{"shape":"ParentEntityId"}, + "tags":{"shape":"TagMap"}, + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "CreateEntityResponse":{ + "type":"structure", + "required":[ + "arn", + "creationDateTime", + "entityId", + "state" + ], + "members":{ + "arn":{"shape":"TwinMakerArn"}, + "creationDateTime":{"shape":"Timestamp"}, + "entityId":{"shape":"EntityId"}, + "state":{"shape":"State"} + } + }, + "CreateSceneRequest":{ + "type":"structure", + "required":[ + "contentLocation", + "sceneId", + "workspaceId" + ], + "members":{ + "capabilities":{"shape":"SceneCapabilities"}, + "contentLocation":{"shape":"S3Url"}, + "description":{"shape":"Description"}, + "sceneId":{"shape":"Id"}, + "tags":{"shape":"TagMap"}, + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "CreateSceneResponse":{ + "type":"structure", + "required":[ + "arn", + "creationDateTime" + ], + "members":{ + "arn":{"shape":"TwinMakerArn"}, + "creationDateTime":{"shape":"Timestamp"} + } + }, + "CreateWorkspaceRequest":{ + "type":"structure", + "required":[ + "role", + "s3Location", + "workspaceId" + ], + "members":{ + "description":{"shape":"Description"}, + "role":{"shape":"RoleArn"}, + "s3Location":{"shape":"S3Location"}, + "tags":{"shape":"TagMap"}, + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "CreateWorkspaceResponse":{ + "type":"structure", + "required":[ + "arn", + "creationDateTime" + ], + "members":{ + "arn":{"shape":"TwinMakerArn"}, + "creationDateTime":{"shape":"Timestamp"} + } + }, + "DataConnector":{ + "type":"structure", + "members":{ + "isNative":{"shape":"Boolean"}, + "lambda":{"shape":"LambdaFunction"} + } + }, + "DataType":{ + "type":"structure", + "required":["type"], + "members":{ + "allowedValues":{"shape":"DataValueList"}, + "nestedType":{"shape":"DataType"}, + "relationship":{"shape":"Relationship"}, + "type":{"shape":"Type"}, + "unitOfMeasure":{"shape":"String"} + } + }, + "DataValue":{ + "type":"structure", + "members":{ + "booleanValue":{"shape":"Boolean"}, + "doubleValue":{"shape":"Double"}, + "expression":{"shape":"Expression"}, + "integerValue":{"shape":"Integer"}, + "listValue":{"shape":"DataValueList"}, + "longValue":{"shape":"Long"}, + "mapValue":{"shape":"DataValueMap"}, + "relationshipValue":{"shape":"RelationshipValue"}, + "stringValue":{"shape":"String"} + } + }, + "DataValueList":{ + "type":"list", + "member":{"shape":"DataValue"}, + "max":50, + "min":0 + }, + "DataValueMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"DataValue"}, + "max":50, + "min":0 + }, + "DeleteComponentTypeRequest":{ + "type":"structure", + "required":[ + "componentTypeId", + "workspaceId" + ], + "members":{ + "componentTypeId":{ + "shape":"ComponentTypeId", + "location":"uri", + "locationName":"componentTypeId" + }, + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "DeleteComponentTypeResponse":{ + "type":"structure", + "required":["state"], + "members":{ + "state":{"shape":"State"} + } + }, + "DeleteEntityRequest":{ + "type":"structure", + "required":[ + "entityId", + "workspaceId" + ], + "members":{ + "entityId":{ + "shape":"EntityId", + "location":"uri", + "locationName":"entityId" + }, + "isRecursive":{ + "shape":"Boolean", + "location":"querystring", + "locationName":"isRecursive" + }, + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "DeleteEntityResponse":{ + "type":"structure", + "required":["state"], + "members":{ + "state":{"shape":"State"} + } + }, + "DeleteSceneRequest":{ + "type":"structure", + "required":[ + "sceneId", + "workspaceId" + ], + "members":{ + "sceneId":{ + "shape":"Id", + "location":"uri", + "locationName":"sceneId" + }, + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "DeleteSceneResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteWorkspaceRequest":{ + "type":"structure", + "required":["workspaceId"], + "members":{ + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "DeleteWorkspaceResponse":{ + "type":"structure", + "members":{ + } + }, + "Description":{ + "type":"string", + "max":512, + "min":0, + "pattern":".*" + }, + "Double":{ + "type":"double", + "box":true + }, + "EntityId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|^[a-zA-Z0-9][a-zA-Z_\\-0-9.:]*[a-zA-Z0-9]+" + }, + "EntityName":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z_0-9-.][a-zA-Z_0-9-. ]*[a-zA-Z0-9]+" + }, + "EntityPropertyReference":{ + "type":"structure", + "required":["propertyName"], + "members":{ + "componentName":{"shape":"Name"}, + "entityId":{"shape":"EntityId"}, + "externalIdProperty":{"shape":"ExternalIdProperty"}, + "propertyName":{"shape":"Name"} + } + }, + "EntitySummaries":{ + "type":"list", + "member":{"shape":"EntitySummary"} + }, + "EntitySummary":{ + "type":"structure", + "required":[ + "arn", + "creationDateTime", + "entityId", + "entityName", + "status", + "updateDateTime" + ], + "members":{ + "arn":{"shape":"TwinMakerArn"}, + "creationDateTime":{"shape":"Timestamp"}, + "description":{"shape":"Description"}, + "entityId":{"shape":"EntityId"}, + "entityName":{"shape":"EntityName"}, + "hasChildEntities":{"shape":"Boolean"}, + "parentEntityId":{"shape":"ParentEntityId"}, + "status":{"shape":"Status"}, + "updateDateTime":{"shape":"Timestamp"} + } + }, + "Entries":{ + "type":"list", + "member":{"shape":"PropertyValueEntry"}, + "max":10, + "min":1 + }, + "ErrorCode":{ + "type":"string", + "enum":[ + "VALIDATION_ERROR", + "INTERNAL_FAILURE" + ] + }, + "ErrorDetails":{ + "type":"structure", + "members":{ + "code":{"shape":"ErrorCode"}, + "message":{"shape":"ErrorMessage"} + } + }, + "ErrorEntries":{ + "type":"list", + "member":{"shape":"BatchPutPropertyErrorEntry"}, + "max":10, + "min":1 + }, + "ErrorMessage":{ + "type":"string", + "max":2048, + "min":0 + }, + "Errors":{ + "type":"list", + "member":{"shape":"BatchPutPropertyError"}, + "max":10, + "min":1 + }, + "ExceptionMessage":{"type":"string"}, + "Expression":{ + "type":"string", + "max":316, + "min":1, + "pattern":"(^\\$\\{Parameters\\.[a-zA-z]+([a-zA-z_0-9]*)}$)" + }, + "ExtendsFrom":{ + "type":"list", + "member":{"shape":"ComponentTypeId"} + }, + "ExternalIdProperty":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "FunctionRequest":{ + "type":"structure", + "members":{ + "implementedBy":{"shape":"DataConnector"}, + "requiredProperties":{"shape":"RequiredProperties"}, + "scope":{"shape":"Scope"} + } + }, + "FunctionResponse":{ + "type":"structure", + "members":{ + "implementedBy":{"shape":"DataConnector"}, + "isInherited":{"shape":"Boolean"}, + "requiredProperties":{"shape":"RequiredProperties"}, + "scope":{"shape":"Scope"} + } + }, + "FunctionsRequest":{ + "type":"map", + "key":{"shape":"Name"}, + "value":{"shape":"FunctionRequest"} + }, + "FunctionsResponse":{ + "type":"map", + "key":{"shape":"Name"}, + "value":{"shape":"FunctionResponse"} + }, + "GetComponentTypeRequest":{ + "type":"structure", + "required":[ + "componentTypeId", + "workspaceId" + ], + "members":{ + "componentTypeId":{ + "shape":"ComponentTypeId", + "location":"uri", + "locationName":"componentTypeId" + }, + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "GetComponentTypeResponse":{ + "type":"structure", + "required":[ + "arn", + "componentTypeId", + "creationDateTime", + "updateDateTime", + "workspaceId" + ], + "members":{ + "arn":{"shape":"TwinMakerArn"}, + "componentTypeId":{"shape":"ComponentTypeId"}, + "creationDateTime":{"shape":"Timestamp"}, + "description":{"shape":"Description"}, + "extendsFrom":{"shape":"ExtendsFrom"}, + "functions":{"shape":"FunctionsResponse"}, + "isAbstract":{"shape":"Boolean"}, + "isSchemaInitialized":{"shape":"Boolean"}, + "isSingleton":{"shape":"Boolean"}, + "propertyDefinitions":{"shape":"PropertyDefinitionsResponse"}, + "status":{"shape":"Status"}, + "updateDateTime":{"shape":"Timestamp"}, + "workspaceId":{"shape":"Id"} + } + }, + "GetEntityRequest":{ + "type":"structure", + "required":[ + "entityId", + "workspaceId" + ], + "members":{ + "entityId":{ + "shape":"EntityId", + "location":"uri", + "locationName":"entityId" + }, + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "GetEntityResponse":{ + "type":"structure", + "required":[ + "arn", + "creationDateTime", + "entityId", + "entityName", + "hasChildEntities", + "parentEntityId", + "status", + "updateDateTime", + "workspaceId" + ], + "members":{ + "arn":{"shape":"TwinMakerArn"}, + "components":{"shape":"ComponentsMap"}, + "creationDateTime":{"shape":"Timestamp"}, + "description":{"shape":"Description"}, + "entityId":{"shape":"EntityId"}, + "entityName":{"shape":"EntityName"}, + "hasChildEntities":{"shape":"Boolean"}, + "parentEntityId":{"shape":"ParentEntityId"}, + "status":{"shape":"Status"}, + "updateDateTime":{"shape":"Timestamp"}, + "workspaceId":{"shape":"Id"} + } + }, + "GetPropertyValueHistoryRequest":{ + "type":"structure", + "required":[ + "endDateTime", + "selectedProperties", + "startDateTime", + "workspaceId" + ], + "members":{ + "componentName":{"shape":"Name"}, + "componentTypeId":{"shape":"ComponentTypeId"}, + "endDateTime":{"shape":"Timestamp"}, + "entityId":{"shape":"EntityId"}, + "interpolation":{"shape":"InterpolationParameters"}, + "maxResults":{"shape":"MaxResults"}, + "nextToken":{"shape":"NextToken"}, + "orderByTime":{"shape":"OrderByTime"}, + "propertyFilters":{"shape":"PropertyFilters"}, + "selectedProperties":{"shape":"SelectedPropertyList"}, + "startDateTime":{"shape":"Timestamp"}, + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "GetPropertyValueHistoryResponse":{ + "type":"structure", + "required":["propertyValues"], + "members":{ + "nextToken":{"shape":"NextToken"}, + "propertyValues":{"shape":"PropertyValueList"} + } + }, + "GetPropertyValueRequest":{ + "type":"structure", + "required":[ + "selectedProperties", + "workspaceId" + ], + "members":{ + "componentName":{"shape":"Name"}, + "componentTypeId":{"shape":"ComponentTypeId"}, + "entityId":{"shape":"EntityId"}, + "selectedProperties":{"shape":"SelectedPropertyList"}, + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "GetPropertyValueResponse":{ + "type":"structure", + "required":["propertyValues"], + "members":{ + "propertyValues":{"shape":"PropertyLatestValueMap"} + } + }, + "GetSceneRequest":{ + "type":"structure", + "required":[ + "sceneId", + "workspaceId" + ], + "members":{ + "sceneId":{ + "shape":"Id", + "location":"uri", + "locationName":"sceneId" + }, + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "GetSceneResponse":{ + "type":"structure", + "required":[ + "arn", + "contentLocation", + "creationDateTime", + "sceneId", + "updateDateTime", + "workspaceId" + ], + "members":{ + "arn":{"shape":"TwinMakerArn"}, + "capabilities":{"shape":"SceneCapabilities"}, + "contentLocation":{"shape":"S3Url"}, + "creationDateTime":{"shape":"Timestamp"}, + "description":{"shape":"Description"}, + "sceneId":{"shape":"Id"}, + "updateDateTime":{"shape":"Timestamp"}, + "workspaceId":{"shape":"Id"} + } + }, + "GetWorkspaceRequest":{ + "type":"structure", + "required":["workspaceId"], + "members":{ + "workspaceId":{ + "shape":"IdOrArn", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "GetWorkspaceResponse":{ + "type":"structure", + "required":[ + "arn", + "creationDateTime", + "role", + "s3Location", + "updateDateTime", + "workspaceId" + ], + "members":{ + "arn":{"shape":"TwinMakerArn"}, + "creationDateTime":{"shape":"Timestamp"}, + "description":{"shape":"Description"}, + "role":{"shape":"RoleArn"}, + "s3Location":{"shape":"S3Location"}, + "updateDateTime":{"shape":"Timestamp"}, + "workspaceId":{"shape":"Id"} + } + }, + "Id":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[a-zA-Z_0-9][a-zA-Z_\\-0-9]*[a-zA-Z0-9]+" + }, + "IdOrArn":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"[a-zA-Z][a-zA-Z_\\-0-9]*[a-zA-Z0-9]+$|^arn:((aws)|(aws-cn)|(aws-us-gov)):iottwinmaker:[a-z0-9-]+:[0-9]{12}:[\\/a-zA-Z0-9_-]+" + }, + "Integer":{ + "type":"integer", + "box":true + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "InterpolationParameters":{ + "type":"structure", + "members":{ + "interpolationType":{"shape":"InterpolationType"}, + "intervalInSeconds":{"shape":"IntervalInSeconds"} + } + }, + "InterpolationType":{ + "type":"string", + "enum":["LINEAR"] + }, + "IntervalInSeconds":{ + "type":"long", + "box":true + }, + "LambdaArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:((aws)|(aws-cn)|(aws-us-gov)):lambda:[a-z0-9-]+:[0-9]{12}:function:[\\/a-zA-Z0-9_-]+" + }, + "LambdaFunction":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"LambdaArn"} + } + }, + "ListComponentTypesFilter":{ + "type":"structure", + "members":{ + "extendsFrom":{"shape":"ComponentTypeId"}, + "isAbstract":{"shape":"Boolean"}, + "namespace":{"shape":"String"} + }, + "union":true + }, + "ListComponentTypesFilters":{ + "type":"list", + "member":{"shape":"ListComponentTypesFilter"} + }, + "ListComponentTypesRequest":{ + "type":"structure", + "required":["workspaceId"], + "members":{ + "filters":{"shape":"ListComponentTypesFilters"}, + "maxResults":{"shape":"MaxResults"}, + "nextToken":{"shape":"NextToken"}, + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "ListComponentTypesResponse":{ + "type":"structure", + "required":[ + "componentTypeSummaries", + "workspaceId" + ], + "members":{ + "componentTypeSummaries":{"shape":"ComponentTypeSummaries"}, + "maxResults":{"shape":"MaxResults"}, + "nextToken":{"shape":"NextToken"}, + "workspaceId":{"shape":"Id"} + } + }, + "ListEntitiesFilter":{ + "type":"structure", + "members":{ + "componentTypeId":{"shape":"ComponentTypeId"}, + "parentEntityId":{"shape":"ParentEntityId"} + }, + "union":true + }, + "ListEntitiesFilters":{ + "type":"list", + "member":{"shape":"ListEntitiesFilter"} + }, + "ListEntitiesRequest":{ + "type":"structure", + "required":["workspaceId"], + "members":{ + "filters":{"shape":"ListEntitiesFilters"}, + "maxResults":{"shape":"MaxResults"}, + "nextToken":{"shape":"NextToken"}, + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "ListEntitiesResponse":{ + "type":"structure", + "members":{ + "entitySummaries":{"shape":"EntitySummaries"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListScenesRequest":{ + "type":"structure", + "required":["workspaceId"], + "members":{ + "maxResults":{"shape":"MaxResults"}, + "nextToken":{"shape":"NextToken"}, + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "ListScenesResponse":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"NextToken"}, + "sceneSummaries":{"shape":"SceneSummaries"} + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceARN"], + "members":{ + "maxResults":{"shape":"MaxResults"}, + "nextToken":{"shape":"NextToken"}, + "resourceARN":{"shape":"TwinMakerArn"} + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"NextToken"}, + "tags":{"shape":"TagMap"} + } + }, + "ListWorkspacesRequest":{ + "type":"structure", + "members":{ + "maxResults":{"shape":"MaxResults"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListWorkspacesResponse":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"NextToken"}, + "workspaceSummaries":{"shape":"WorkspaceSummaries"} + } + }, + "Long":{ + "type":"long", + "box":true + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":200, + "min":0 + }, + "Name":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z_\\-0-9]+" + }, + "NextToken":{ + "type":"string", + "max":17880, + "min":0, + "pattern":".*" + }, + "OrderByTime":{ + "type":"string", + "enum":[ + "ASCENDING", + "DESCENDING" + ] + }, + "ParentEntityId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"\\$ROOT|^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|^[a-zA-Z0-9][a-zA-Z_\\-0-9.:]*[a-zA-Z0-9]+" + }, + "ParentEntityUpdateRequest":{ + "type":"structure", + "required":["updateType"], + "members":{ + "parentEntityId":{"shape":"ParentEntityId"}, + "updateType":{"shape":"ParentEntityUpdateType"} + } + }, + "ParentEntityUpdateType":{ + "type":"string", + "enum":[ + "UPDATE", + "DELETE" + ] + }, + "PropertyDefinitionRequest":{ + "type":"structure", + "members":{ + "configuration":{"shape":"Configuration"}, + "dataType":{"shape":"DataType"}, + "defaultValue":{"shape":"DataValue"}, + "isExternalId":{"shape":"Boolean"}, + "isRequiredInEntity":{"shape":"Boolean"}, + "isStoredExternally":{"shape":"Boolean"}, + "isTimeSeries":{"shape":"Boolean"} + } + }, + "PropertyDefinitionResponse":{ + "type":"structure", + "required":[ + "dataType", + "isExternalId", + "isFinal", + "isImported", + "isInherited", + "isRequiredInEntity", + "isStoredExternally", + "isTimeSeries" + ], + "members":{ + "configuration":{"shape":"Configuration"}, + "dataType":{"shape":"DataType"}, + "defaultValue":{"shape":"DataValue"}, + "isExternalId":{"shape":"Boolean"}, + "isFinal":{"shape":"Boolean"}, + "isImported":{"shape":"Boolean"}, + "isInherited":{"shape":"Boolean"}, + "isRequiredInEntity":{"shape":"Boolean"}, + "isStoredExternally":{"shape":"Boolean"}, + "isTimeSeries":{"shape":"Boolean"} + } + }, + "PropertyDefinitionsRequest":{ + "type":"map", + "key":{"shape":"Name"}, + "value":{"shape":"PropertyDefinitionRequest"} + }, + "PropertyDefinitionsResponse":{ + "type":"map", + "key":{"shape":"Name"}, + "value":{"shape":"PropertyDefinitionResponse"} + }, + "PropertyFilter":{ + "type":"structure", + "members":{ + "operator":{"shape":"String"}, + "propertyName":{"shape":"String"}, + "value":{"shape":"DataValue"} + } + }, + "PropertyFilters":{ + "type":"list", + "member":{"shape":"PropertyFilter"}, + "max":10, + "min":1 + }, + "PropertyLatestValue":{ + "type":"structure", + "required":["propertyReference"], + "members":{ + "propertyReference":{"shape":"EntityPropertyReference"}, + "propertyValue":{"shape":"DataValue"} + } + }, + "PropertyLatestValueMap":{ + "type":"map", + "key":{"shape":"Name"}, + "value":{"shape":"PropertyLatestValue"} + }, + "PropertyRequest":{ + "type":"structure", + "members":{ + "definition":{"shape":"PropertyDefinitionRequest"}, + "updateType":{"shape":"PropertyUpdateType"}, + "value":{"shape":"DataValue"} + } + }, + "PropertyRequests":{ + "type":"map", + "key":{"shape":"Name"}, + "value":{"shape":"PropertyRequest"} + }, + "PropertyResponse":{ + "type":"structure", + "members":{ + "definition":{"shape":"PropertyDefinitionResponse"}, + "value":{"shape":"DataValue"} + } + }, + "PropertyResponses":{ + "type":"map", + "key":{"shape":"Name"}, + "value":{"shape":"PropertyResponse"} + }, + "PropertyUpdateType":{ + "type":"string", + "enum":[ + "UPDATE", + "DELETE" + ] + }, + "PropertyValue":{ + "type":"structure", + "required":[ + "timestamp", + "value" + ], + "members":{ + "timestamp":{"shape":"Timestamp"}, + "value":{"shape":"DataValue"} + } + }, + "PropertyValueEntry":{ + "type":"structure", + "required":["entityPropertyReference"], + "members":{ + "entityPropertyReference":{"shape":"EntityPropertyReference"}, + "propertyValues":{"shape":"PropertyValues"} + } + }, + "PropertyValueHistory":{ + "type":"structure", + "required":["entityPropertyReference"], + "members":{ + "entityPropertyReference":{"shape":"EntityPropertyReference"}, + "values":{"shape":"Values"} + } + }, + "PropertyValueList":{ + "type":"list", + "member":{"shape":"PropertyValueHistory"} + }, + "PropertyValues":{ + "type":"list", + "member":{"shape":"PropertyValue"}, + "max":10, + "min":1 + }, + "Relationship":{ + "type":"structure", + "members":{ + "relationshipType":{"shape":"String"}, + "targetComponentTypeId":{"shape":"ComponentTypeId"} + } + }, + "RelationshipValue":{ + "type":"structure", + "members":{ + "targetComponentName":{"shape":"Name"}, + "targetEntityId":{"shape":"EntityId"} + } + }, + "RequiredProperties":{ + "type":"list", + "member":{"shape":"Name"} + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "RoleArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:((aws)|(aws-cn)|(aws-us-gov)):iam::[0-9]{12}:role/.*" + }, + "S3Location":{"type":"string"}, + "S3Url":{ + "type":"string", + "max":256, + "min":0, + "pattern":"[sS]3://[A-Za-z0-9._/-]+" + }, + "SceneCapabilities":{ + "type":"list", + "member":{"shape":"SceneCapability"}, + "max":50, + "min":0 + }, + "SceneCapability":{ + "type":"string", + "max":256, + "min":0, + "pattern":".*" + }, + "SceneSummaries":{ + "type":"list", + "member":{"shape":"SceneSummary"} + }, + "SceneSummary":{ + "type":"structure", + "required":[ + "arn", + "contentLocation", + "creationDateTime", + "sceneId", + "updateDateTime" + ], + "members":{ + "arn":{"shape":"TwinMakerArn"}, + "contentLocation":{"shape":"S3Url"}, + "creationDateTime":{"shape":"Timestamp"}, + "description":{"shape":"Description"}, + "sceneId":{"shape":"Id"}, + "updateDateTime":{"shape":"Timestamp"} + } + }, + "Scope":{ + "type":"string", + "enum":[ + "ENTITY", + "WORKSPACE" + ] + }, + "SelectedPropertyList":{ + "type":"list", + "member":{"shape":"String"}, + "max":10, + "min":1 + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "State":{ + "type":"string", + "enum":[ + "CREATING", + "UPDATING", + "DELETING", + "ACTIVE", + "ERROR" + ] + }, + "Status":{ + "type":"structure", + "members":{ + "error":{"shape":"ErrorDetails"}, + "state":{"shape":"State"} + } + }, + "String":{ + "type":"string", + "max":256, + "min":1, + "pattern":".*" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":50, + "min":0 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":50, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceARN", + "tags" + ], + "members":{ + "resourceARN":{"shape":"TwinMakerArn"}, + "tags":{"shape":"TagMap"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":1, + "pattern":".*" + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "TwinMakerArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:((aws)|(aws-cn)|(aws-us-gov)):iottwinmaker:[a-z0-9-]+:[0-9]{12}:[\\/a-zA-Z0-9_\\-\\.:]+" + }, + "Type":{ + "type":"string", + "enum":[ + "RELATIONSHIP", + "STRING", + "LONG", + "BOOLEAN", + "INTEGER", + "DOUBLE", + "LIST", + "MAP" + ] + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceARN", + "tagKeys" + ], + "members":{ + "resourceARN":{ + "shape":"TwinMakerArn", + "location":"querystring", + "locationName":"resourceARN" + }, + "tagKeys":{ + "shape":"TagKeyList", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateComponentTypeRequest":{ + "type":"structure", + "required":[ + "componentTypeId", + "workspaceId" + ], + "members":{ + "componentTypeId":{ + "shape":"ComponentTypeId", + "location":"uri", + "locationName":"componentTypeId" + }, + "description":{"shape":"Description"}, + "extendsFrom":{"shape":"ExtendsFrom"}, + "functions":{"shape":"FunctionsRequest"}, + "isSingleton":{"shape":"Boolean"}, + "propertyDefinitions":{"shape":"PropertyDefinitionsRequest"}, + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "UpdateComponentTypeResponse":{ + "type":"structure", + "required":[ + "arn", + "componentTypeId", + "state", + "workspaceId" + ], + "members":{ + "arn":{"shape":"TwinMakerArn"}, + "componentTypeId":{"shape":"ComponentTypeId"}, + "state":{"shape":"State"}, + "workspaceId":{"shape":"Id"} + } + }, + "UpdateEntityRequest":{ + "type":"structure", + "required":[ + "entityId", + "workspaceId" + ], + "members":{ + "componentUpdates":{"shape":"ComponentUpdatesMapRequest"}, + "description":{"shape":"Description"}, + "entityId":{ + "shape":"EntityId", + "location":"uri", + "locationName":"entityId" + }, + "entityName":{"shape":"EntityName"}, + "parentEntityUpdate":{"shape":"ParentEntityUpdateRequest"}, + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "UpdateEntityResponse":{ + "type":"structure", + "required":[ + "state", + "updateDateTime" + ], + "members":{ + "state":{"shape":"State"}, + "updateDateTime":{"shape":"Timestamp"} + } + }, + "UpdateSceneRequest":{ + "type":"structure", + "required":[ + "sceneId", + "workspaceId" + ], + "members":{ + "capabilities":{"shape":"SceneCapabilities"}, + "contentLocation":{"shape":"S3Url"}, + "description":{"shape":"Description"}, + "sceneId":{ + "shape":"Id", + "location":"uri", + "locationName":"sceneId" + }, + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "UpdateSceneResponse":{ + "type":"structure", + "required":["updateDateTime"], + "members":{ + "updateDateTime":{"shape":"Timestamp"} + } + }, + "UpdateWorkspaceRequest":{ + "type":"structure", + "required":["workspaceId"], + "members":{ + "description":{"shape":"Description"}, + "role":{"shape":"RoleArn"}, + "workspaceId":{ + "shape":"Id", + "location":"uri", + "locationName":"workspaceId" + } + } + }, + "UpdateWorkspaceResponse":{ + "type":"structure", + "required":["updateDateTime"], + "members":{ + "updateDateTime":{"shape":"Timestamp"} + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "Value":{ + "type":"string", + "max":256, + "min":1, + "pattern":"[a-zA-Z_\\-0-9]+" + }, + "Values":{ + "type":"list", + "member":{"shape":"PropertyValue"} + }, + "WorkspaceSummaries":{ + "type":"list", + "member":{"shape":"WorkspaceSummary"} + }, + "WorkspaceSummary":{ + "type":"structure", + "required":[ + "arn", + "creationDateTime", + "updateDateTime", + "workspaceId" + ], + "members":{ + "arn":{"shape":"TwinMakerArn"}, + "creationDateTime":{"shape":"Timestamp"}, + "description":{"shape":"Description"}, + "updateDateTime":{"shape":"Timestamp"}, + "workspaceId":{"shape":"Id"} + } + } + } +} diff --git a/models/apis/iottwinmaker/2021-11-29/docs-2.json b/models/apis/iottwinmaker/2021-11-29/docs-2.json new file mode 100644 index 00000000000..97c218ca2b7 --- /dev/null +++ b/models/apis/iottwinmaker/2021-11-29/docs-2.json @@ -0,0 +1,1219 @@ +{ + "version": "2.0", + "service": "

TwinMaker is in public preview and is subject to change.

IoT TwinMaker is a service that enables you to build operational digital twins of physical systems. IoT TwinMaker overlays measurements and analysis from real-world sensors, cameras, and enterprise applications so you can create data visualizations to monitor your physical factory, building, or industrial plant. You can use this real-world data to monitor operations and diagnose and repair errors.

", + "operations": { + "BatchPutPropertyValues": "

Sets values for multiple time series properties.

", + "CreateComponentType": "

Creates a component type.

TwinMaker is in public preview and is subject to change.

", + "CreateEntity": "

Creates an entity.

", + "CreateScene": "

Creates a scene.

", + "CreateWorkspace": "

Creates a workplace.

", + "DeleteComponentType": "

Deletes a component type.

", + "DeleteEntity": "

Deletes an entity.

", + "DeleteScene": "

Deletes a scene.

", + "DeleteWorkspace": "

Deletes a workspace.

", + "GetComponentType": "

Retrieves information about a component type.

", + "GetEntity": "

Retrieves information about an entity.

", + "GetPropertyValue": "

Gets the property values for a component, component type, entity, or workspace.

You must specify a value for either componentName, componentTypeId, entityId, or workspaceId.

", + "GetPropertyValueHistory": "

Retrieves information about the history of a time series property value for a component, component type, entity, or workspace.

You must specify a value for workspaceId. For entity-specific queries, specify values for componentName and entityId. For cross-entity quries, specify a value for componentTypeId.

", + "GetScene": "

Retrieves information about a scene.

", + "GetWorkspace": "

Retrieves information about a workspace.

", + "ListComponentTypes": "

Lists all component types in a workspace.

", + "ListEntities": "

Lists all entities in a workspace.

", + "ListScenes": "

Lists all scenes in a workspace.

", + "ListTagsForResource": "

Lists all tags associated with a resource.

", + "ListWorkspaces": "

Retrieves information about workspaces in the current account.

", + "TagResource": "

Adds tags to a resource.

", + "UntagResource": "

Removes tags from a resource.

", + "UpdateComponentType": "

Updates information in a component type.

", + "UpdateEntity": "

Updates an entity.

", + "UpdateScene": "

Updates a scene.

", + "UpdateWorkspace": "

Updates a workspace.

" + }, + "shapes": { + "AccessDeniedException": { + "base": "

Access is denied.

", + "refs": { + } + }, + "BatchPutPropertyError": { + "base": "

An error returned by the BatchPutProperty action.

", + "refs": { + "Errors$member": null + } + }, + "BatchPutPropertyErrorEntry": { + "base": "

An object that contains information about errors returned by the BatchPutProperty action.

", + "refs": { + "ErrorEntries$member": null + } + }, + "BatchPutPropertyValuesRequest": { + "base": null, + "refs": { + } + }, + "BatchPutPropertyValuesResponse": { + "base": null, + "refs": { + } + }, + "Boolean": { + "base": null, + "refs": { + "CreateComponentTypeRequest$isSingleton": "

A Boolean value that specifies whether an entity can have more than one component of this type.

", + "DataConnector$isNative": "

A Boolean value that specifies whether the data connector is native to TwinMaker.

", + "DataValue$booleanValue": "

A Boolean value.

", + "DeleteEntityRequest$isRecursive": "

A Boolean value that specifies whether the operation deletes child entities.

", + "EntitySummary$hasChildEntities": "

A Boolean value that specifies whether the entity has child entities or not.

", + "FunctionResponse$isInherited": "

Indicates whether this function is inherited.

", + "GetComponentTypeResponse$isAbstract": "

A Boolean value that specifies whether the component type is abstract.

", + "GetComponentTypeResponse$isSchemaInitialized": "

A Boolean value that specifies whether the component type has a schema initializer and that the schema initializer has run.

", + "GetComponentTypeResponse$isSingleton": "

A Boolean value that specifies whether an entity can have more than one component of this type.

", + "GetEntityResponse$hasChildEntities": "

A Boolean value that specifies whether the entity has associated child entities.

", + "ListComponentTypesFilter$isAbstract": "

A Boolean value that specifies whether the component types in the list are abstract.

", + "PropertyDefinitionRequest$isExternalId": "

A Boolean value that specifies whether the property ID comes from an external data store.

", + "PropertyDefinitionRequest$isRequiredInEntity": "

A Boolean value that specifies whether the property is required.

", + "PropertyDefinitionRequest$isStoredExternally": "

A Boolean value that specifies whether the property is stored externally.

", + "PropertyDefinitionRequest$isTimeSeries": "

A Boolean value that specifies whether the property consists of time series data.

", + "PropertyDefinitionResponse$isExternalId": "

A Boolean value that specifies whether the property ID comes from an external data store.

", + "PropertyDefinitionResponse$isFinal": "

A Boolean value that specifies whether the property definition can be updated.

", + "PropertyDefinitionResponse$isImported": "

A Boolean value that specifies whether the property definition is imported from an external data store.

", + "PropertyDefinitionResponse$isInherited": "

A Boolean value that specifies whether the property definition is inherited from a parent entity.

", + "PropertyDefinitionResponse$isRequiredInEntity": "

A Boolean value that specifies whether the property is required in an entity.

", + "PropertyDefinitionResponse$isStoredExternally": "

A Boolean value that specifies whether the property is stored externally.

", + "PropertyDefinitionResponse$isTimeSeries": "

A Boolean value that specifies whether the property consists of time series data.

", + "UpdateComponentTypeRequest$isSingleton": "

A Boolean value that specifies whether an entity can have more than one component of this type.

" + } + }, + "ComponentRequest": { + "base": "

An object that sets information about a component type create or update request.

", + "refs": { + "ComponentsMapRequest$value": null + } + }, + "ComponentResponse": { + "base": "

An object that returns information about a component type create or update request.

", + "refs": { + "ComponentsMap$value": null + } + }, + "ComponentTypeId": { + "base": null, + "refs": { + "ComponentRequest$componentTypeId": "

The ID of the component type.

", + "ComponentResponse$componentTypeId": "

The ID of the component type.

", + "ComponentTypeSummary$componentTypeId": "

The ID of the component type.

", + "ComponentUpdateRequest$componentTypeId": "

The ID of the component type.

", + "CreateComponentTypeRequest$componentTypeId": "

The ID of the component type.

", + "DeleteComponentTypeRequest$componentTypeId": "

The ID of the component type to delete.

", + "ExtendsFrom$member": null, + "GetComponentTypeRequest$componentTypeId": "

The ID of the component type.

", + "GetComponentTypeResponse$componentTypeId": "

The ID of the component type.

", + "GetPropertyValueHistoryRequest$componentTypeId": "

The ID of the component type.

", + "GetPropertyValueRequest$componentTypeId": "

The ID of the component type whose property values the operation returns.

", + "ListComponentTypesFilter$extendsFrom": "

The component type that the component types in the list extend.

", + "ListEntitiesFilter$componentTypeId": "

The ID of the component type in the entities in the list.

", + "Relationship$targetComponentTypeId": "

The ID of the target component type associated with this relationship.

", + "UpdateComponentTypeRequest$componentTypeId": "

The ID of the component type.

", + "UpdateComponentTypeResponse$componentTypeId": "

The ID of the component type.

" + } + }, + "ComponentTypeSummaries": { + "base": null, + "refs": { + "ListComponentTypesResponse$componentTypeSummaries": "

A list of objects that contain information about the component types.

" + } + }, + "ComponentTypeSummary": { + "base": "

An object that contains information about a component type.

", + "refs": { + "ComponentTypeSummaries$member": null + } + }, + "ComponentUpdateRequest": { + "base": "

The component update request.

", + "refs": { + "ComponentUpdatesMapRequest$value": null + } + }, + "ComponentUpdateType": { + "base": null, + "refs": { + "ComponentUpdateRequest$updateType": "

The update type of the component update request.

" + } + }, + "ComponentUpdatesMapRequest": { + "base": null, + "refs": { + "UpdateEntityRequest$componentUpdates": "

An object that maps strings to the component updates in the request. Each string in the mapping must be unique to this object.

" + } + }, + "ComponentsMap": { + "base": null, + "refs": { + "GetEntityResponse$components": "

An object that maps strings to the components in the entity. Each string in the mapping must be unique to this object.

" + } + }, + "ComponentsMapRequest": { + "base": null, + "refs": { + "CreateEntityRequest$components": "

An object that maps strings to the components in the entity. Each string in the mapping must be unique to this object.

" + } + }, + "Configuration": { + "base": null, + "refs": { + "PropertyDefinitionRequest$configuration": "

A mapping that specifies configuration information about the property. Use this field to specify information that you read from and write to an external source.

", + "PropertyDefinitionResponse$configuration": "

A mapping that specifies configuration information about the property.

" + } + }, + "ConflictException": { + "base": "

A conflict occurred.

", + "refs": { + } + }, + "ConnectorFailureException": { + "base": "

The connector failed.

", + "refs": { + } + }, + "ConnectorTimeoutException": { + "base": "

The connector timed out.

", + "refs": { + } + }, + "CreateComponentTypeRequest": { + "base": null, + "refs": { + } + }, + "CreateComponentTypeResponse": { + "base": null, + "refs": { + } + }, + "CreateEntityRequest": { + "base": null, + "refs": { + } + }, + "CreateEntityResponse": { + "base": null, + "refs": { + } + }, + "CreateSceneRequest": { + "base": null, + "refs": { + } + }, + "CreateSceneResponse": { + "base": null, + "refs": { + } + }, + "CreateWorkspaceRequest": { + "base": null, + "refs": { + } + }, + "CreateWorkspaceResponse": { + "base": null, + "refs": { + } + }, + "DataConnector": { + "base": "

The data connector.

", + "refs": { + "FunctionRequest$implementedBy": "

The data connector.

", + "FunctionResponse$implementedBy": "

The data connector.

" + } + }, + "DataType": { + "base": "

An object that specifies the data type of a property.

", + "refs": { + "DataType$nestedType": "

The nested type in the data type.

", + "PropertyDefinitionRequest$dataType": "

An object that contains information about the data type.

", + "PropertyDefinitionResponse$dataType": "

An object that contains information about the data type.

" + } + }, + "DataValue": { + "base": "

An object that specifies a value for a property.

", + "refs": { + "DataValueList$member": null, + "DataValueMap$value": null, + "PropertyDefinitionRequest$defaultValue": "

An object that contains the default value.

", + "PropertyDefinitionResponse$defaultValue": "

An object that contains the default value.

", + "PropertyFilter$value": "

The value associated with this property filter.

", + "PropertyLatestValue$propertyValue": "

The value of the property.

", + "PropertyRequest$value": "

The value of the property.

", + "PropertyResponse$value": "

The value of the property.

", + "PropertyValue$value": "

An object that specifies a value for a time series property.

" + } + }, + "DataValueList": { + "base": null, + "refs": { + "DataType$allowedValues": "

The allowed values for this data type.

", + "DataValue$listValue": "

A list of multiple values.

" + } + }, + "DataValueMap": { + "base": null, + "refs": { + "DataValue$mapValue": "

An object that maps strings to multiple DataValue objects.

" + } + }, + "DeleteComponentTypeRequest": { + "base": null, + "refs": { + } + }, + "DeleteComponentTypeResponse": { + "base": null, + "refs": { + } + }, + "DeleteEntityRequest": { + "base": null, + "refs": { + } + }, + "DeleteEntityResponse": { + "base": null, + "refs": { + } + }, + "DeleteSceneRequest": { + "base": null, + "refs": { + } + }, + "DeleteSceneResponse": { + "base": null, + "refs": { + } + }, + "DeleteWorkspaceRequest": { + "base": null, + "refs": { + } + }, + "DeleteWorkspaceResponse": { + "base": null, + "refs": { + } + }, + "Description": { + "base": null, + "refs": { + "ComponentRequest$description": "

The description of the component request.

", + "ComponentResponse$description": "

The description of the component type.

", + "ComponentTypeSummary$description": "

The description of the component type.

", + "ComponentUpdateRequest$description": "

The description of the component type.

", + "CreateComponentTypeRequest$description": "

The description of the component type.

", + "CreateEntityRequest$description": "

The description of the entity.

", + "CreateSceneRequest$description": "

The description for this scene.

", + "CreateWorkspaceRequest$description": "

The description of the workspace.

", + "EntitySummary$description": "

The description of the entity.

", + "GetComponentTypeResponse$description": "

The description of the component type.

", + "GetEntityResponse$description": "

The description of the entity.

", + "GetSceneResponse$description": "

The description of the scene.

", + "GetWorkspaceResponse$description": "

The description of the workspace.

", + "SceneSummary$description": "

The scene description.

", + "UpdateComponentTypeRequest$description": "

The description of the component type.

", + "UpdateEntityRequest$description": "

The description of the entity.

", + "UpdateSceneRequest$description": "

The description of this scene.

", + "UpdateWorkspaceRequest$description": "

The description of the workspace.

", + "WorkspaceSummary$description": "

The description of the workspace.

" + } + }, + "Double": { + "base": null, + "refs": { + "DataValue$doubleValue": "

A double value.

" + } + }, + "EntityId": { + "base": null, + "refs": { + "CreateEntityRequest$entityId": "

The ID of the entity.

", + "CreateEntityResponse$entityId": "

The ID of the entity.

", + "DeleteEntityRequest$entityId": "

The ID of the entity to delete.

", + "EntityPropertyReference$entityId": "

The ID of the entity.

", + "EntitySummary$entityId": "

The ID of the entity.

", + "GetEntityRequest$entityId": "

The ID of the entity.

", + "GetEntityResponse$entityId": "

The ID of the entity.

", + "GetPropertyValueHistoryRequest$entityId": "

The ID of the entity.

", + "GetPropertyValueRequest$entityId": "

The ID of the entity whose property values the operation returns.

", + "RelationshipValue$targetEntityId": "

The ID of the target entity associated with this relationship value.

", + "UpdateEntityRequest$entityId": "

The ID of the entity.

" + } + }, + "EntityName": { + "base": null, + "refs": { + "CreateEntityRequest$entityName": "

The name of the entity.

", + "EntitySummary$entityName": "

The name of the entity.

", + "GetEntityResponse$entityName": "

The name of the entity.

", + "UpdateEntityRequest$entityName": "

The name of the entity.

" + } + }, + "EntityPropertyReference": { + "base": "

An object that uniquely identifies an entity property.

", + "refs": { + "PropertyLatestValue$propertyReference": "

An object that specifies information about a property.>

", + "PropertyValueEntry$entityPropertyReference": "

An object that contains information about the entity that has the property.

", + "PropertyValueHistory$entityPropertyReference": "

An object that uniquely identifies an entity property.

" + } + }, + "EntitySummaries": { + "base": null, + "refs": { + "ListEntitiesResponse$entitySummaries": "

A list of objects that contain information about the entities.

" + } + }, + "EntitySummary": { + "base": "

An object that contains information about an entity.

", + "refs": { + "EntitySummaries$member": null + } + }, + "Entries": { + "base": null, + "refs": { + "BatchPutPropertyValuesRequest$entries": "

An object that maps strings to the property value entries to set. Each string in the mapping must be unique to this object.

" + } + }, + "ErrorCode": { + "base": null, + "refs": { + "ErrorDetails$code": "

The error code.

" + } + }, + "ErrorDetails": { + "base": "

The error details.

", + "refs": { + "Status$error": "

The error message.

" + } + }, + "ErrorEntries": { + "base": null, + "refs": { + "BatchPutPropertyValuesResponse$errorEntries": "

Entries that caused errors in the batch put operation.

" + } + }, + "ErrorMessage": { + "base": null, + "refs": { + "AccessDeniedException$message": null, + "ConflictException$message": null, + "ConnectorFailureException$message": null, + "ConnectorTimeoutException$message": null, + "ErrorDetails$message": "

The error message.

", + "InternalServerException$message": null, + "ResourceNotFoundException$message": null, + "ServiceQuotaExceededException$message": null, + "ThrottlingException$message": null, + "ValidationException$message": null + } + }, + "Errors": { + "base": null, + "refs": { + "BatchPutPropertyErrorEntry$errors": "

A list of objects that contain information about errors returned by the BatchPutProperty action.

" + } + }, + "ExceptionMessage": { + "base": null, + "refs": { + "TooManyTagsException$message": null + } + }, + "Expression": { + "base": null, + "refs": { + "DataValue$expression": "

An expression that produces the value.

" + } + }, + "ExtendsFrom": { + "base": null, + "refs": { + "CreateComponentTypeRequest$extendsFrom": "

Specifies the parent component type to extend.

", + "GetComponentTypeResponse$extendsFrom": "

The name of the parent component type that this component type extends.

", + "UpdateComponentTypeRequest$extendsFrom": "

Specifies the component type that this component type extends.

" + } + }, + "ExternalIdProperty": { + "base": null, + "refs": { + "EntityPropertyReference$externalIdProperty": "

A mapping of external IDs to property names. External IDs uniquely identify properties from external data stores.

" + } + }, + "FunctionRequest": { + "base": "

The function request body.

", + "refs": { + "FunctionsRequest$value": null + } + }, + "FunctionResponse": { + "base": "

The function response.

", + "refs": { + "FunctionsResponse$value": null + } + }, + "FunctionsRequest": { + "base": null, + "refs": { + "CreateComponentTypeRequest$functions": "

An object that maps strings to the functions in the component type. Each string in the mapping must be unique to this object.

", + "UpdateComponentTypeRequest$functions": "

An object that maps strings to the functions in the component type. Each string in the mapping must be unique to this object.

" + } + }, + "FunctionsResponse": { + "base": null, + "refs": { + "GetComponentTypeResponse$functions": "

An object that maps strings to the functions in the component type. Each string in the mapping must be unique to this object.

" + } + }, + "GetComponentTypeRequest": { + "base": null, + "refs": { + } + }, + "GetComponentTypeResponse": { + "base": null, + "refs": { + } + }, + "GetEntityRequest": { + "base": null, + "refs": { + } + }, + "GetEntityResponse": { + "base": null, + "refs": { + } + }, + "GetPropertyValueHistoryRequest": { + "base": null, + "refs": { + } + }, + "GetPropertyValueHistoryResponse": { + "base": null, + "refs": { + } + }, + "GetPropertyValueRequest": { + "base": null, + "refs": { + } + }, + "GetPropertyValueResponse": { + "base": null, + "refs": { + } + }, + "GetSceneRequest": { + "base": null, + "refs": { + } + }, + "GetSceneResponse": { + "base": null, + "refs": { + } + }, + "GetWorkspaceRequest": { + "base": null, + "refs": { + } + }, + "GetWorkspaceResponse": { + "base": null, + "refs": { + } + }, + "Id": { + "base": null, + "refs": { + "BatchPutPropertyValuesRequest$workspaceId": "

The ID of the workspace that contains the properties to set.

", + "CreateComponentTypeRequest$workspaceId": "

The ID of the workspace that contains the component type.

", + "CreateEntityRequest$workspaceId": "

The ID of the workspace that contains the entity.

", + "CreateSceneRequest$sceneId": "

The ID of the scene.

", + "CreateSceneRequest$workspaceId": "

The ID of the workspace that contains the scene.

", + "CreateWorkspaceRequest$workspaceId": "

The ID of the workspace.

", + "DeleteComponentTypeRequest$workspaceId": "

The ID of the workspace that contains the component type.

", + "DeleteEntityRequest$workspaceId": "

The ID of the workspace that contains the entity to delete.

", + "DeleteSceneRequest$sceneId": "

The ID of the scene to delete.

", + "DeleteSceneRequest$workspaceId": "

The ID of the workspace.

", + "DeleteWorkspaceRequest$workspaceId": "

The ID of the workspace to delete.

", + "GetComponentTypeRequest$workspaceId": "

The ID of the workspace that contains the component type.

", + "GetComponentTypeResponse$workspaceId": "

The ID of the workspace that contains the component type.

", + "GetEntityRequest$workspaceId": "

The ID of the workspace.

", + "GetEntityResponse$workspaceId": "

The ID of the workspace.

", + "GetPropertyValueHistoryRequest$workspaceId": "

The ID of the workspace.

", + "GetPropertyValueRequest$workspaceId": "

The ID of the workspace whose values the operation returns.

", + "GetSceneRequest$sceneId": "

The ID of the scene.

", + "GetSceneRequest$workspaceId": "

The ID of the workspace that contains the scene.

", + "GetSceneResponse$sceneId": "

The ID of the scene.

", + "GetSceneResponse$workspaceId": "

The ID of the workspace that contains the scene.

", + "GetWorkspaceResponse$workspaceId": "

The ID of the workspace.

", + "ListComponentTypesRequest$workspaceId": "

The ID of the workspace.

", + "ListComponentTypesResponse$workspaceId": "

The ID of the workspace.

", + "ListEntitiesRequest$workspaceId": "

The ID of the workspace.

", + "ListScenesRequest$workspaceId": "

The ID of the workspace that contains the scenes.

", + "SceneSummary$sceneId": "

The ID of the scene.

", + "UpdateComponentTypeRequest$workspaceId": "

The ID of the workspace that contains the component type.

", + "UpdateComponentTypeResponse$workspaceId": "

The ID of the workspace that contains the component type.

", + "UpdateEntityRequest$workspaceId": "

The ID of the workspace that contains the entity.

", + "UpdateSceneRequest$sceneId": "

The ID of the scene.

", + "UpdateSceneRequest$workspaceId": "

The ID of the workspace that contains the scene.

", + "UpdateWorkspaceRequest$workspaceId": "

The ID of the workspace.

", + "WorkspaceSummary$workspaceId": "

The ID of the workspace.

" + } + }, + "IdOrArn": { + "base": null, + "refs": { + "GetWorkspaceRequest$workspaceId": "

The ID of the workspace.

" + } + }, + "Integer": { + "base": null, + "refs": { + "DataValue$integerValue": "

An integer value.

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

An unexpected error has occurred.

", + "refs": { + } + }, + "InterpolationParameters": { + "base": "

An object that specifies how to interpolate data in a list.

", + "refs": { + "GetPropertyValueHistoryRequest$interpolation": "

An object that specifies the interpolation type and the interval over which to interpolate data.

" + } + }, + "InterpolationType": { + "base": null, + "refs": { + "InterpolationParameters$interpolationType": "

The interpolation type.

" + } + }, + "IntervalInSeconds": { + "base": null, + "refs": { + "InterpolationParameters$intervalInSeconds": "

The interpolation time interval in seconds.

" + } + }, + "LambdaArn": { + "base": null, + "refs": { + "LambdaFunction$arn": "

The ARN of the Lambda function.

" + } + }, + "LambdaFunction": { + "base": "

The Lambda function.

", + "refs": { + "DataConnector$lambda": "

The Lambda function associated with this data connector.

" + } + }, + "ListComponentTypesFilter": { + "base": "

An object that filters items in a list of component types.

", + "refs": { + "ListComponentTypesFilters$member": null + } + }, + "ListComponentTypesFilters": { + "base": null, + "refs": { + "ListComponentTypesRequest$filters": "

A list of objects that filter the request.

" + } + }, + "ListComponentTypesRequest": { + "base": null, + "refs": { + } + }, + "ListComponentTypesResponse": { + "base": null, + "refs": { + } + }, + "ListEntitiesFilter": { + "base": "

An object that filters items in a list of entities.

", + "refs": { + "ListEntitiesFilters$member": null + } + }, + "ListEntitiesFilters": { + "base": null, + "refs": { + "ListEntitiesRequest$filters": "

A list of objects that filter the request.

" + } + }, + "ListEntitiesRequest": { + "base": null, + "refs": { + } + }, + "ListEntitiesResponse": { + "base": null, + "refs": { + } + }, + "ListScenesRequest": { + "base": null, + "refs": { + } + }, + "ListScenesResponse": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "ListWorkspacesRequest": { + "base": null, + "refs": { + } + }, + "ListWorkspacesResponse": { + "base": null, + "refs": { + } + }, + "Long": { + "base": null, + "refs": { + "DataValue$longValue": "

A long value.

" + } + }, + "MaxResults": { + "base": null, + "refs": { + "GetPropertyValueHistoryRequest$maxResults": "

The maximum number of results to return.

", + "ListComponentTypesRequest$maxResults": "

The maximum number of results to display.

", + "ListComponentTypesResponse$maxResults": "

Specifies the maximum number of results to display.

", + "ListEntitiesRequest$maxResults": "

The maximum number of results to display.

", + "ListScenesRequest$maxResults": "

Specifies the maximum number of results to display.

", + "ListTagsForResourceRequest$maxResults": "

The maximum number of results to display.

", + "ListWorkspacesRequest$maxResults": "

The maximum number of results to display.

" + } + }, + "Name": { + "base": null, + "refs": { + "ComponentResponse$componentName": "

The name of the component.

", + "ComponentUpdatesMapRequest$key": null, + "ComponentsMap$key": null, + "ComponentsMapRequest$key": null, + "Configuration$key": null, + "EntityPropertyReference$componentName": "

The name of the component.

", + "EntityPropertyReference$propertyName": "

The name of the property.

", + "FunctionsRequest$key": null, + "FunctionsResponse$key": null, + "GetPropertyValueHistoryRequest$componentName": "

The name of the component.

", + "GetPropertyValueRequest$componentName": "

The name of the component whose property values the operation returns.

", + "PropertyDefinitionsRequest$key": null, + "PropertyDefinitionsResponse$key": null, + "PropertyLatestValueMap$key": null, + "PropertyRequests$key": null, + "PropertyResponses$key": null, + "RelationshipValue$targetComponentName": "

The name of the target component associated with the relationship value.

", + "RequiredProperties$member": null + } + }, + "NextToken": { + "base": null, + "refs": { + "GetPropertyValueHistoryRequest$nextToken": "

The string that specifies the next page of results.

", + "GetPropertyValueHistoryResponse$nextToken": "

The string that specifies the next page of results.

", + "ListComponentTypesRequest$nextToken": "

The string that specifies the next page of results.

", + "ListComponentTypesResponse$nextToken": "

The string that specifies the next page of results.

", + "ListEntitiesRequest$nextToken": "

The string that specifies the next page of results.

", + "ListEntitiesResponse$nextToken": "

The string that specifies the next page of results.

", + "ListScenesRequest$nextToken": "

The string that specifies the next page of results.

", + "ListScenesResponse$nextToken": "

The string that specifies the next page of results.

", + "ListTagsForResourceRequest$nextToken": "

The string that specifies the next page of results.

", + "ListTagsForResourceResponse$nextToken": "

The string that specifies the next page of results.

", + "ListWorkspacesRequest$nextToken": "

The string that specifies the next page of results.

", + "ListWorkspacesResponse$nextToken": "

The string that specifies the next page of results.

" + } + }, + "OrderByTime": { + "base": null, + "refs": { + "GetPropertyValueHistoryRequest$orderByTime": "

The time direction to use in the result order.

" + } + }, + "ParentEntityId": { + "base": null, + "refs": { + "CreateEntityRequest$parentEntityId": "

The ID of the entity's parent entity.

", + "EntitySummary$parentEntityId": "

The ID of the parent entity.

", + "GetEntityResponse$parentEntityId": "

The ID of the parent entity for this entity.

", + "ListEntitiesFilter$parentEntityId": "

The parent of the entities in the list.

", + "ParentEntityUpdateRequest$parentEntityId": "

The ID of the parent entity.

" + } + }, + "ParentEntityUpdateRequest": { + "base": "

The parent entity update request.

", + "refs": { + "UpdateEntityRequest$parentEntityUpdate": "

An object that describes the update request for a parent entity.

" + } + }, + "ParentEntityUpdateType": { + "base": null, + "refs": { + "ParentEntityUpdateRequest$updateType": "

The type of the update.

" + } + }, + "PropertyDefinitionRequest": { + "base": "

An object that sets information about a property.

", + "refs": { + "PropertyDefinitionsRequest$value": null, + "PropertyRequest$definition": "

An object that specifies information about a property.

" + } + }, + "PropertyDefinitionResponse": { + "base": "

An object that contains response data from a property definition request.

", + "refs": { + "PropertyDefinitionsResponse$value": null, + "PropertyResponse$definition": "

An object that specifies information about a property.

" + } + }, + "PropertyDefinitionsRequest": { + "base": null, + "refs": { + "CreateComponentTypeRequest$propertyDefinitions": "

An object that maps strings to the property definitions in the component type. Each string in the mapping must be unique to this object.

", + "UpdateComponentTypeRequest$propertyDefinitions": "

An object that maps strings to the property definitions in the component type. Each string in the mapping must be unique to this object.

" + } + }, + "PropertyDefinitionsResponse": { + "base": null, + "refs": { + "GetComponentTypeResponse$propertyDefinitions": "

An object that maps strings to the property definitions in the component type. Each string in the mapping must be unique to this object.

" + } + }, + "PropertyFilter": { + "base": "

An object that filters items returned by a property request.

", + "refs": { + "PropertyFilters$member": null + } + }, + "PropertyFilters": { + "base": null, + "refs": { + "GetPropertyValueHistoryRequest$propertyFilters": "

A list of objects that filter the property value history request.

" + } + }, + "PropertyLatestValue": { + "base": "

The latest value of the property.

", + "refs": { + "PropertyLatestValueMap$value": null + } + }, + "PropertyLatestValueMap": { + "base": null, + "refs": { + "GetPropertyValueResponse$propertyValues": "

An object that maps strings to the properties and latest property values in the response. Each string in the mapping must be unique to this object.

" + } + }, + "PropertyRequest": { + "base": "

An object that sets information about a property.

", + "refs": { + "PropertyRequests$value": null + } + }, + "PropertyRequests": { + "base": null, + "refs": { + "ComponentRequest$properties": "

An object that maps strings to the properties to set in the component type. Each string in the mapping must be unique to this object.

", + "ComponentUpdateRequest$propertyUpdates": "

An object that maps strings to the properties to set in the component type update. Each string in the mapping must be unique to this object.

" + } + }, + "PropertyResponse": { + "base": "

An object that contains information about a property response.

", + "refs": { + "PropertyResponses$value": null + } + }, + "PropertyResponses": { + "base": null, + "refs": { + "ComponentResponse$properties": "

An object that maps strings to the properties to set in the component type. Each string in the mapping must be unique to this object.

" + } + }, + "PropertyUpdateType": { + "base": null, + "refs": { + "PropertyRequest$updateType": "

The update type of the update property request.

" + } + }, + "PropertyValue": { + "base": "

An object that contains information about a value for a time series property.

", + "refs": { + "PropertyValues$member": null, + "Values$member": null + } + }, + "PropertyValueEntry": { + "base": "

An object that specifies information about time series property values.

", + "refs": { + "BatchPutPropertyError$entry": "

An object that contains information about errors returned by the BatchPutProperty action.

", + "Entries$member": null + } + }, + "PropertyValueHistory": { + "base": "

The history of values for a time series property.

", + "refs": { + "PropertyValueList$member": null + } + }, + "PropertyValueList": { + "base": null, + "refs": { + "GetPropertyValueHistoryResponse$propertyValues": "

An object that maps strings to the property definitions in the component type. Each string in the mapping must be unique to this object.

" + } + }, + "PropertyValues": { + "base": null, + "refs": { + "PropertyValueEntry$propertyValues": "

A list of objects that specify time series property values.

" + } + }, + "Relationship": { + "base": "

An object that specifies a relationship with another component type.

", + "refs": { + "DataType$relationship": "

A relationship that associates a component with another component.

" + } + }, + "RelationshipValue": { + "base": "

A value that associates a component and an entity.

", + "refs": { + "DataValue$relationshipValue": "

A value that relates a component to another component.

" + } + }, + "RequiredProperties": { + "base": null, + "refs": { + "FunctionRequest$requiredProperties": "

The required properties of the function.

", + "FunctionResponse$requiredProperties": "

The required properties of the function.

" + } + }, + "ResourceNotFoundException": { + "base": "

The resource wasn't found.

", + "refs": { + } + }, + "RoleArn": { + "base": null, + "refs": { + "CreateWorkspaceRequest$role": "

The ARN of the execution role associated with the workspace.

", + "GetWorkspaceResponse$role": "

The ARN of the execution role associated with the workspace.

", + "UpdateWorkspaceRequest$role": "

The ARN of the execution role associated with the workspace.

" + } + }, + "S3Location": { + "base": null, + "refs": { + "CreateWorkspaceRequest$s3Location": "

The ARN of the S3 bucket where resources associated with the workspace are stored.

", + "GetWorkspaceResponse$s3Location": "

The ARN of the S3 bucket where resources associated with the workspace are stored.

" + } + }, + "S3Url": { + "base": null, + "refs": { + "CreateSceneRequest$contentLocation": "

The relative path that specifies the location of the content definition file.

", + "GetSceneResponse$contentLocation": "

The relative path that specifies the location of the content definition file.

", + "SceneSummary$contentLocation": "

The relative path that specifies the location of the content definition file.

", + "UpdateSceneRequest$contentLocation": "

The relative path that specifies the location of the content definition file.

" + } + }, + "SceneCapabilities": { + "base": null, + "refs": { + "CreateSceneRequest$capabilities": "

A list of capabilities that the scene uses to render itself.

", + "GetSceneResponse$capabilities": "

A list of capabilities that the scene uses to render.

", + "UpdateSceneRequest$capabilities": "

A list of capabilities that the scene uses to render.

" + } + }, + "SceneCapability": { + "base": null, + "refs": { + "SceneCapabilities$member": null + } + }, + "SceneSummaries": { + "base": null, + "refs": { + "ListScenesResponse$sceneSummaries": "

A list of objects that contain information about the scenes.

" + } + }, + "SceneSummary": { + "base": "

An object that contains information about a scene.

", + "refs": { + "SceneSummaries$member": null + } + }, + "Scope": { + "base": null, + "refs": { + "FunctionRequest$scope": "

The scope of the function.

", + "FunctionResponse$scope": "

The scope of the function.

" + } + }, + "SelectedPropertyList": { + "base": null, + "refs": { + "GetPropertyValueHistoryRequest$selectedProperties": "

A list of properties whose value histories the request retrieves.

", + "GetPropertyValueRequest$selectedProperties": "

The properties whose values the operation returns.

" + } + }, + "ServiceQuotaExceededException": { + "base": "

The service quota was exceeded.

", + "refs": { + } + }, + "State": { + "base": null, + "refs": { + "CreateComponentTypeResponse$state": "

The current state of the component type.

", + "CreateEntityResponse$state": "

The current state of the entity.

", + "DeleteComponentTypeResponse$state": "

The current state of the component type to be deleted.

", + "DeleteEntityResponse$state": "

The current state of the deleted entity.

", + "Status$state": "

The current state of the entity, component, component type, or workspace.

", + "UpdateComponentTypeResponse$state": "

The current state of the component type.

", + "UpdateEntityResponse$state": "

The current state of the entity update.

" + } + }, + "Status": { + "base": "

An object that represents the status of an entity, component, component type, or workspace.

", + "refs": { + "ComponentResponse$status": "

The status of the component type.

", + "ComponentTypeSummary$status": "

The current status of the component type.

", + "EntitySummary$status": "

The current status of the entity.

", + "GetComponentTypeResponse$status": "

The current status of the component type.

", + "GetEntityResponse$status": "

The current status of the entity.

" + } + }, + "String": { + "base": null, + "refs": { + "BatchPutPropertyError$errorCode": "

The error code.

", + "BatchPutPropertyError$errorMessage": "

The error message.

", + "ComponentResponse$definedIn": "

The name of the property definition set in the request.

", + "DataType$unitOfMeasure": "

The unit of measure used in this data type.

", + "DataValue$stringValue": "

A string value.

", + "DataValueMap$key": null, + "ExternalIdProperty$key": null, + "ExternalIdProperty$value": null, + "ListComponentTypesFilter$namespace": "

The namespace to which the component types in the list belong.

", + "PropertyFilter$operator": "

The operator associated with this property filter.

", + "PropertyFilter$propertyName": "

The property name associated with this property filter.

", + "Relationship$relationshipType": "

The type of the relationship.

", + "SelectedPropertyList$member": null + } + }, + "TagKey": { + "base": null, + "refs": { + "TagKeyList$member": null, + "TagMap$key": null + } + }, + "TagKeyList": { + "base": null, + "refs": { + "UntagResourceRequest$tagKeys": "

A list of tag key names to remove from the resource. You don't specify the value. Both the key and its associated value are removed.

" + } + }, + "TagMap": { + "base": null, + "refs": { + "CreateComponentTypeRequest$tags": "

Metadata that you can use to manage the component type.

", + "CreateEntityRequest$tags": "

Metadata that you can use to manage the entity.

", + "CreateSceneRequest$tags": "

Metadata that you can use to manage the scene.

", + "CreateWorkspaceRequest$tags": "

Metadata that you can use to manage the workspace

", + "ListTagsForResourceResponse$tags": "

Metadata that you can use to manage a resource.

", + "TagResourceRequest$tags": "

Metadata to add to this resource.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "TagMap$value": null + } + }, + "ThrottlingException": { + "base": "

The rate exceeds the limit.

", + "refs": { + } + }, + "Timestamp": { + "base": null, + "refs": { + "ComponentTypeSummary$creationDateTime": "

The date and time when the component type was created.

", + "ComponentTypeSummary$updateDateTime": "

The date and time when the component type was last updated.

", + "CreateComponentTypeResponse$creationDateTime": "

The date and time when the entity was created.

", + "CreateEntityResponse$creationDateTime": "

The date and time when the entity was created.

", + "CreateSceneResponse$creationDateTime": "

The date and time when the scene was created.

", + "CreateWorkspaceResponse$creationDateTime": "

The date and time when the workspace was created.

", + "EntitySummary$creationDateTime": "

The date and time when the entity was created.

", + "EntitySummary$updateDateTime": "

The last date and time when the entity was updated.

", + "GetComponentTypeResponse$creationDateTime": "

The date and time when the component type was created.

", + "GetComponentTypeResponse$updateDateTime": "

The date and time when the component was last updated.

", + "GetEntityResponse$creationDateTime": "

The date and time when the entity was created.

", + "GetEntityResponse$updateDateTime": "

The date and time when the entity was last updated.

", + "GetPropertyValueHistoryRequest$endDateTime": "

The date and time of the latest property value to return.

", + "GetPropertyValueHistoryRequest$startDateTime": "

The date and time of the earliest property value to return.

", + "GetSceneResponse$creationDateTime": "

The date and time when the scene was created.

", + "GetSceneResponse$updateDateTime": "

The date and time when the scene was last updated.

", + "GetWorkspaceResponse$creationDateTime": "

The date and time when the workspace was created.

", + "GetWorkspaceResponse$updateDateTime": "

The date and time when the workspace was last updated.

", + "PropertyValue$timestamp": "

The timestamp of a value for a time series property.

", + "SceneSummary$creationDateTime": "

The date and time when the scene was created.

", + "SceneSummary$updateDateTime": "

The date and time when the scene was last updated.

", + "UpdateEntityResponse$updateDateTime": "

The date and time when the entity was last updated.

", + "UpdateSceneResponse$updateDateTime": "

The date and time when the scene was last updated.

", + "UpdateWorkspaceResponse$updateDateTime": "

The date and time of the current update.

", + "WorkspaceSummary$creationDateTime": "

The date and time when the workspace was created.

", + "WorkspaceSummary$updateDateTime": "

The date and time when the workspace was last updated.

" + } + }, + "TooManyTagsException": { + "base": "

The number of tags exceeds the limit.

", + "refs": { + } + }, + "TwinMakerArn": { + "base": null, + "refs": { + "ComponentTypeSummary$arn": "

The ARN of the component type.

", + "CreateComponentTypeResponse$arn": "

The ARN of the component type.

", + "CreateEntityResponse$arn": "

The ARN of the entity.

", + "CreateSceneResponse$arn": "

The ARN of the scene.

", + "CreateWorkspaceResponse$arn": "

The ARN of the workspace.

", + "EntitySummary$arn": "

The ARN of the entity.

", + "GetComponentTypeResponse$arn": "

The ARN of the component type.

", + "GetEntityResponse$arn": "

The ARN of the entity.

", + "GetSceneResponse$arn": "

The ARN of the scene.

", + "GetWorkspaceResponse$arn": "

The ARN of the workspace.

", + "ListTagsForResourceRequest$resourceARN": "

The ARN of the resource.

", + "SceneSummary$arn": "

The ARN of the scene.

", + "TagResourceRequest$resourceARN": "

The ARN of the resource.

", + "UntagResourceRequest$resourceARN": "

The ARN of the resource.

", + "UpdateComponentTypeResponse$arn": "

The ARN of the component type.

", + "WorkspaceSummary$arn": "

The ARN of the workspace.

" + } + }, + "Type": { + "base": null, + "refs": { + "DataType$type": "

The underlying type of the data type.

" + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, + "UpdateComponentTypeRequest": { + "base": null, + "refs": { + } + }, + "UpdateComponentTypeResponse": { + "base": null, + "refs": { + } + }, + "UpdateEntityRequest": { + "base": null, + "refs": { + } + }, + "UpdateEntityResponse": { + "base": null, + "refs": { + } + }, + "UpdateSceneRequest": { + "base": null, + "refs": { + } + }, + "UpdateSceneResponse": { + "base": null, + "refs": { + } + }, + "UpdateWorkspaceRequest": { + "base": null, + "refs": { + } + }, + "UpdateWorkspaceResponse": { + "base": null, + "refs": { + } + }, + "ValidationException": { + "base": "

Failed

", + "refs": { + } + }, + "Value": { + "base": null, + "refs": { + "Configuration$value": null + } + }, + "Values": { + "base": null, + "refs": { + "PropertyValueHistory$values": "

A list of objects that contain information about the values in the history of a time series property.

" + } + }, + "WorkspaceSummaries": { + "base": null, + "refs": { + "ListWorkspacesResponse$workspaceSummaries": "

A list of objects that contain information about the workspaces.

" + } + }, + "WorkspaceSummary": { + "base": "

An object that contains information about a workspace.

", + "refs": { + "WorkspaceSummaries$member": null + } + } + } +} diff --git a/models/apis/iottwinmaker/2021-11-29/examples-1.json b/models/apis/iottwinmaker/2021-11-29/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/iottwinmaker/2021-11-29/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/iottwinmaker/2021-11-29/paginators-1.json b/models/apis/iottwinmaker/2021-11-29/paginators-1.json new file mode 100644 index 00000000000..2a8f3a38464 --- /dev/null +++ b/models/apis/iottwinmaker/2021-11-29/paginators-1.json @@ -0,0 +1,29 @@ +{ + "pagination": { + "GetPropertyValueHistory": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListComponentTypes": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListEntities": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListScenes": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListWorkspaces": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + } + } +} diff --git a/models/apis/iottwinmaker/2021-11-29/smoke.json b/models/apis/iottwinmaker/2021-11-29/smoke.json new file mode 100644 index 00000000000..a9756813e4a --- /dev/null +++ b/models/apis/iottwinmaker/2021-11-29/smoke.json @@ -0,0 +1,6 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + ] +} diff --git a/models/apis/iottwinmaker/2021-11-29/waiters-2.json b/models/apis/iottwinmaker/2021-11-29/waiters-2.json new file mode 100644 index 00000000000..13f60ee66be --- /dev/null +++ b/models/apis/iottwinmaker/2021-11-29/waiters-2.json @@ -0,0 +1,5 @@ +{ + "version": 2, + "waiters": { + } +} diff --git a/models/apis/kafka/2018-11-14/api-2.json b/models/apis/kafka/2018-11-14/api-2.json index 92119efacb8..3a27cedb24c 100644 --- a/models/apis/kafka/2018-11-14/api-2.json +++ b/models/apis/kafka/2018-11-14/api-2.json @@ -78,6 +78,43 @@ } ] }, + "CreateClusterV2": { + "name": "CreateClusterV2", + "http": { + "method": "POST", + "requestUri": "/api/v2/clusters", + "responseCode": 200 + }, + "input": { + "shape": "CreateClusterV2Request" + }, + "output": { + "shape": "CreateClusterV2Response" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "ForbiddenException" + }, + { + "shape": "ServiceUnavailableException" + }, + { + "shape": "TooManyRequestsException" + }, + { + "shape": "ConflictException" + } + ] + }, "CreateConfiguration": { "name": "CreateConfiguration", "http": { @@ -202,6 +239,37 @@ } ] }, + "DescribeClusterV2": { + "name": "DescribeClusterV2", + "http": { + "method": "GET", + "requestUri": "/api/v2/clusters/{clusterArn}", + "responseCode": 200 + }, + "input": { + "shape": "DescribeClusterV2Request" + }, + "output": { + "shape": "DescribeClusterV2Response" + }, + "errors": [ + { + "shape": "NotFoundException" + }, + { + "shape": "BadRequestException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ForbiddenException" + } + ] + }, "DescribeClusterOperation": { "name": "DescribeClusterOperation", "http": { @@ -454,6 +522,34 @@ } ] }, + "ListClustersV2": { + "name": "ListClustersV2", + "http": { + "method": "GET", + "requestUri": "/api/v2/clusters", + "responseCode": 200 + }, + "input": { + "shape": "ListClustersV2Request" + }, + "output": { + "shape": "ListClustersV2Response" + }, + "errors": [ + { + "shape": "BadRequestException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "UnauthorizedException" + }, + { + "shape": "ForbiddenException" + } + ] + }, "ListConfigurationRevisions": { "name": "ListConfigurationRevisions", "http": { @@ -2087,6 +2183,391 @@ } } }, + "ListClustersV2Request": { + "type": "structure", + "members": { + "ClusterNameFilter": { + "shape": "__string", + "location": "querystring", + "locationName": "clusterNameFilter", + "documentation": "\n

Specify a prefix of the names of the clusters that you want to list. The service lists all the clusters whose names start with this prefix.

\n " + }, + "ClusterTypeFilter": { + "shape": "__string", + "location": "querystring", + "locationName": "clusterTypeFilter", + "documentation": "\n

Specify either PROVISIONED or SERVERLESS.

\n " + }, + "MaxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults", + "documentation": "\n

The maximum number of results to return in the response. If there are more results, the response includes a NextToken parameter.

\n " + }, + "NextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken", + "documentation": "\n

The paginated results marker. When the result of the operation is truncated, the call returns NextToken in the response. \n To get the next batch, provide this token in your next request.

\n " + } + } + }, + "ListClustersV2Response": { + "type": "structure", + "members": { + "ClusterInfoList": { + "shape": "__listOfCluster", + "locationName": "clusterInfoList", + "documentation": "\n

Information on each of the MSK clusters in the response.

\n " + }, + "NextToken": { + "shape": "__string", + "locationName": "nextToken", + "documentation": "\n

The paginated results marker. When the result of a ListClusters operation is truncated, the call returns NextToken in the response. \n To get another batch of clusters, provide this token in your next request.

\n " + } + } + }, + "CreateClusterV2Request": { + "type": "structure", + "members": { + "ClusterName": { + "shape": "__stringMin1Max64", + "locationName": "clusterName", + "documentation": "\n

The name of the cluster.

\n " + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags", + "documentation": "\n

A map of tags that you want the cluster to have.

\n " + }, + "Provisioned": { + "shape": "ProvisionedRequest", + "locationName": "provisioned", + "documentation": "\n

Information about the provisioned cluster.

\n " + }, + "Serverless": { + "shape": "ServerlessRequest", + "locationName": "serverless", + "documentation": "\n

Information about the serverless cluster.

\n " + } + }, + "required": [ + "ClusterName" + ] + }, + "CreateClusterV2Response": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "locationName": "clusterArn", + "documentation": "\n

The Amazon Resource Name (ARN) of the cluster.

\n " + }, + "ClusterName": { + "shape": "__string", + "locationName": "clusterName", + "documentation": "\n

The name of the MSK cluster.

\n " + }, + "State": { + "shape": "ClusterState", + "locationName": "state", + "documentation": "\n

The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.

\n " + }, + "ClusterType": { + "shape": "ClusterType", + "locationName": "clusterType", + "documentation": "\n

The type of the cluster. The possible types are PROVISIONED or SERVERLESS.

\n " + } + } + }, + "DescribeClusterV2Request": { + "type": "structure", + "members": { + "ClusterArn": { + "shape": "__string", + "location": "uri", + "locationName": "clusterArn", + "documentation": "\n

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

\n " + } + }, + "required": [ + "ClusterArn" + ] + }, + "DescribeClusterV2Response": { + "type": "structure", + "members": { + "ClusterInfo": { + "shape": "Cluster", + "locationName": "clusterInfo", + "documentation": "\n

The cluster information.

\n " + } + } + }, + "Cluster": { + "type": "structure", + "members": { + "ActiveOperationArn": { + "shape": "__string", + "locationName": "activeOperationArn", + "documentation": "\n

The Amazon Resource Name (ARN) that uniquely identifies a cluster operation.

\n " + }, + "ClusterType": { + "shape": "ClusterType", + "locationName": "clusterType", + "documentation": "\n

Cluster Type.

\n " + }, + "ClusterArn": { + "shape": "__string", + "locationName": "clusterArn", + "documentation": "\n

The Amazon Resource Name (ARN) that uniquely identifies the cluster.

\n " + }, + "ClusterName": { + "shape": "__string", + "locationName": "clusterName", + "documentation": "\n

The name of the cluster.

\n " + }, + "CreationTime": { + "shape": "__timestampIso8601", + "locationName": "creationTime", + "documentation": "\n

The time when the cluster was created.

\n " + }, + "CurrentVersion": { + "shape": "__string", + "locationName": "currentVersion", + "documentation": "\n

The current version of the MSK cluster.

\n " + }, + "State": { + "shape": "ClusterState", + "locationName": "state", + "documentation": "\n

The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.

\n " + }, + "StateInfo" : { + "shape" : "StateInfo", + "locationName" : "stateInfo", + "documentation": "\n

State Info for the Amazon MSK cluster.

\n " + }, + "Tags": { + "shape": "__mapOf__string", + "locationName": "tags", + "documentation": "\n

Tags attached to the cluster.

\n " + }, + "Provisioned": { + "shape": "Provisioned", + "locationName": "provisioned", + "documentation": "\n

Information about the provisioned cluster.

\n " + }, + "Serverless": { + "shape": "Serverless", + "locationName": "serverless", + "documentation": "\n

Information about the serverless cluster.

\n " + } + }, + "documentation": "\n

Returns information about a cluster.

\n " + }, + "ClusterType": { + "type": "string", + "documentation": "\n

The type of cluster.

\n ", + "enum": [ + "PROVISIONED", + "SERVERLESS" + ] + }, + "ProvisionedRequest": { + "type" : "structure", + "documentation": "\n

Provisioned cluster request.

\n ", + "members" : { + "BrokerNodeGroupInfo": { + "shape": "BrokerNodeGroupInfo", + "locationName": "brokerNodeGroupInfo", + "documentation": "\n

Information about the brokers.

\n " + }, + "ClientAuthentication": { + "shape": "ClientAuthentication", + "locationName": "clientAuthentication", + "documentation": "\n

Includes all client authentication information.

\n " + }, + "ConfigurationInfo": { + "shape": "ConfigurationInfo", + "locationName": "configurationInfo", + "documentation": "\n

Represents the configuration that you want Amazon MSK to use for the brokers in a cluster.

\n " + }, + "EncryptionInfo": { + "shape": "EncryptionInfo", + "locationName": "encryptionInfo", + "documentation": "\n

Includes all encryption-related information.

\n " + }, + "EnhancedMonitoring": { + "shape": "EnhancedMonitoring", + "locationName": "enhancedMonitoring", + "documentation": "\n

Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION.

\n " + }, + "OpenMonitoring" : { + "shape" : "OpenMonitoringInfo", + "locationName" : "openMonitoring", + "documentation" : "\n

The settings for open monitoring.

\n " + }, + "KafkaVersion": { + "shape": "__stringMin1Max128", + "locationName": "kafkaVersion", + "documentation": "\n

The Apache Kafka version that you want for the cluster.

\n " + }, + "LoggingInfo": { + "shape": "LoggingInfo", + "locationName": "loggingInfo", + "documentation": "\n

Log delivery information for the cluster.

\n " + }, + "NumberOfBrokerNodes": { + "shape": "__integerMin1Max15", + "locationName": "numberOfBrokerNodes", + "documentation": "\n

The number of brokers in the cluster.

\n " + } + }, + "required": [ + "BrokerNodeGroupInfo", + "KafkaVersion", + "NumberOfBrokerNodes" + ] + }, + "Provisioned": { + "type" : "structure", + "documentation": "\n

Provisioned cluster.

\n ", + "members" : { + "BrokerNodeGroupInfo": { + "shape": "BrokerNodeGroupInfo", + "locationName": "brokerNodeGroupInfo", + "documentation": "\n

Information about the brokers.

\n " + }, + "CurrentBrokerSoftwareInfo": { + "shape": "BrokerSoftwareInfo", + "locationName": "currentBrokerSoftwareInfo", + "documentation": "\n

Information about the Apache Kafka version deployed on the brokers.

\n " + }, + "ClientAuthentication": { + "shape": "ClientAuthentication", + "locationName": "clientAuthentication", + "documentation": "\n

Includes all client authentication information.

\n " + }, + "EncryptionInfo": { + "shape": "EncryptionInfo", + "locationName": "encryptionInfo", + "documentation": "\n

Includes all encryption-related information.

\n " + }, + "EnhancedMonitoring": { + "shape": "EnhancedMonitoring", + "locationName": "enhancedMonitoring", + "documentation": "\n

Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION.

\n " + }, + "OpenMonitoring" : { + "shape" : "OpenMonitoringInfo", + "locationName" : "openMonitoring", + "documentation" : "\n

The settings for open monitoring.

\n " + }, + "LoggingInfo": { + "shape": "LoggingInfo", + "locationName": "loggingInfo", + "documentation": "\n

Log delivery information for the cluster.

\n " + }, + "NumberOfBrokerNodes": { + "shape": "__integerMin1Max15", + "locationName": "numberOfBrokerNodes", + "documentation": "\n

The number of brokers in the cluster.

\n " + }, + "ZookeeperConnectString": { + "shape": "__string", + "locationName": "zookeeperConnectString", + "documentation": "\n

The connection string to use to connect to the Apache ZooKeeper cluster.

\n " + }, + "ZookeeperConnectStringTls" : { + "shape" : "__string", + "locationName" : "zookeeperConnectStringTls", + "documentation" : "\n

The connection string to use to connect to the Apache ZooKeeper cluster on a TLS port.

\n " + } + }, + "required": [ + "BrokerNodeGroupInfo", + "NumberOfBrokerNodes" + ] + }, + "VpcConfig": { + "type" : "structure", + "documentation": "\n

The configuration of the Amazon VPCs for the cluster.

\n ", + "members": { + "SubnetIds": { + "shape": "__listOf__string", + "locationName": "subnetIds", + "documentation" : "\n

The IDs of the subnets associated with the cluster.

\n " + }, + "SecurityGroupIds": { + "shape": "__listOf__string", + "locationName": "securityGroupIds", + "documentation" : "\n

The IDs of the security groups associated with the cluster.

\n " + } + }, + "required": [ + "SubnetIds" + ] + }, + "ServerlessRequest": { + "type" : "structure", + "documentation": "\n

Serverless cluster request.

\n ", + "members" : { + "VpcConfigs": { + "shape": "__listOfVpcConfig", + "locationName": "vpcConfigs", + "documentation": "\n

The configuration of the Amazon VPCs for the cluster.

\n " + }, + "ClientAuthentication": { + "shape": "ServerlessClientAuthentication", + "locationName": "clientAuthentication", + "documentation": "\n

Includes all client authentication information.

\n " + } + }, + "required": [ + "VpcConfigs" + ] + }, + "ServerlessClientAuthentication" : { + "type" : "structure", + "members" : { + "Sasl" : { + "shape" : "ServerlessSasl", + "locationName" : "sasl", + "documentation" : "\n

Details for client authentication using SASL.

\n " + } + }, + "documentation" : "\n

Includes all client authentication information.

\n " + }, + "ServerlessSasl" : { + "type" : "structure", + "members" : { + "Iam" : { + "shape" : "Iam", + "locationName" : "iam", + "documentation" : "\n

Indicates whether IAM access control is enabled.

\n " + } + }, + "documentation" : "\n

Details for client authentication using SASL.

\n " + }, + "Serverless": { + "type" : "structure", + "documentation": "\n

Serverless cluster.

\n ", + "members" : { + "VpcConfigs": { + "shape": "__listOfVpcConfig", + "locationName": "vpcConfigs", + "documentation": "\n

The configuration of the Amazon VPCs for the cluster.

\n " + }, + "ClientAuthentication": { + "shape": "ServerlessClientAuthentication", + "locationName": "clientAuthentication", + "documentation": "\n

Includes all client authentication information.

\n " + } + }, + "required": [ + "VpcConfigs" + ] + }, "ListClustersRequest": { "type": "structure", "members": { @@ -3145,6 +3626,18 @@ "shape" : "CompatibleKafkaVersion" } }, + "__listOfCluster": { + "type": "list", + "member": { + "shape": "Cluster" + } + }, + "__listOfVpcConfig" : { + "type" : "list", + "member" : { + "shape" : "VpcConfig" + } + }, "__listOfConfiguration": { "type": "list", "member": { diff --git a/models/apis/kafka/2018-11-14/docs-2.json b/models/apis/kafka/2018-11-14/docs-2.json index a88d4e8af91..1caff59387d 100644 --- a/models/apis/kafka/2018-11-14/docs-2.json +++ b/models/apis/kafka/2018-11-14/docs-2.json @@ -4,10 +4,12 @@ "operations" : { "BatchAssociateScramSecret" : "

Associates one or more Scram Secrets with an Amazon MSK cluster.

", "CreateCluster" : "

Creates a new MSK cluster.

", + "CreateClusterV2" : "

Creates a new Amazon MSK cluster of either the provisioned or the serverless type.

", "CreateConfiguration" : "

Creates a new MSK configuration.

", "DeleteCluster" : "

Deletes the MSK cluster specified by the Amazon Resource Name (ARN) in the request.

", "DeleteConfiguration" : "

Deletes the specified MSK configuration. The configuration must be in the ACTIVE or DELETE_FAILED state.

", "DescribeCluster" : "

Returns a description of the MSK cluster whose Amazon Resource Name (ARN) is specified in the request.

", + "DescribeClusterV2" : "

Returns a description of the MSK cluster of either the provisioned or the serverless type whose Amazon Resource Name (ARN) is specified in the request.

", "DescribeClusterOperation" : "

Returns a description of the cluster operation specified by the ARN.

", "DescribeConfiguration" : "

Returns a description of this MSK configuration.

", "DescribeConfigurationRevision" : "

Returns a description of this revision of the configuration.

", @@ -16,6 +18,7 @@ "GetCompatibleKafkaVersions" : "

Gets the Apache Kafka versions to which you can update the MSK cluster.

", "ListClusterOperations" : "

Returns a list of all the operations that have been performed on the specified MSK cluster.

", "ListClusters" : "

Returns a list of all the MSK clusters in the current Region.

", + "ListClustersV2" : "

Returns a list of all the MSK clusters in the current Region.

", "ListConfigurationRevisions" : "

Returns a list of all the revisions of an MSK configuration.

", "ListConfigurations" : "

Returns a list of all the MSK configurations in this Region.

", "ListKafkaVersions" : "

Returns a list of Apache Kafka versions.

", @@ -70,7 +73,46 @@ "base" : "

Describes the setup to be used for Apache Kafka broker nodes in the cluster.

", "refs" : { "ClusterInfo$BrokerNodeGroupInfo" : "

Information about the brokers.

", - "CreateClusterRequest$BrokerNodeGroupInfo" : "

Information about the brokers.

" + "Provisioned$BrokerNodeGroupInfo" : "

Information about the brokers.

", + "CreateClusterRequest$BrokerNodeGroupInfo" : "

Information about the brokers.

", + "ProvisionedRequest$BrokerNodeGroupInfo" : "

Information about the brokers.

" + } + }, + "Provisioned" : { + "base" : "

Describes the provisioned cluster.

", + "refs" : { + "Cluster$Provisioned" : "

Information about the provisioned cluster.

" + } + }, + "ProvisionedRequest" : { + "base" : "

Creates a provisioned cluster.

", + "refs" : { + "CreateClusterV2Request$Provisioned" : "

Creates a provisioned cluster.

" + } + }, + "ServerlessRequest" : { + "base" : "

Creates serverless cluster.

", + "refs" : { + "CreateClusterV2Request$Serverless" : "

Creates a serverless cluster.

" + } + }, + "Serverless" : { + "base" : "

Describes the serverless cluster.

", + "refs" : { + "Cluster$Serverless" : "

Information about the serverless cluster.

" + } + }, + "ServerlessClientAuthentication" : { + "base" : "

Describes the serverless cluster client authentication.

", + "refs" : { + "Serverless$ClientAuthentication" : "

Information about the serverless cluster client authentication.

", + "ServerlessRequest$ClientAuthentication" : "

Information about the serverless cluster client authentication.

" + } + }, + "ServerlessSasl" : { + "base" : "

Describes the serverless cluster SASL information.

", + "refs" : { + "ServerlessClientAuthentication$Sasl" : "

Serverless cluster SASL information.

" } }, "BrokerNodeInfo" : { @@ -83,14 +125,17 @@ "base" : "

Information about the current software installed on the cluster.

", "refs" : { "BrokerNodeInfo$CurrentBrokerSoftwareInfo" : "

Information about the version of software currently deployed on the Apache Kafka brokers in the cluster.

", - "ClusterInfo$CurrentBrokerSoftwareInfo" : "

Information about the version of software currently deployed on the Apache Kafka brokers in the cluster.

" + "ClusterInfo$CurrentBrokerSoftwareInfo" : "

Information about the version of software currently deployed on the Apache Kafka brokers in the cluster.

", + "Provisioned$CurrentBrokerSoftwareInfo" : "

Information about the version of software currently deployed on the Apache Kafka brokers in the cluster.

" } }, "ClientAuthentication" : { "base" : "

Includes all client authentication information.

", "refs" : { "ClusterInfo$ClientAuthentication" : "

Includes all client authentication information.

", + "Provisioned$ClientAuthentication" : "

Includes all client authentication information.

", "CreateClusterRequest$ClientAuthentication" : "

Includes all client authentication related information.

", + "ProvisionedRequest$ClientAuthentication" : "

Includes all client authentication related information.

", "MutableClusterInfo$ClientAuthentication" : "

Includes all client authentication related information.

", "UpdateSecurityRequest$ClientAuthentication" : "

Includes all client authentication related information.

" } @@ -114,6 +159,13 @@ "__listOfClusterInfo$member" : null } }, + "Cluster" : { + "base" : "

Returns information about a cluster of either the provisioned or the serverless type.

", + "refs" : { + "DescribeClusterV2Response$ClusterInfo" : "

The cluster information.

", + "__listOfCluster$member" : null + } + }, "ClusterOperationInfo" : { "base" : "

Returns information about a cluster operation.

", "refs" : { @@ -138,6 +190,7 @@ "refs" : { "ClusterInfo$State" : "

The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.

", "CreateClusterResponse$State" : "

The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.

", + "CreateClusterV2Response$State" : "

The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.

", "DeleteClusterResponse$State" : "

The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING.

" } }, @@ -157,6 +210,7 @@ "base" : "

Specifies the configuration to use for the brokers.

", "refs" : { "CreateClusterRequest$ConfigurationInfo" : "

Represents the configuration that you want MSK to use for the cluster.

", + "ProvisionedRequest$ConfigurationInfo" : "

Represents the configuration that you want MSK to use for the cluster.

", "MutableClusterInfo$ConfigurationInfo" : "

Information about the changes in the configuration of the brokers.

", "UpdateClusterConfigurationRequest$ConfigurationInfo" : "

Represents the configuration that you want MSK to use for the cluster.

" } @@ -195,10 +249,18 @@ "base" : "

Creates a cluster.

", "refs" : { } }, + "CreateClusterV2Request" : { + "base" : "

Creates a new Amazon MSK cluster of either the provisioned or the serverless type.

", + "refs" : { } + }, "CreateClusterResponse" : { "base" : "

Returns information about the created cluster.

", "refs" : { } }, + "CreateClusterV2Response" : { + "base" : "

Returns information about the created cluster of either the provisioned or the serverless type.

", + "refs" : { } + }, "CreateConfigurationRequest" : { "base" : "

Request body for CreateConfiguration.

", "refs" : { } @@ -227,6 +289,10 @@ "base" : "

Returns information about a cluster.

", "refs" : { } }, + "DescribeClusterV2Response" : { + "base" : "

Returns information about a cluster of either the provisioned or the serverless type.

", + "refs" : { } + }, "DescribeConfigurationResponse" : { "base" : "

Response body for DescribeConfiguration.

", "refs" : { } @@ -265,7 +331,9 @@ "base" : "

Includes encryption-related information, such as the AWS KMS key used for encrypting data at rest and whether you want MSK to encrypt your data in transit.

", "refs" : { "ClusterInfo$EncryptionInfo" : "

Includes all encryption-related information.

", + "Provisioned$EncryptionInfo" : "

Includes all encryption-related information.

", "CreateClusterRequest$EncryptionInfo" : "

Includes all encryption-related information.

", + "ProvisionedRequest$EncryptionInfo" : "

Includes all encryption-related information.

", "MutableClusterInfo$EncryptionInfo" : "

Includes all encryption-related information.

", "UpdateSecurityRequest$EncryptionInfo" : "

Includes all encryption-related information.

" } @@ -274,7 +342,9 @@ "base" : "

Specifies which metrics are gathered for the MSK cluster. This property has the following possible values: DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION. For a list of the metrics associated with each of these levels of monitoring, see Monitoring.

", "refs" : { "ClusterInfo$EnhancedMonitoring" : "

Specifies which metrics are gathered for the MSK cluster. This property has the following possible values: DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION. For a list of the metrics associated with each of these levels of monitoring, see Monitoring.

", + "Provisioned$EnhancedMonitoring" : "

Specifies which metrics are gathered for the MSK cluster. This property has the following possible values: DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION. For a list of the metrics associated with each of these levels of monitoring, see Monitoring.

", "CreateClusterRequest$EnhancedMonitoring" : "

Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION.

", + "ProvisionedRequest$EnhancedMonitoring" : "

Specifies the level of monitoring for the MSK cluster. The possible values are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION.

", "MutableClusterInfo$EnhancedMonitoring" : "

Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.

", "UpdateMonitoringRequest$EnhancedMonitoring" : "

Specifies which Apache Kafka metrics Amazon MSK gathers and sends to Amazon CloudWatch for this cluster.

" } @@ -343,6 +413,10 @@ "base" : "

The response contains an array containing cluster information and a next token if the response is truncated.

", "refs" : { } }, + "ListClustersV2Response" : { + "base" : "

The response contains an array containing cluster information and a next token if the response is truncated.

", + "refs" : { } + }, "ListConfigurationRevisionsResponse" : { "base" : "

Information about revisions of an MSK configuration.

", "refs" : { } @@ -371,7 +445,9 @@ "base" : "

You can configure your MSK cluster to send broker logs to different destination types. This is a container for the configuration details related to broker logs.

", "refs" : { "ClusterInfo$LoggingInfo" : "

You can configure your MSK cluster to send broker logs to different destination types. This is a container for the configuration details related to broker logs.

", + "Provisioned$LoggingInfo" : "

You can configure your MSK cluster to send broker logs to different destination types. This is a container for the configuration details related to broker logs.

", "CreateClusterRequest$LoggingInfo" : "

LoggingInfo details.

", + "ProvisionedRequest$LoggingInfo" : "

LoggingInfo details.

", "MutableClusterInfo$LoggingInfo" : "

LoggingInfo details.

", "UpdateMonitoringRequest$LoggingInfo" : "

LoggingInfo details.

" } @@ -415,6 +491,7 @@ "base" : "

JMX and Node monitoring for the MSK cluster.

", "refs" : { "ClusterInfo$OpenMonitoring" : "

Settings for open monitoring using Prometheus.

", + "Provisioned$OpenMonitoring" : "

Settings for open monitoring using Prometheus.

", "MutableClusterInfo$OpenMonitoring" : "

Settings for open monitoring using Prometheus.

" } }, @@ -422,6 +499,7 @@ "base" : "

JMX and Node monitoring for the MSK cluster.

", "refs" : { "CreateClusterRequest$OpenMonitoring" : "

The settings for open monitoring.

", + "ProvisionedRequest$OpenMonitoring" : "

The settings for open monitoring.

", "UpdateMonitoringRequest$OpenMonitoring" : "

The settings for open monitoring.

" } }, @@ -575,6 +653,10 @@ "NodeInfo$ZookeeperNodeInfo" : "

The ZookeeperNodeInfo.

" } }, + "VpcConfig" : { + "base" : "

The configuration of the Amazon VPCs for the cluster.

", + "refs" : { } + }, "__boolean" : { "base" : null, "refs" : { @@ -634,6 +716,19 @@ "ListClustersResponse$ClusterInfoList" : "

Information on each of the MSK clusters in the response.

" } }, + "__listOfCluster" : { + "base" : null, + "refs" : { + "ListClustersV2Response$ClusterInfoList" : "

Information on each of the MSK clusters in the response.

" + } + }, + "__listOfVpcConfig" : { + "base" : null, + "refs" : { + "ServerlessRequest$VpcConfigs" : "

Information on vpc config for the serverless cluster.

", + "Serverless$VpcConfigs" : "

Information on vpc config for the serverless cluster.

" + } + }, "__listOfClusterOperationInfo" : { "base" : null, "refs" : { diff --git a/models/apis/kafka/2018-11-14/paginators-1.json b/models/apis/kafka/2018-11-14/paginators-1.json index 409650639b5..4416ba7bd7b 100644 --- a/models/apis/kafka/2018-11-14/paginators-1.json +++ b/models/apis/kafka/2018-11-14/paginators-1.json @@ -6,6 +6,12 @@ "limit_key": "MaxResults", "result_key": "ClusterInfoList" }, + "ListClustersV2": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ClusterInfoList" + }, "ListConfigurations": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/kinesis/2013-12-02/api-2.json b/models/apis/kinesis/2013-12-02/api-2.json index 6e4c201d49f..abfafad9032 100644 --- a/models/apis/kinesis/2013-12-02/api-2.json +++ b/models/apis/kinesis/2013-12-02/api-2.json @@ -281,7 +281,8 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceInUseException"}, {"shape":"InvalidArgumentException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"ValidationException"} ] }, "PutRecord":{ @@ -364,7 +365,8 @@ {"shape":"ResourceNotFoundException"}, {"shape":"ResourceInUseException"}, {"shape":"InvalidArgumentException"}, - {"shape":"LimitExceededException"} + {"shape":"LimitExceededException"}, + {"shape":"ValidationException"} ] }, "StartStreamEncryption":{ @@ -424,6 +426,21 @@ }, "input":{"shape":"UpdateShardCountInput"}, "output":{"shape":"UpdateShardCountOutput"}, + "errors":[ + {"shape":"InvalidArgumentException"}, + {"shape":"LimitExceededException"}, + {"shape":"ResourceInUseException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"} + ] + }, + "UpdateStreamMode":{ + "name":"UpdateStreamMode", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateStreamModeInput"}, "errors":[ {"shape":"InvalidArgumentException"}, {"shape":"LimitExceededException"}, @@ -525,13 +542,11 @@ }, "CreateStreamInput":{ "type":"structure", - "required":[ - "StreamName", - "ShardCount" - ], + "required":["StreamName"], "members":{ "StreamName":{"shape":"StreamName"}, - "ShardCount":{"shape":"PositiveIntegerObject"} + "ShardCount":{"shape":"PositiveIntegerObject"}, + "StreamModeDetails":{"shape":"StreamModeDetails"} } }, "Data":{ @@ -575,11 +590,15 @@ "type":"structure", "required":[ "ShardLimit", - "OpenShardCount" + "OpenShardCount", + "OnDemandStreamCount", + "OnDemandStreamCountLimit" ], "members":{ "ShardLimit":{"shape":"ShardCountObject"}, - "OpenShardCount":{"shape":"ShardCountObject"} + "OpenShardCount":{"shape":"ShardCountObject"}, + "OnDemandStreamCount":{"shape":"OnDemandStreamCountObject"}, + "OnDemandStreamCountLimit":{"shape":"OnDemandStreamCountLimitObject"} } }, "DescribeStreamConsumerInput":{ @@ -968,6 +987,16 @@ "max":1048576, "min":1 }, + "OnDemandStreamCountLimitObject":{ + "type":"integer", + "max":1000000, + "min":0 + }, + "OnDemandStreamCountObject":{ + "type":"integer", + "max":1000000, + "min":0 + }, "PartitionKey":{ "type":"string", "max":256, @@ -1282,6 +1311,7 @@ "StreamName":{"shape":"StreamName"}, "StreamARN":{"shape":"StreamARN"}, "StreamStatus":{"shape":"StreamStatus"}, + "StreamModeDetails":{"shape":"StreamModeDetails"}, "Shards":{"shape":"ShardList"}, "HasMoreShards":{"shape":"BooleanObject"}, "RetentionPeriodHours":{"shape":"RetentionPeriodHours"}, @@ -1306,6 +1336,7 @@ "StreamName":{"shape":"StreamName"}, "StreamARN":{"shape":"StreamARN"}, "StreamStatus":{"shape":"StreamStatus"}, + "StreamModeDetails":{"shape":"StreamModeDetails"}, "RetentionPeriodHours":{"shape":"RetentionPeriodHours"}, "StreamCreationTimestamp":{"shape":"Timestamp"}, "EnhancedMonitoring":{"shape":"EnhancedMonitoringList"}, @@ -1315,6 +1346,20 @@ "ConsumerCount":{"shape":"ConsumerCountObject"} } }, + "StreamMode":{ + "type":"string", + "enum":[ + "PROVISIONED", + "ON_DEMAND" + ] + }, + "StreamModeDetails":{ + "type":"structure", + "required":["StreamMode"], + "members":{ + "StreamMode":{"shape":"StreamMode"} + } + }, "StreamName":{ "type":"string", "max":128, @@ -1444,6 +1489,24 @@ "CurrentShardCount":{"shape":"PositiveIntegerObject"}, "TargetShardCount":{"shape":"PositiveIntegerObject"} } + }, + "UpdateStreamModeInput":{ + "type":"structure", + "required":[ + "StreamARN", + "StreamModeDetails" + ], + "members":{ + "StreamARN":{"shape":"StreamARN"}, + "StreamModeDetails":{"shape":"StreamModeDetails"} + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "exception":true } } } diff --git a/models/apis/kinesis/2013-12-02/docs-2.json b/models/apis/kinesis/2013-12-02/docs-2.json index c6c7118c554..db4356eba86 100644 --- a/models/apis/kinesis/2013-12-02/docs-2.json +++ b/models/apis/kinesis/2013-12-02/docs-2.json @@ -2,34 +2,35 @@ "version": "2.0", "service": "Amazon Kinesis Data Streams Service API Reference

Amazon Kinesis Data Streams is a managed service that scales elastically for real-time processing of streaming big data.

", "operations": { - "AddTagsToStream": "

Adds or updates tags for the specified Kinesis data stream. Each time you invoke this operation, you can specify up to 10 tags. If you want to add more than 10 tags to your stream, you can invoke this operation multiple times. In total, each stream can have up to 50 tags.

If tags have already been assigned to the stream, AddTagsToStream overwrites any existing tags that correspond to the specified tag keys.

AddTagsToStream has a limit of five transactions per second per account.

", - "CreateStream": "

Creates a Kinesis data stream. A stream captures and transports data records that are continuously emitted from different data sources or producers. Scale-out within a stream is explicitly supported by means of shards, which are uniquely identified groups of data records in a stream.

You specify and control the number of shards that a stream is composed of. Each shard can support reads up to five transactions per second, up to a maximum data read total of 2 MiB per second. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MiB per second. If the amount of data input increases or decreases, you can add or remove shards.

The stream name identifies the stream. The name is scoped to the AWS account used by the application. It is also scoped by AWS Region. That is, two streams in two different accounts can have the same name, and two streams in the same account, but in two different Regions, can have the same name.

CreateStream is an asynchronous operation. Upon receiving a CreateStream request, Kinesis Data Streams immediately returns and sets the stream status to CREATING. After the stream is created, Kinesis Data Streams sets the stream status to ACTIVE. You should perform read and write operations only on an ACTIVE stream.

You receive a LimitExceededException when making a CreateStream request when you try to do one of the following:

For the default shard limit for an AWS account, see Amazon Kinesis Data Streams Limits in the Amazon Kinesis Data Streams Developer Guide. To increase this limit, contact AWS Support.

You can use DescribeStream to check the stream status, which is returned in StreamStatus.

CreateStream has a limit of five transactions per second per account.

", + "AddTagsToStream": "

Adds or updates tags for the specified Kinesis data stream. You can assign up to 50 tags to a data stream.

If tags have already been assigned to the stream, AddTagsToStream overwrites any existing tags that correspond to the specified tag keys.

AddTagsToStream has a limit of five transactions per second per account.

", + "CreateStream": "

Creates a Kinesis data stream. A stream captures and transports data records that are continuously emitted from different data sources or producers. Scale-out within a stream is explicitly supported by means of shards, which are uniquely identified groups of data records in a stream.

You specify and control the number of shards that a stream is composed of. Each shard can support reads up to five transactions per second, up to a maximum data read total of 2 MiB per second. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MiB per second. If the amount of data input increases or decreases, you can add or remove shards.

The stream name identifies the stream. The name is scoped to the Amazon Web Services account used by the application. It is also scoped by Amazon Web Services Region. That is, two streams in two different accounts can have the same name, and two streams in the same account, but in two different Regions, can have the same name.

CreateStream is an asynchronous operation. Upon receiving a CreateStream request, Kinesis Data Streams immediately returns and sets the stream status to CREATING. After the stream is created, Kinesis Data Streams sets the stream status to ACTIVE. You should perform read and write operations only on an ACTIVE stream.

You receive a LimitExceededException when making a CreateStream request when you try to do one of the following:

For the default shard limit for an Amazon Web Services account, see Amazon Kinesis Data Streams Limits in the Amazon Kinesis Data Streams Developer Guide. To increase this limit, contact Amazon Web Services Support.

You can use DescribeStreamSummary to check the stream status, which is returned in StreamStatus.

CreateStream has a limit of five transactions per second per account.

", "DecreaseStreamRetentionPeriod": "

Decreases the Kinesis data stream's retention period, which is the length of time data records are accessible after they are added to the stream. The minimum value of a stream's retention period is 24 hours.

This operation may result in lost data. For example, if the stream's retention period is 48 hours and is decreased to 24 hours, any data already in the stream that is older than 24 hours is inaccessible.

", - "DeleteStream": "

Deletes a Kinesis data stream and all its shards and data. You must shut down any applications that are operating on the stream before you delete the stream. If an application attempts to operate on a deleted stream, it receives the exception ResourceNotFoundException.

If the stream is in the ACTIVE state, you can delete it. After a DeleteStream request, the specified stream is in the DELETING state until Kinesis Data Streams completes the deletion.

Note: Kinesis Data Streams might continue to accept data read and write operations, such as PutRecord, PutRecords, and GetRecords, on a stream in the DELETING state until the stream deletion is complete.

When you delete a stream, any shards in that stream are also deleted, and any tags are dissociated from the stream.

You can use the DescribeStream operation to check the state of the stream, which is returned in StreamStatus.

DeleteStream has a limit of five transactions per second per account.

", + "DeleteStream": "

Deletes a Kinesis data stream and all its shards and data. You must shut down any applications that are operating on the stream before you delete the stream. If an application attempts to operate on a deleted stream, it receives the exception ResourceNotFoundException.

If the stream is in the ACTIVE state, you can delete it. After a DeleteStream request, the specified stream is in the DELETING state until Kinesis Data Streams completes the deletion.

Note: Kinesis Data Streams might continue to accept data read and write operations, such as PutRecord, PutRecords, and GetRecords, on a stream in the DELETING state until the stream deletion is complete.

When you delete a stream, any shards in that stream are also deleted, and any tags are dissociated from the stream.

You can use the DescribeStreamSummary operation to check the state of the stream, which is returned in StreamStatus.

DeleteStream has a limit of five transactions per second per account.

", "DeregisterStreamConsumer": "

To deregister a consumer, provide its ARN. Alternatively, you can provide the ARN of the data stream and the name you gave the consumer when you registered it. You may also provide all three parameters, as long as they don't conflict with each other. If you don't know the name or ARN of the consumer that you want to deregister, you can use the ListStreamConsumers operation to get a list of the descriptions of all the consumers that are currently registered with a given data stream. The description of a consumer contains its name and ARN.

This operation has a limit of five transactions per second per stream.

", "DescribeLimits": "

Describes the shard limits and usage for the account.

If you update your account limits, the old limits might be returned for a few minutes.

This operation has a limit of one transaction per second per account.

", - "DescribeStream": "

Describes the specified Kinesis data stream.

The information returned includes the stream name, Amazon Resource Name (ARN), creation time, enhanced metric configuration, and shard map. The shard map is an array of shard objects. For each shard object, there is the hash key and sequence number ranges that the shard spans, and the IDs of any earlier shards that played in a role in creating the shard. Every record ingested in the stream is identified by a sequence number, which is assigned when the record is put into the stream.

You can limit the number of shards returned by each call. For more information, see Retrieving Shards from a Stream in the Amazon Kinesis Data Streams Developer Guide.

There are no guarantees about the chronological order shards returned. To process shards in chronological order, use the ID of the parent shard to track the lineage to the oldest shard.

This operation has a limit of 10 transactions per second per account.

", + "DescribeStream": "

Describes the specified Kinesis data stream.

This API has been revised. It's highly recommended that you use the DescribeStreamSummary API to get a summarized description of the specified Kinesis data stream and the ListShards API to list the shards in a specified data stream and obtain information about each shard.

The information returned includes the stream name, Amazon Resource Name (ARN), creation time, enhanced metric configuration, and shard map. The shard map is an array of shard objects. For each shard object, there is the hash key and sequence number ranges that the shard spans, and the IDs of any earlier shards that played in a role in creating the shard. Every record ingested in the stream is identified by a sequence number, which is assigned when the record is put into the stream.

You can limit the number of shards returned by each call. For more information, see Retrieving Shards from a Stream in the Amazon Kinesis Data Streams Developer Guide.

There are no guarantees about the chronological order shards returned. To process shards in chronological order, use the ID of the parent shard to track the lineage to the oldest shard.

This operation has a limit of 10 transactions per second per account.

", "DescribeStreamConsumer": "

To get the description of a registered consumer, provide the ARN of the consumer. Alternatively, you can provide the ARN of the data stream and the name you gave the consumer when you registered it. You may also provide all three parameters, as long as they don't conflict with each other. If you don't know the name or ARN of the consumer that you want to describe, you can use the ListStreamConsumers operation to get a list of the descriptions of all the consumers that are currently registered with a given data stream.

This operation has a limit of 20 transactions per second per stream.

", "DescribeStreamSummary": "

Provides a summarized description of the specified Kinesis data stream without the shard list.

The information returned includes the stream name, Amazon Resource Name (ARN), status, record retention period, approximate creation time, monitoring, encryption details, and open shard count.

DescribeStreamSummary has a limit of 20 transactions per second per account.

", "DisableEnhancedMonitoring": "

Disables enhanced monitoring.

", "EnableEnhancedMonitoring": "

Enables enhanced Kinesis data stream monitoring for shard-level metrics.

", - "GetRecords": "

Gets data records from a Kinesis data stream's shard.

Specify a shard iterator using the ShardIterator parameter. The shard iterator specifies the position in the shard from which you want to start reading data records sequentially. If there are no records available in the portion of the shard that the iterator points to, GetRecords returns an empty list. It might take multiple calls to get to a portion of the shard that contains records.

You can scale by provisioning multiple shards per stream while considering service limits (for more information, see Amazon Kinesis Data Streams Limits in the Amazon Kinesis Data Streams Developer Guide). Your application should have one thread per shard, each reading continuously from its stream. To read from a stream continually, call GetRecords in a loop. Use GetShardIterator to get the shard iterator to specify in the first GetRecords call. GetRecords returns a new shard iterator in NextShardIterator. Specify the shard iterator returned in NextShardIterator in subsequent calls to GetRecords. If the shard has been closed, the shard iterator can't return more data and GetRecords returns null in NextShardIterator. You can terminate the loop when the shard is closed, or when the shard iterator reaches the record with the sequence number or other attribute that marks it as the last record to process.

Each data record can be up to 1 MiB in size, and each shard can read up to 2 MiB per second. You can ensure that your calls don't exceed the maximum supported size or throughput by using the Limit parameter to specify the maximum number of records that GetRecords can return. Consider your average record size when determining this limit. The maximum number of records that can be returned per call is 10,000.

The size of the data returned by GetRecords varies depending on the utilization of the shard. The maximum size of data that GetRecords can return is 10 MiB. If a call returns this amount of data, subsequent calls made within the next 5 seconds throw ProvisionedThroughputExceededException. If there is insufficient provisioned throughput on the stream, subsequent calls made within the next 1 second throw ProvisionedThroughputExceededException. GetRecords doesn't return any data when it throws an exception. For this reason, we recommend that you wait 1 second between calls to GetRecords. However, it's possible that the application will get exceptions for longer than 1 second.

To detect whether the application is falling behind in processing, you can use the MillisBehindLatest response attribute. You can also monitor the stream using CloudWatch metrics and other mechanisms (see Monitoring in the Amazon Kinesis Data Streams Developer Guide).

Each Amazon Kinesis record includes a value, ApproximateArrivalTimestamp, that is set when a stream successfully receives and stores a record. This is commonly referred to as a server-side time stamp, whereas a client-side time stamp is set when a data producer creates or sends the record to a stream (a data producer is any data source putting data records into a stream, for example with PutRecords). The time stamp has millisecond precision. There are no guarantees about the time stamp accuracy, or that the time stamp is always increasing. For example, records in a shard or across a stream might have time stamps that are out of order.

This operation has a limit of five transactions per second per shard.

", + "GetRecords": "

Gets data records from a Kinesis data stream's shard.

Specify a shard iterator using the ShardIterator parameter. The shard iterator specifies the position in the shard from which you want to start reading data records sequentially. If there are no records available in the portion of the shard that the iterator points to, GetRecords returns an empty list. It might take multiple calls to get to a portion of the shard that contains records.

You can scale by provisioning multiple shards per stream while considering service limits (for more information, see Amazon Kinesis Data Streams Limits in the Amazon Kinesis Data Streams Developer Guide). Your application should have one thread per shard, each reading continuously from its stream. To read from a stream continually, call GetRecords in a loop. Use GetShardIterator to get the shard iterator to specify in the first GetRecords call. GetRecords returns a new shard iterator in NextShardIterator. Specify the shard iterator returned in NextShardIterator in subsequent calls to GetRecords. If the shard has been closed, the shard iterator can't return more data and GetRecords returns null in NextShardIterator. You can terminate the loop when the shard is closed, or when the shard iterator reaches the record with the sequence number or other attribute that marks it as the last record to process.

Each data record can be up to 1 MiB in size, and each shard can read up to 2 MiB per second. You can ensure that your calls don't exceed the maximum supported size or throughput by using the Limit parameter to specify the maximum number of records that GetRecords can return. Consider your average record size when determining this limit. The maximum number of records that can be returned per call is 10,000.

The size of the data returned by GetRecords varies depending on the utilization of the shard. It is recommended that consumer applications retrieve records via the GetRecords command using the 5 TPS limit to remain caught up. Retrieving records less frequently can lead to consumer applications falling behind. The maximum size of data that GetRecords can return is 10 MiB. If a call returns this amount of data, subsequent calls made within the next 5 seconds throw ProvisionedThroughputExceededException. If there is insufficient provisioned throughput on the stream, subsequent calls made within the next 1 second throw ProvisionedThroughputExceededException. GetRecords doesn't return any data when it throws an exception. For this reason, we recommend that you wait 1 second between calls to GetRecords. However, it's possible that the application will get exceptions for longer than 1 second.

To detect whether the application is falling behind in processing, you can use the MillisBehindLatest response attribute. You can also monitor the stream using CloudWatch metrics and other mechanisms (see Monitoring in the Amazon Kinesis Data Streams Developer Guide).

Each Amazon Kinesis record includes a value, ApproximateArrivalTimestamp, that is set when a stream successfully receives and stores a record. This is commonly referred to as a server-side time stamp, whereas a client-side time stamp is set when a data producer creates or sends the record to a stream (a data producer is any data source putting data records into a stream, for example with PutRecords). The time stamp has millisecond precision. There are no guarantees about the time stamp accuracy, or that the time stamp is always increasing. For example, records in a shard or across a stream might have time stamps that are out of order.

This operation has a limit of five transactions per second per shard.

", "GetShardIterator": "

Gets an Amazon Kinesis shard iterator. A shard iterator expires 5 minutes after it is returned to the requester.

A shard iterator specifies the shard position from which to start reading data records sequentially. The position is specified using the sequence number of a data record in a shard. A sequence number is the identifier associated with every record ingested in the stream, and is assigned when a record is put into the stream. Each stream has one or more shards.

You must specify the shard iterator type. For example, you can set the ShardIteratorType parameter to read exactly from the position denoted by a specific sequence number by using the AT_SEQUENCE_NUMBER shard iterator type. Alternatively, the parameter can read right after the sequence number by using the AFTER_SEQUENCE_NUMBER shard iterator type, using sequence numbers returned by earlier calls to PutRecord, PutRecords, GetRecords, or DescribeStream. In the request, you can specify the shard iterator type AT_TIMESTAMP to read records from an arbitrary point in time, TRIM_HORIZON to cause ShardIterator to point to the last untrimmed record in the shard in the system (the oldest data record in the shard), or LATEST so that you always read the most recent data in the shard.

When you read repeatedly from a stream, use a GetShardIterator request to get the first shard iterator for use in your first GetRecords request and for subsequent reads use the shard iterator returned by the GetRecords request in NextShardIterator. A new shard iterator is returned by every GetRecords request in NextShardIterator, which you use in the ShardIterator parameter of the next GetRecords request.

If a GetShardIterator request is made too often, you receive a ProvisionedThroughputExceededException. For more information about throughput limits, see GetRecords, and Streams Limits in the Amazon Kinesis Data Streams Developer Guide.

If the shard is closed, GetShardIterator returns a valid iterator for the last sequence number of the shard. A shard can be closed as a result of using SplitShard or MergeShards.

GetShardIterator has a limit of five transactions per second per account per open shard.

", - "IncreaseStreamRetentionPeriod": "

Increases the Kinesis data stream's retention period, which is the length of time data records are accessible after they are added to the stream. The maximum value of a stream's retention period is 168 hours (7 days).

If you choose a longer stream retention period, this operation increases the time period during which records that have not yet expired are accessible. However, it does not make previous, expired data (older than the stream's previous retention period) accessible after the operation has been called. For example, if a stream's retention period is set to 24 hours and is increased to 168 hours, any data that is older than 24 hours remains inaccessible to consumer applications.

", - "ListShards": "

Lists the shards in a stream and provides information about each shard. This operation has a limit of 100 transactions per second per data stream.

This API is a new operation that is used by the Amazon Kinesis Client Library (KCL). If you have a fine-grained IAM policy that only allows specific operations, you must update your policy to allow calls to this API. For more information, see Controlling Access to Amazon Kinesis Data Streams Resources Using IAM.

", + "IncreaseStreamRetentionPeriod": "

Increases the Kinesis data stream's retention period, which is the length of time data records are accessible after they are added to the stream. The maximum value of a stream's retention period is 8760 hours (365 days).

If you choose a longer stream retention period, this operation increases the time period during which records that have not yet expired are accessible. However, it does not make previous, expired data (older than the stream's previous retention period) accessible after the operation has been called. For example, if a stream's retention period is set to 24 hours and is increased to 168 hours, any data that is older than 24 hours remains inaccessible to consumer applications.

", + "ListShards": "

Lists the shards in a stream and provides information about each shard. This operation has a limit of 1000 transactions per second per data stream.

This action does not list expired shards. For information about expired shards, see Data Routing, Data Persistence, and Shard State after a Reshard.

This API is a new operation that is used by the Amazon Kinesis Client Library (KCL). If you have a fine-grained IAM policy that only allows specific operations, you must update your policy to allow calls to this API. For more information, see Controlling Access to Amazon Kinesis Data Streams Resources Using IAM.

", "ListStreamConsumers": "

Lists the consumers registered to receive data from a stream using enhanced fan-out, and provides information about each consumer.

This operation has a limit of 5 transactions per second per stream.

", - "ListStreams": "

Lists your Kinesis data streams.

The number of streams may be too large to return from a single call to ListStreams. You can limit the number of returned streams using the Limit parameter. If you do not specify a value for the Limit parameter, Kinesis Data Streams uses the default limit, which is currently 10.

You can detect if there are more streams available to list by using the HasMoreStreams flag from the returned output. If there are more streams available, you can request more streams by using the name of the last stream returned by the ListStreams request in the ExclusiveStartStreamName parameter in a subsequent request to ListStreams. The group of stream names returned by the subsequent request is then added to the list. You can continue this process until all the stream names have been collected in the list.

ListStreams has a limit of five transactions per second per account.

", + "ListStreams": "

Lists your Kinesis data streams.

The number of streams may be too large to return from a single call to ListStreams. You can limit the number of returned streams using the Limit parameter. If you do not specify a value for the Limit parameter, Kinesis Data Streams uses the default limit, which is currently 100.

You can detect if there are more streams available to list by using the HasMoreStreams flag from the returned output. If there are more streams available, you can request more streams by using the name of the last stream returned by the ListStreams request in the ExclusiveStartStreamName parameter in a subsequent request to ListStreams. The group of stream names returned by the subsequent request is then added to the list. You can continue this process until all the stream names have been collected in the list.

ListStreams has a limit of five transactions per second per account.

", "ListTagsForStream": "

Lists the tags for the specified Kinesis data stream. This operation has a limit of five transactions per second per account.

", - "MergeShards": "

Merges two adjacent shards in a Kinesis data stream and combines them into a single shard to reduce the stream's capacity to ingest and transport data. Two shards are considered adjacent if the union of the hash key ranges for the two shards form a contiguous set with no gaps. For example, if you have two shards, one with a hash key range of 276...381 and the other with a hash key range of 382...454, then you could merge these two shards into a single shard that would have a hash key range of 276...454. After the merge, the single child shard receives data for all hash key values covered by the two parent shards.

MergeShards is called when there is a need to reduce the overall capacity of a stream because of excess capacity that is not being used. You must specify the shard to be merged and the adjacent shard for a stream. For more information about merging shards, see Merge Two Shards in the Amazon Kinesis Data Streams Developer Guide.

If the stream is in the ACTIVE state, you can call MergeShards. If a stream is in the CREATING, UPDATING, or DELETING state, MergeShards returns a ResourceInUseException. If the specified stream does not exist, MergeShards returns a ResourceNotFoundException.

You can use DescribeStream to check the state of the stream, which is returned in StreamStatus.

MergeShards is an asynchronous operation. Upon receiving a MergeShards request, Amazon Kinesis Data Streams immediately returns a response and sets the StreamStatus to UPDATING. After the operation is completed, Kinesis Data Streams sets the StreamStatus to ACTIVE. Read and write operations continue to work while the stream is in the UPDATING state.

You use DescribeStream to determine the shard IDs that are specified in the MergeShards request.

If you try to operate on too many streams in parallel using CreateStream, DeleteStream, MergeShards, or SplitShard, you receive a LimitExceededException.

MergeShards has a limit of five transactions per second per account.

", + "MergeShards": "

Merges two adjacent shards in a Kinesis data stream and combines them into a single shard to reduce the stream's capacity to ingest and transport data. Two shards are considered adjacent if the union of the hash key ranges for the two shards form a contiguous set with no gaps. For example, if you have two shards, one with a hash key range of 276...381 and the other with a hash key range of 382...454, then you could merge these two shards into a single shard that would have a hash key range of 276...454. After the merge, the single child shard receives data for all hash key values covered by the two parent shards.

MergeShards is called when there is a need to reduce the overall capacity of a stream because of excess capacity that is not being used. You must specify the shard to be merged and the adjacent shard for a stream. For more information about merging shards, see Merge Two Shards in the Amazon Kinesis Data Streams Developer Guide.

If the stream is in the ACTIVE state, you can call MergeShards. If a stream is in the CREATING, UPDATING, or DELETING state, MergeShards returns a ResourceInUseException. If the specified stream does not exist, MergeShards returns a ResourceNotFoundException.

You can use DescribeStreamSummary to check the state of the stream, which is returned in StreamStatus.

MergeShards is an asynchronous operation. Upon receiving a MergeShards request, Amazon Kinesis Data Streams immediately returns a response and sets the StreamStatus to UPDATING. After the operation is completed, Kinesis Data Streams sets the StreamStatus to ACTIVE. Read and write operations continue to work while the stream is in the UPDATING state.

You use DescribeStreamSummary and the ListShards APIs to determine the shard IDs that are specified in the MergeShards request.

If you try to operate on too many streams in parallel using CreateStream, DeleteStream, MergeShards, or SplitShard, you receive a LimitExceededException.

MergeShards has a limit of five transactions per second per account.

", "PutRecord": "

Writes a single data record into an Amazon Kinesis data stream. Call PutRecord to send data into the stream for real-time ingestion and subsequent processing, one record at a time. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MiB per second.

You must specify the name of the stream that captures, stores, and transports the data; a partition key; and the data blob itself.

The data blob can be any type of data; for example, a segment from a log file, geographic/location data, website clickstream data, and so on.

The partition key is used by Kinesis Data Streams to distribute data across shards. Kinesis Data Streams segregates the data records that belong to a stream into multiple shards, using the partition key associated with each data record to determine the shard to which a given data record belongs.

Partition keys are Unicode strings, with a maximum length limit of 256 characters for each key. An MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards using the hash key ranges of the shards. You can override hashing the partition key to determine the shard by explicitly specifying a hash value using the ExplicitHashKey parameter. For more information, see Adding Data to a Stream in the Amazon Kinesis Data Streams Developer Guide.

PutRecord returns the shard ID of where the data record was placed and the sequence number that was assigned to the data record.

Sequence numbers increase over time and are specific to a shard within a stream, not across all shards within a stream. To guarantee strictly increasing ordering, write serially to a shard and use the SequenceNumberForOrdering parameter. For more information, see Adding Data to a Stream in the Amazon Kinesis Data Streams Developer Guide.

After you write a record to a stream, you cannot modify that record or its order within the stream.

If a PutRecord request cannot be processed because of insufficient provisioned throughput on the shard involved in the request, PutRecord throws ProvisionedThroughputExceededException.

By default, data records are accessible for 24 hours from the time that they are added to a stream. You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod to modify this retention period.

", "PutRecords": "

Writes multiple data records into a Kinesis data stream in a single call (also referred to as a PutRecords request). Use this operation to send data into the stream for data ingestion and processing.

Each PutRecords request can support up to 500 records. Each record in the request can be as large as 1 MiB, up to a limit of 5 MiB for the entire request, including partition keys. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MiB per second.

You must specify the name of the stream that captures, stores, and transports the data; and an array of request Records, with each record in the array requiring a partition key and data blob. The record size limit applies to the total size of the partition key and data blob.

The data blob can be any type of data; for example, a segment from a log file, geographic/location data, website clickstream data, and so on.

The partition key is used by Kinesis Data Streams as input to a hash function that maps the partition key and associated data to a specific shard. An MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. As a result of this hashing mechanism, all data records with the same partition key map to the same shard within the stream. For more information, see Adding Data to a Stream in the Amazon Kinesis Data Streams Developer Guide.

Each record in the Records array may include an optional parameter, ExplicitHashKey, which overrides the partition key to shard mapping. This parameter allows a data producer to determine explicitly the shard where the record is stored. For more information, see Adding Multiple Records with PutRecords in the Amazon Kinesis Data Streams Developer Guide.

The PutRecords response includes an array of response Records. Each record in the response array directly correlates with a record in the request array using natural ordering, from the top to the bottom of the request and response. The response Records array always includes the same number of records as the request array.

The response Records array includes both successfully and unsuccessfully processed records. Kinesis Data Streams attempts to process all records in each PutRecords request. A single record failure does not stop the processing of subsequent records. As a result, PutRecords doesn't guarantee the ordering of records. If you need to read records in the same order they are written to the stream, use PutRecord instead of PutRecords, and write to the same shard.

A successfully processed record includes ShardId and SequenceNumber values. The ShardId parameter identifies the shard in the stream where the record is stored. The SequenceNumber parameter is an identifier assigned to the put record, unique to all records in the stream.

An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error and can be one of the following values: ProvisionedThroughputExceededException or InternalFailure. ErrorMessage provides more detailed information about the ProvisionedThroughputExceededException exception including the account ID, stream name, and shard ID of the record that was throttled. For more information about partially successful responses, see Adding Multiple Records with PutRecords in the Amazon Kinesis Data Streams Developer Guide.

After you write a record to a stream, you cannot modify that record or its order within the stream.

By default, data records are accessible for 24 hours from the time that they are added to a stream. You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod to modify this retention period.

", "RegisterStreamConsumer": "

Registers a consumer with a Kinesis data stream. When you use this operation, the consumer you register can then call SubscribeToShard to receive data from the stream using enhanced fan-out, at a rate of up to 2 MiB per second for every shard you subscribe to. This rate is unaffected by the total number of consumers that read from the same stream.

You can register up to 20 consumers per stream. A given consumer can only be registered with one stream at a time.

For an example of how to use this operations, see Enhanced Fan-Out Using the Kinesis Data Streams API.

The use of this operation has a limit of five transactions per second per account. Also, only 5 consumers can be created simultaneously. In other words, you cannot have more than 5 consumers in a CREATING status at the same time. Registering a 6th consumer while there are 5 in a CREATING status results in a LimitExceededException.

", "RemoveTagsFromStream": "

Removes tags from the specified Kinesis data stream. Removed tags are deleted and cannot be recovered after this operation successfully completes.

If you specify a tag that does not exist, it is ignored.

RemoveTagsFromStream has a limit of five transactions per second per account.

", - "SplitShard": "

Splits a shard into two new shards in the Kinesis data stream, to increase the stream's capacity to ingest and transport data. SplitShard is called when there is a need to increase the overall capacity of a stream because of an expected increase in the volume of data records being ingested.

You can also use SplitShard when a shard appears to be approaching its maximum utilization; for example, the producers sending data into the specific shard are suddenly sending more than previously anticipated. You can also call SplitShard to increase stream capacity, so that more Kinesis Data Streams applications can simultaneously read data from the stream for real-time processing.

You must specify the shard to be split and the new hash key, which is the position in the shard where the shard gets split in two. In many cases, the new hash key might be the average of the beginning and ending hash key, but it can be any hash key value in the range being mapped into the shard. For more information, see Split a Shard in the Amazon Kinesis Data Streams Developer Guide.

You can use DescribeStream to determine the shard ID and hash key values for the ShardToSplit and NewStartingHashKey parameters that are specified in the SplitShard request.

SplitShard is an asynchronous operation. Upon receiving a SplitShard request, Kinesis Data Streams immediately returns a response and sets the stream status to UPDATING. After the operation is completed, Kinesis Data Streams sets the stream status to ACTIVE. Read and write operations continue to work while the stream is in the UPDATING state.

You can use DescribeStream to check the status of the stream, which is returned in StreamStatus. If the stream is in the ACTIVE state, you can call SplitShard. If a stream is in CREATING or UPDATING or DELETING states, DescribeStream returns a ResourceInUseException.

If the specified stream does not exist, DescribeStream returns a ResourceNotFoundException. If you try to create more shards than are authorized for your account, you receive a LimitExceededException.

For the default shard limit for an AWS account, see Kinesis Data Streams Limits in the Amazon Kinesis Data Streams Developer Guide. To increase this limit, contact AWS Support.

If you try to operate on too many streams simultaneously using CreateStream, DeleteStream, MergeShards, and/or SplitShard, you receive a LimitExceededException.

SplitShard has a limit of five transactions per second per account.

", - "StartStreamEncryption": "

Enables or updates server-side encryption using an AWS KMS key for a specified stream.

Starting encryption is an asynchronous operation. Upon receiving the request, Kinesis Data Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis Data Streams sets the status of the stream back to ACTIVE. Updating or applying encryption normally takes a few seconds to complete, but it can take minutes. You can continue to read and write data to your stream while its status is UPDATING. Once the status of the stream is ACTIVE, encryption begins for records written to the stream.

API Limits: You can successfully apply a new AWS KMS key for server-side encryption 25 times in a rolling 24-hour period.

Note: It can take up to 5 seconds after the stream is in an ACTIVE status before all records written to the stream are encrypted. After you enable encryption, you can verify that encryption is applied by inspecting the API response from PutRecord or PutRecords.

", + "SplitShard": "

Splits a shard into two new shards in the Kinesis data stream, to increase the stream's capacity to ingest and transport data. SplitShard is called when there is a need to increase the overall capacity of a stream because of an expected increase in the volume of data records being ingested.

You can also use SplitShard when a shard appears to be approaching its maximum utilization; for example, the producers sending data into the specific shard are suddenly sending more than previously anticipated. You can also call SplitShard to increase stream capacity, so that more Kinesis Data Streams applications can simultaneously read data from the stream for real-time processing.

You must specify the shard to be split and the new hash key, which is the position in the shard where the shard gets split in two. In many cases, the new hash key might be the average of the beginning and ending hash key, but it can be any hash key value in the range being mapped into the shard. For more information, see Split a Shard in the Amazon Kinesis Data Streams Developer Guide.

You can use DescribeStreamSummary and the ListShards APIs to determine the shard ID and hash key values for the ShardToSplit and NewStartingHashKey parameters that are specified in the SplitShard request.

SplitShard is an asynchronous operation. Upon receiving a SplitShard request, Kinesis Data Streams immediately returns a response and sets the stream status to UPDATING. After the operation is completed, Kinesis Data Streams sets the stream status to ACTIVE. Read and write operations continue to work while the stream is in the UPDATING state.

You can use DescribeStreamSummary to check the status of the stream, which is returned in StreamStatus. If the stream is in the ACTIVE state, you can call SplitShard.

If the specified stream does not exist, DescribeStreamSummary returns a ResourceNotFoundException. If you try to create more shards than are authorized for your account, you receive a LimitExceededException.

For the default shard limit for an Amazon Web Services account, see Kinesis Data Streams Limits in the Amazon Kinesis Data Streams Developer Guide. To increase this limit, contact Amazon Web Services Support.

If you try to operate on too many streams simultaneously using CreateStream, DeleteStream, MergeShards, and/or SplitShard, you receive a LimitExceededException.

SplitShard has a limit of five transactions per second per account.

", + "StartStreamEncryption": "

Enables or updates server-side encryption using an Amazon Web Services KMS key for a specified stream.

Starting encryption is an asynchronous operation. Upon receiving the request, Kinesis Data Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis Data Streams sets the status of the stream back to ACTIVE. Updating or applying encryption normally takes a few seconds to complete, but it can take minutes. You can continue to read and write data to your stream while its status is UPDATING. Once the status of the stream is ACTIVE, encryption begins for records written to the stream.

API Limits: You can successfully apply a new Amazon Web Services KMS key for server-side encryption 25 times in a rolling 24-hour period.

Note: It can take up to 5 seconds after the stream is in an ACTIVE status before all records written to the stream are encrypted. After you enable encryption, you can verify that encryption is applied by inspecting the API response from PutRecord or PutRecords.

", "StopStreamEncryption": "

Disables server-side encryption for a specified stream.

Stopping encryption is an asynchronous operation. Upon receiving the request, Kinesis Data Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis Data Streams sets the status of the stream back to ACTIVE. Stopping encryption normally takes a few seconds to complete, but it can take minutes. You can continue to read and write data to your stream while its status is UPDATING. Once the status of the stream is ACTIVE, records written to the stream are no longer encrypted by Kinesis Data Streams.

API Limits: You can successfully disable server-side encryption 25 times in a rolling 24-hour period.

Note: It can take up to 5 seconds after the stream is in an ACTIVE status before all records written to the stream are no longer subject to encryption. After you disabled encryption, you can verify that encryption is not applied by inspecting the API response from PutRecord or PutRecords.

", - "SubscribeToShard": "

This operation establishes an HTTP/2 connection between the consumer you specify in the ConsumerARN parameter and the shard you specify in the ShardId parameter. After the connection is successfully established, Kinesis Data Streams pushes records from the shard to the consumer over this connection. Before you call this operation, call RegisterStreamConsumer to register the consumer with Kinesis Data Streams.

When the SubscribeToShard call succeeds, your consumer starts receiving events of type SubscribeToShardEvent over the HTTP/2 connection for up to 5 minutes, after which time you need to call SubscribeToShard again to renew the subscription if you want to continue to receive records.

You can make one call to SubscribeToShard per second per registered consumer per shard. For example, if you have a 4000 shard stream and two registered stream consumers, you can make one SubscribeToShard request per second for each combination of shard and registered consumer, allowing you to subscribe both consumers to all 4000 shards in one second.

If you call SubscribeToShard again with the same ConsumerARN and ShardId within 5 seconds of a successful call, you'll get a ResourceInUseException. If you call SubscribeToShard 5 seconds or more after a successful call, the first connection will expire and the second call will take over the subscription.

For an example of how to use this operations, see Enhanced Fan-Out Using the Kinesis Data Streams API.

", - "UpdateShardCount": "

Updates the shard count of the specified stream to the specified number of shards.

Updating the shard count is an asynchronous operation. Upon receiving the request, Kinesis Data Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis Data Streams sets the status of the stream back to ACTIVE. Depending on the size of the stream, the scaling action could take a few minutes to complete. You can continue to read and write data to your stream while its status is UPDATING.

To update the shard count, Kinesis Data Streams performs splits or merges on individual shards. This can cause short-lived shards to be created, in addition to the final shards. These short-lived shards count towards your total shard limit for your account in the Region.

When using this operation, we recommend that you specify a target shard count that is a multiple of 25% (25%, 50%, 75%, 100%). You can specify any target value within your shard limit. However, if you specify a target that isn't a multiple of 25%, the scaling action might take longer to complete.

This operation has the following default limits. By default, you cannot do the following:

For the default limits for an AWS account, see Streams Limits in the Amazon Kinesis Data Streams Developer Guide. To request an increase in the call rate limit, the shard limit for this API, or your overall shard limit, use the limits form.

" + "SubscribeToShard": "

This operation establishes an HTTP/2 connection between the consumer you specify in the ConsumerARN parameter and the shard you specify in the ShardId parameter. After the connection is successfully established, Kinesis Data Streams pushes records from the shard to the consumer over this connection. Before you call this operation, call RegisterStreamConsumer to register the consumer with Kinesis Data Streams.

When the SubscribeToShard call succeeds, your consumer starts receiving events of type SubscribeToShardEvent over the HTTP/2 connection for up to 5 minutes, after which time you need to call SubscribeToShard again to renew the subscription if you want to continue to receive records.

You can make one call to SubscribeToShard per second per registered consumer per shard. For example, if you have a 4000 shard stream and two registered stream consumers, you can make one SubscribeToShard request per second for each combination of shard and registered consumer, allowing you to subscribe both consumers to all 4000 shards in one second.

If you call SubscribeToShard again with the same ConsumerARN and ShardId within 5 seconds of a successful call, you'll get a ResourceInUseException. If you call SubscribeToShard 5 seconds or more after a successful call, the second call takes over the subscription and the previous connection expires or fails with a ResourceInUseException.

For an example of how to use this operations, see Enhanced Fan-Out Using the Kinesis Data Streams API.

", + "UpdateShardCount": "

Updates the shard count of the specified stream to the specified number of shards.

Updating the shard count is an asynchronous operation. Upon receiving the request, Kinesis Data Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis Data Streams sets the status of the stream back to ACTIVE. Depending on the size of the stream, the scaling action could take a few minutes to complete. You can continue to read and write data to your stream while its status is UPDATING.

To update the shard count, Kinesis Data Streams performs splits or merges on individual shards. This can cause short-lived shards to be created, in addition to the final shards. These short-lived shards count towards your total shard limit for your account in the Region.

When using this operation, we recommend that you specify a target shard count that is a multiple of 25% (25%, 50%, 75%, 100%). You can specify any target value within your shard limit. However, if you specify a target that isn't a multiple of 25%, the scaling action might take longer to complete.

This operation has the following default limits. By default, you cannot do the following:

For the default limits for an Amazon Web Services account, see Streams Limits in the Amazon Kinesis Data Streams Developer Guide. To request an increase in the call rate limit, the shard limit for this API, or your overall shard limit, use the limits form.

", + "UpdateStreamMode": "

Updates the capacity mode of the data stream. Currently, in Kinesis Data Streams, you can choose between an on-demand capacity mode and a provisioned capacity mode for your data stream.

" }, "shapes": { "AddTagsToStreamInput": { @@ -47,7 +48,7 @@ } }, "ChildShard": { - "base": null, + "base": "

Output parameter of the GetRecords API. The existing child shard of the current shard.

", "refs": { "ChildShardList$member": null } @@ -55,8 +56,8 @@ "ChildShardList": { "base": null, "refs": { - "GetRecordsOutput$ChildShards": null, - "SubscribeToShardEvent$ChildShards": null + "GetRecordsOutput$ChildShards": "

The list of the current shard's child shards, returned in the GetRecords API's response only when the end of the current shard is reached.

", + "SubscribeToShardEvent$ChildShards": "

The list of the child shards of the current shard, returned only at the end of the current shard.

" } }, "Consumer": { @@ -167,7 +168,7 @@ "DescribeStreamInputLimit": { "base": null, "refs": { - "DescribeStreamInput$Limit": "

The maximum number of shards to return in a single call. The default value is 100. If you specify a value greater than 100, at most 100 shards are returned.

" + "DescribeStreamInput$Limit": "

The maximum number of shards to return in a single call. The default value is 100. If you specify a value greater than 100, at most 100 results are returned.

" } }, "DescribeStreamOutput": { @@ -198,12 +199,12 @@ "EncryptionType": { "base": null, "refs": { - "PutRecordOutput$EncryptionType": "

The encryption type to use on the record. This parameter can be one of the following values:

", - "PutRecordsOutput$EncryptionType": "

The encryption type used on the records. This parameter can be one of the following values:

", - "Record$EncryptionType": "

The encryption type used on the record. This parameter can be one of the following values:

", + "PutRecordOutput$EncryptionType": "

The encryption type to use on the record. This parameter can be one of the following values:

", + "PutRecordsOutput$EncryptionType": "

The encryption type used on the records. This parameter can be one of the following values:

", + "Record$EncryptionType": "

The encryption type used on the record. This parameter can be one of the following values:

", "StartStreamEncryptionInput$EncryptionType": "

The encryption type to use. The only valid value is KMS.

", "StopStreamEncryptionInput$EncryptionType": "

The encryption type. The only valid value is KMS.

", - "StreamDescription$EncryptionType": "

The server-side encryption type used on the stream. This parameter can be one of the following values:

", + "StreamDescription$EncryptionType": "

The server-side encryption type used on the stream. This parameter can be one of the following values:

", "StreamDescriptionSummary$EncryptionType": "

The encryption type used. This value is one of the following:

" } }, @@ -248,7 +249,8 @@ "ProvisionedThroughputExceededException$message": "

A message that provides information about the error.

", "PutRecordsResultEntry$ErrorMessage": "

The error message for an individual record result. An ErrorCode value of ProvisionedThroughputExceededException has an error message that includes the account ID, stream name, and shard ID. An ErrorCode value of InternalFailure has the error message \"Internal Service Failure\".

", "ResourceInUseException$message": "

A message that provides information about the error.

", - "ResourceNotFoundException$message": "

A message that provides information about the error.

" + "ResourceNotFoundException$message": "

A message that provides information about the error.

", + "ValidationException$message": null } }, "ExpiredIteratorException": { @@ -333,7 +335,7 @@ } }, "KMSInvalidStateException": { - "base": "

The request was rejected because the state of the specified resource isn't valid for this request. For more information, see How Key State Affects Use of a Customer Master Key in the AWS Key Management Service Developer Guide.

", + "base": "

The request was rejected because the state of the specified resource isn't valid for this request. For more information, see How Key State Affects Use of a Customer Master Key in the Amazon Web Services Key Management Service Developer Guide.

", "refs": { "SubscribeToShardEventStream$KMSInvalidStateException": null } @@ -345,13 +347,13 @@ } }, "KMSOptInRequired": { - "base": "

The AWS access key ID needs a subscription for the service.

", + "base": "

The Amazon Web Services access key ID needs a subscription for the service.

", "refs": { "SubscribeToShardEventStream$KMSOptInRequired": null } }, "KMSThrottlingException": { - "base": "

The request was denied due to request throttling. For more information about throttling, see Limits in the AWS Key Management Service Developer Guide.

", + "base": "

The request was denied due to request throttling. For more information about throttling, see Limits in the Amazon Web Services Key Management Service Developer Guide.

", "refs": { "SubscribeToShardEventStream$KMSThrottlingException": null } @@ -359,10 +361,10 @@ "KeyId": { "base": null, "refs": { - "StartStreamEncryptionInput$KeyId": "

The GUID for the customer-managed AWS KMS key to use for encryption. This value can be a globally unique identifier, a fully specified Amazon Resource Name (ARN) to either an alias or a key, or an alias name prefixed by \"alias/\".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis.

", - "StopStreamEncryptionInput$KeyId": "

The GUID for the customer-managed AWS KMS key to use for encryption. This value can be a globally unique identifier, a fully specified Amazon Resource Name (ARN) to either an alias or a key, or an alias name prefixed by \"alias/\".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis.

", - "StreamDescription$KeyId": "

The GUID for the customer-managed AWS KMS key to use for encryption. This value can be a globally unique identifier, a fully specified ARN to either an alias or a key, or an alias name prefixed by \"alias/\".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis.

", - "StreamDescriptionSummary$KeyId": "

The GUID for the customer-managed AWS KMS key to use for encryption. This value can be a globally unique identifier, a fully specified ARN to either an alias or a key, or an alias name prefixed by \"alias/\".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis.

" + "StartStreamEncryptionInput$KeyId": "

The GUID for the customer-managed Amazon Web Services KMS key to use for encryption. This value can be a globally unique identifier, a fully specified Amazon Resource Name (ARN) to either an alias or a key, or an alias name prefixed by \"alias/\".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis.

", + "StopStreamEncryptionInput$KeyId": "

The GUID for the customer-managed Amazon Web Services KMS key to use for encryption. This value can be a globally unique identifier, a fully specified Amazon Resource Name (ARN) to either an alias or a key, or an alias name prefixed by \"alias/\".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis.

", + "StreamDescription$KeyId": "

The GUID for the customer-managed Amazon Web Services KMS key to use for encryption. This value can be a globally unique identifier, a fully specified ARN to either an alias or a key, or an alias name prefixed by \"alias/\".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis.

", + "StreamDescriptionSummary$KeyId": "

The GUID for the customer-managed Amazon Web Services KMS key to use for encryption. This value can be a globally unique identifier, a fully specified ARN to either an alias or a key, or an alias name prefixed by \"alias/\".You can also use a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis.

" } }, "LimitExceededException": { @@ -378,7 +380,7 @@ "ListShardsInputLimit": { "base": null, "refs": { - "ListShardsInput$MaxResults": "

The maximum number of shards to return in a single call to ListShards. The minimum value you can specify for this parameter is 1, and the maximum is 10,000, which is also the default.

When the number of shards to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListShards to list the next set of shards.

" + "ListShardsInput$MaxResults": "

The maximum number of shards to return in a single call to ListShards. The maximum number of shards to return in a single call. The default value is 1000. If you specify a value greater than 1000, at most 1000 results are returned.

When the number of shards to be listed is greater than the value of MaxResults, the response contains a NextToken value that you can use in a subsequent call to ListShards to list the next set of shards.

" } }, "ListShardsOutput": { @@ -394,7 +396,7 @@ "ListStreamConsumersInputLimit": { "base": null, "refs": { - "ListStreamConsumersInput$MaxResults": "

The maximum number of consumers that you want a single call of ListStreamConsumers to return.

" + "ListStreamConsumersInput$MaxResults": "

The maximum number of consumers that you want a single call of ListStreamConsumers to return. The default value is 100. If you specify a value greater than 100, at most 100 results are returned.

" } }, "ListStreamConsumersOutput": { @@ -410,7 +412,7 @@ "ListStreamsInputLimit": { "base": null, "refs": { - "ListStreamsInput$Limit": "

The maximum number of streams to list.

" + "ListStreamsInput$Limit": "

The maximum number of streams to list. The default value is 100. If you specify a value greater than 100, at most 100 results are returned.

" } }, "ListStreamsOutput": { @@ -471,6 +473,18 @@ "ListStreamConsumersOutput$NextToken": "

When the number of consumers that are registered with the data stream is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of registered consumers, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListStreamConsumers to list the next set of registered consumers. For more information about the use of this pagination token when calling the ListStreamConsumers operation, see ListStreamConsumersInput$NextToken.

Tokens expire after 300 seconds. When you obtain a value for NextToken in the response to a call to ListStreamConsumers, you have 300 seconds to use that value. If you specify an expired token in a call to ListStreamConsumers, you get ExpiredNextTokenException.

" } }, + "OnDemandStreamCountLimitObject": { + "base": null, + "refs": { + "DescribeLimitsOutput$OnDemandStreamCountLimit": "

The maximum number of data streams with the on-demand capacity mode.

" + } + }, + "OnDemandStreamCountObject": { + "base": null, + "refs": { + "DescribeLimitsOutput$OnDemandStreamCount": "

Indicates the number of data streams with the on-demand capacity mode.

" + } + }, "PartitionKey": { "base": null, "refs": { @@ -484,13 +498,13 @@ "refs": { "CreateStreamInput$ShardCount": "

The number of shards that the stream will use. The throughput of the stream is a function of the number of shards; more shards are required for greater provisioned throughput.

", "PutRecordsOutput$FailedRecordCount": "

The number of unsuccessfully processed records in a PutRecords request.

", - "UpdateShardCountInput$TargetShardCount": "

The new number of shards. This value has the following default limits. By default, you cannot do the following:

", + "UpdateShardCountInput$TargetShardCount": "

The new number of shards. This value has the following default limits. By default, you cannot do the following:

", "UpdateShardCountOutput$CurrentShardCount": "

The current number of shards.

", "UpdateShardCountOutput$TargetShardCount": "

The updated number of shards.

" } }, "ProvisionedThroughputExceededException": { - "base": "

The request rate for the stream is too high, or the requested data is too large for the available throughput. Reduce the frequency or size of your requests. For more information, see Streams Limits in the Amazon Kinesis Data Streams Developer Guide, and Error Retries and Exponential Backoff in AWS in the AWS General Reference.

", + "base": "

The request rate for the stream is too high, or the requested data is too large for the available throughput. Reduce the frequency or size of your requests. For more information, see Streams Limits in the Amazon Kinesis Data Streams Developer Guide, and Error Retries and Exponential Backoff in Amazon Web Services in the Amazon Web Services General Reference.

", "refs": { } }, @@ -535,7 +549,7 @@ "PutRecordsResultEntryList": { "base": null, "refs": { - "PutRecordsOutput$Records": "

An array of successfully and unsuccessfully processed record results, correlated with the request by natural ordering. A record that is successfully added to a stream includes SequenceNumber and ShardId in the result. A record that fails to be added to a stream includes ErrorCode and ErrorMessage in the result.

" + "PutRecordsOutput$Records": "

An array of successfully and unsuccessfully processed record results. A record that is successfully added to a stream includes SequenceNumber and ShardId in the result. A record that fails to be added to a stream includes ErrorCode and ErrorMessage in the result.

" } }, "Record": { @@ -628,22 +642,22 @@ } }, "ShardFilter": { - "base": null, + "base": "

The request parameter used to filter out the response of the ListShards API.

", "refs": { - "ListShardsInput$ShardFilter": null + "ListShardsInput$ShardFilter": "

Enables you to filter out the response of the ListShards API. You can only specify one filter at a time.

If you use the ShardFilter parameter when invoking the ListShards API, the Type is the required property and must be specified. If you specify the AT_TRIM_HORIZON, FROM_TRIM_HORIZON, or AT_LATEST types, you do not need to specify either the ShardId or the Timestamp optional properties.

If you specify the AFTER_SHARD_ID type, you must also provide the value for the optional ShardId property. The ShardId property is identical in fuctionality to the ExclusiveStartShardId parameter of the ListShards API. When ShardId property is specified, the response includes the shards starting with the shard whose ID immediately follows the ShardId that you provided.

If you specify the AT_TIMESTAMP or FROM_TIMESTAMP_ID type, you must also provide the value for the optional Timestamp property. If you specify the AT_TIMESTAMP type, then all shards that were open at the provided timestamp are returned. If you specify the FROM_TIMESTAMP type, then all shards starting from the provided timestamp to TIP are returned.

" } }, "ShardFilterType": { "base": null, "refs": { - "ShardFilter$Type": null + "ShardFilter$Type": "

The shard type specified in the ShardFilter parameter. This is a required property of the ShardFilter parameter.

You can specify the following valid values:

" } }, "ShardId": { "base": null, "refs": { - "ChildShard$ShardId": null, - "DescribeStreamInput$ExclusiveStartShardId": "

The shard ID of the shard to start with.

", + "ChildShard$ShardId": "

The shard ID of the existing child shard of the current shard.

", + "DescribeStreamInput$ExclusiveStartShardId": "

The shard ID of the shard to start with.

Specify this parameter to indicate that you want to describe the stream starting with the shard whose ID immediately follows ExclusiveStartShardId.

If you don't specify this parameter, the default behavior for DescribeStream is to describe the stream starting with the first shard in the stream.

", "GetShardIteratorInput$ShardId": "

The shard ID of the Kinesis Data Streams shard to get the iterator for.

", "ListShardsInput$ExclusiveStartShardId": "

Specify this parameter to indicate that you want to list the shards starting with the shard whose ID immediately follows ExclusiveStartShardId.

If you don't specify this parameter, the default behavior is for ListShards to list the shards starting with the first one in the stream.

You cannot specify this parameter if you specify NextToken.

", "MergeShardsInput$ShardToMerge": "

The shard ID of the shard to combine with the adjacent shard for the merge.

", @@ -653,7 +667,7 @@ "Shard$ShardId": "

The unique identifier of the shard within the stream.

", "Shard$ParentShardId": "

The shard ID of the shard's parent.

", "Shard$AdjacentParentShardId": "

The shard ID of the shard adjacent to the shard's parent.

", - "ShardFilter$ShardId": null, + "ShardFilter$ShardId": "

The exclusive start shardID speified in the ShardFilter parameter. This property can only be used if the AFTER_SHARD_ID shard type is specified.

", "ShardIdList$member": null, "SplitShardInput$ShardToSplit": "

The shard ID of the shard to split.

", "SubscribeToShardInput$ShardId": "

The ID of the shard you want to subscribe to. To see a list of all the shards for a given stream, use ListShards.

" @@ -662,7 +676,7 @@ "ShardIdList": { "base": null, "refs": { - "ChildShard$ParentShards": null + "ChildShard$ParentShards": "

The current shard that is the parent of the existing child shard.

" } }, "ShardIterator": { @@ -698,9 +712,9 @@ } }, "StartingPosition": { - "base": "

", + "base": "

The starting position in the data stream from which to start streaming.

", "refs": { - "SubscribeToShardInput$StartingPosition": "

" + "SubscribeToShardInput$StartingPosition": "

The starting position in the data stream from which to start streaming.

" } }, "StopStreamEncryptionInput": { @@ -712,12 +726,13 @@ "base": null, "refs": { "ConsumerDescription$StreamARN": "

The ARN of the stream with which you registered the consumer.

", - "DeregisterStreamConsumerInput$StreamARN": "

The ARN of the Kinesis data stream that the consumer is registered with. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

", - "DescribeStreamConsumerInput$StreamARN": "

The ARN of the Kinesis data stream that the consumer is registered with. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

", - "ListStreamConsumersInput$StreamARN": "

The ARN of the Kinesis data stream for which you want to list the registered consumers. For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

", - "RegisterStreamConsumerInput$StreamARN": "

The ARN of the Kinesis data stream that you want to register the consumer with. For more info, see Amazon Resource Names (ARNs) and AWS Service Namespaces.

", + "DeregisterStreamConsumerInput$StreamARN": "

The ARN of the Kinesis data stream that the consumer is registered with. For more information, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.

", + "DescribeStreamConsumerInput$StreamARN": "

The ARN of the Kinesis data stream that the consumer is registered with. For more information, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.

", + "ListStreamConsumersInput$StreamARN": "

The ARN of the Kinesis data stream for which you want to list the registered consumers. For more information, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.

", + "RegisterStreamConsumerInput$StreamARN": "

The ARN of the Kinesis data stream that you want to register the consumer with. For more info, see Amazon Resource Names (ARNs) and Amazon Web Services Service Namespaces.

", "StreamDescription$StreamARN": "

The Amazon Resource Name (ARN) for the stream being described.

", - "StreamDescriptionSummary$StreamARN": "

The Amazon Resource Name (ARN) for the stream being described.

" + "StreamDescriptionSummary$StreamARN": "

The Amazon Resource Name (ARN) for the stream being described.

", + "UpdateStreamModeInput$StreamARN": "

Specifies the ARN of the data stream whose capacity mode you want to update.

" } }, "StreamDescription": { @@ -732,11 +747,26 @@ "DescribeStreamSummaryOutput$StreamDescriptionSummary": "

A StreamDescriptionSummary containing information about the stream.

" } }, + "StreamMode": { + "base": null, + "refs": { + "StreamModeDetails$StreamMode": "

Specifies the capacity mode to which you want to set your data stream. Currently, in Kinesis Data Streams, you can choose between an on-demand capacity mode and a provisioned capacity mode for your data streams.

" + } + }, + "StreamModeDetails": { + "base": "

Specifies the capacity mode to which you want to set your data stream. Currently, in Kinesis Data Streams, you can choose between an on-demand capacity mode and a provisioned capacity mode for your data streams.

", + "refs": { + "CreateStreamInput$StreamModeDetails": "

Indicates the capacity mode of the data stream. Currently, in Kinesis Data Streams, you can choose between an on-demand capacity mode and a provisioned capacity mode for your data streams.

", + "StreamDescription$StreamModeDetails": "

Specifies the capacity mode to which you want to set your data stream. Currently, in Kinesis Data Streams, you can choose between an on-demand capacity mode and a provisioned capacity mode for your data streams.

", + "StreamDescriptionSummary$StreamModeDetails": "

Specifies the capacity mode to which you want to set your data stream. Currently, in Kinesis Data Streams, you can choose between an on-demand ycapacity mode and a provisioned capacity mode for your data streams.

", + "UpdateStreamModeInput$StreamModeDetails": "

Specifies the capacity mode to which you want to set your data stream. Currently, in Kinesis Data Streams, you can choose between an on-demand capacity mode and a provisioned capacity mode for your data streams.

" + } + }, "StreamName": { "base": null, "refs": { "AddTagsToStreamInput$StreamName": "

The name of the stream.

", - "CreateStreamInput$StreamName": "

A name to identify the stream. The stream name is scoped to the AWS account used by the application that creates the stream. It is also scoped by AWS Region. That is, two streams in two different AWS accounts can have the same name. Two streams in the same AWS account but in two different Regions can also have the same name.

", + "CreateStreamInput$StreamName": "

A name to identify the stream. The stream name is scoped to the Amazon Web Services account used by the application that creates the stream. It is also scoped by Amazon Web Services Region. That is, two streams in two different Amazon Web Services accounts can have the same name. Two streams in the same Amazon Web Services account but in two different Regions can also have the same name.

", "DecreaseStreamRetentionPeriodInput$StreamName": "

The name of the stream to modify.

", "DeleteStreamInput$StreamName": "

The name of the stream to delete.

", "DescribeStreamInput$StreamName": "

The name of the stream to describe.

", @@ -766,7 +796,7 @@ "StreamNameList": { "base": null, "refs": { - "ListStreamsOutput$StreamNames": "

The names of the streams that are associated with the AWS account making the ListStreams request.

" + "ListStreamsOutput$StreamNames": "

The names of the streams that are associated with the Amazon Web Services account making the ListStreams request.

" } }, "StreamStatus": { @@ -847,7 +877,7 @@ "ListShardsInput$StreamCreationTimestamp": "

Specify this input parameter to distinguish data streams that have the same name. For example, if you create a data stream and then delete it, and you later create another data stream with the same name, you can use this input parameter to specify which of the two streams you want to list the shards for.

You cannot specify this parameter if you specify the NextToken parameter.

", "ListStreamConsumersInput$StreamCreationTimestamp": "

Specify this input parameter to distinguish data streams that have the same name. For example, if you create a data stream and then delete it, and you later create another data stream with the same name, you can use this input parameter to specify which of the two streams you want to list the consumers for.

You can't specify this parameter if you specify the NextToken parameter.

", "Record$ApproximateArrivalTimestamp": "

The approximate time that the record was inserted into the stream.

", - "ShardFilter$Timestamp": null, + "ShardFilter$Timestamp": "

The timestamps specified in the ShardFilter parameter. A timestamp is a Unix epoch date with precision in milliseconds. For example, 2016-04-04T19:58:46.480-00:00 or 1459799926.480. This property can only be used if FROM_TIMESTAMP or AT_TIMESTAMP shard types are specified.

", "StartingPosition$Timestamp": "

The time stamp of the data record from which to start reading. To specify a time stamp, set StartingPosition to Type AT_TIMESTAMP. A time stamp is the Unix epoch date with precision in milliseconds. For example, 2016-04-04T19:58:46.480-00:00 or 1459799926.480. If a record with this exact time stamp does not exist, records will be streamed from the next (later) record. If the time stamp is older than the current trim horizon, records will be streamed from the oldest untrimmed data record (TRIM_HORIZON).

", "StreamDescription$StreamCreationTimestamp": "

The approximate time that the stream was created.

", "StreamDescriptionSummary$StreamCreationTimestamp": "

The approximate time that the stream was created.

" @@ -862,6 +892,16 @@ "base": null, "refs": { } + }, + "UpdateStreamModeInput": { + "base": null, + "refs": { + } + }, + "ValidationException": { + "base": "

", + "refs": { + } } } } diff --git a/models/apis/lakeformation/2017-03-31/api-2.json b/models/apis/lakeformation/2017-03-31/api-2.json index e6b61afecc9..ca2f08f5d4d 100644 --- a/models/apis/lakeformation/2017-03-31/api-2.json +++ b/models/apis/lakeformation/2017-03-31/api-2.json @@ -4,12 +4,11 @@ "apiVersion":"2017-03-31", "endpointPrefix":"lakeformation", "jsonVersion":"1.1", - "protocol":"json", + "protocol":"rest-json", "serviceFullName":"AWS Lake Formation", "serviceId":"LakeFormation", "signatureVersion":"v4", "signingName":"lakeformation", - "targetPrefix":"AWSLakeFormation", "uid":"lakeformation-2017-03-31" }, "operations":{ @@ -17,7 +16,7 @@ "name":"AddLFTagsToResource", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/AddLFTagsToResource" }, "input":{"shape":"AddLFTagsToResourceRequest"}, "output":{"shape":"AddLFTagsToResourceResponse"}, @@ -34,7 +33,7 @@ "name":"BatchGrantPermissions", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/BatchGrantPermissions" }, "input":{"shape":"BatchGrantPermissionsRequest"}, "output":{"shape":"BatchGrantPermissionsResponse"}, @@ -47,7 +46,7 @@ "name":"BatchRevokePermissions", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/BatchRevokePermissions" }, "input":{"shape":"BatchRevokePermissionsRequest"}, "output":{"shape":"BatchRevokePermissionsResponse"}, @@ -56,11 +55,64 @@ {"shape":"OperationTimeoutException"} ] }, + "CancelTransaction":{ + "name":"CancelTransaction", + "http":{ + "method":"POST", + "requestUri":"/CancelTransaction" + }, + "input":{"shape":"CancelTransactionRequest"}, + "output":{"shape":"CancelTransactionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"TransactionCommittedException"}, + {"shape":"TransactionCommitInProgressException"}, + {"shape":"ConcurrentModificationException"} + ] + }, + "CommitTransaction":{ + "name":"CommitTransaction", + "http":{ + "method":"POST", + "requestUri":"/CommitTransaction" + }, + "input":{"shape":"CommitTransactionRequest"}, + "output":{"shape":"CommitTransactionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"TransactionCanceledException"}, + {"shape":"ConcurrentModificationException"} + ] + }, + "CreateDataCellsFilter":{ + "name":"CreateDataCellsFilter", + "http":{ + "method":"POST", + "requestUri":"/CreateDataCellsFilter" + }, + "input":{"shape":"CreateDataCellsFilterRequest"}, + "output":{"shape":"CreateDataCellsFilterResponse"}, + "errors":[ + {"shape":"AlreadyExistsException"}, + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"AccessDeniedException"} + ] + }, "CreateLFTag":{ "name":"CreateLFTag", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/CreateLFTag" }, "input":{"shape":"CreateLFTagRequest"}, "output":{"shape":"CreateLFTagResponse"}, @@ -73,11 +125,27 @@ {"shape":"AccessDeniedException"} ] }, + "DeleteDataCellsFilter":{ + "name":"DeleteDataCellsFilter", + "http":{ + "method":"POST", + "requestUri":"/DeleteDataCellsFilter" + }, + "input":{"shape":"DeleteDataCellsFilterRequest"}, + "output":{"shape":"DeleteDataCellsFilterResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"AccessDeniedException"} + ] + }, "DeleteLFTag":{ "name":"DeleteLFTag", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/DeleteLFTag" }, "input":{"shape":"DeleteLFTagRequest"}, "output":{"shape":"DeleteLFTagResponse"}, @@ -89,11 +157,30 @@ {"shape":"AccessDeniedException"} ] }, + "DeleteObjectsOnCancel":{ + "name":"DeleteObjectsOnCancel", + "http":{ + "method":"POST", + "requestUri":"/DeleteObjectsOnCancel" + }, + "input":{"shape":"DeleteObjectsOnCancelRequest"}, + "output":{"shape":"DeleteObjectsOnCancelResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"TransactionCommittedException"}, + {"shape":"TransactionCanceledException"}, + {"shape":"ResourceNotReadyException"}, + {"shape":"ConcurrentModificationException"} + ] + }, "DeregisterResource":{ "name":"DeregisterResource", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/DeregisterResource" }, "input":{"shape":"DeregisterResourceRequest"}, "output":{"shape":"DeregisterResourceResponse"}, @@ -108,7 +195,7 @@ "name":"DescribeResource", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/DescribeResource" }, "input":{"shape":"DescribeResourceRequest"}, "output":{"shape":"DescribeResourceResponse"}, @@ -119,11 +206,44 @@ {"shape":"EntityNotFoundException"} ] }, + "DescribeTransaction":{ + "name":"DescribeTransaction", + "http":{ + "method":"POST", + "requestUri":"/DescribeTransaction" + }, + "input":{"shape":"DescribeTransactionRequest"}, + "output":{"shape":"DescribeTransactionResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, + "ExtendTransaction":{ + "name":"ExtendTransaction", + "http":{ + "method":"POST", + "requestUri":"/ExtendTransaction" + }, + "input":{"shape":"ExtendTransactionRequest"}, + "output":{"shape":"ExtendTransactionResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"TransactionCommittedException"}, + {"shape":"TransactionCanceledException"}, + {"shape":"TransactionCommitInProgressException"} + ] + }, "GetDataLakeSettings":{ "name":"GetDataLakeSettings", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/GetDataLakeSettings" }, "input":{"shape":"GetDataLakeSettingsRequest"}, "output":{"shape":"GetDataLakeSettingsResponse"}, @@ -137,7 +257,7 @@ "name":"GetEffectivePermissionsForPath", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/GetEffectivePermissionsForPath" }, "input":{"shape":"GetEffectivePermissionsForPathRequest"}, "output":{"shape":"GetEffectivePermissionsForPathResponse"}, @@ -152,7 +272,7 @@ "name":"GetLFTag", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/GetLFTag" }, "input":{"shape":"GetLFTagRequest"}, "output":{"shape":"GetLFTagResponse"}, @@ -164,11 +284,46 @@ {"shape":"AccessDeniedException"} ] }, + "GetQueryState":{ + "name":"GetQueryState", + "http":{ + "method":"POST", + "requestUri":"/GetQueryState", + "responseCode":200 + }, + "input":{"shape":"GetQueryStateRequest"}, + "output":{"shape":"GetQueryStateResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"AccessDeniedException"} + ], + "endpoint":{"hostPrefix":"query-"} + }, + "GetQueryStatistics":{ + "name":"GetQueryStatistics", + "http":{ + "method":"POST", + "requestUri":"/GetQueryStatistics", + "responseCode":200 + }, + "input":{"shape":"GetQueryStatisticsRequest"}, + "output":{"shape":"GetQueryStatisticsResponse"}, + "errors":[ + {"shape":"StatisticsNotReadyYetException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ExpiredException"}, + {"shape":"ThrottledException"} + ], + "endpoint":{"hostPrefix":"query-"} + }, "GetResourceLFTags":{ "name":"GetResourceLFTags", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/GetResourceLFTags" }, "input":{"shape":"GetResourceLFTagsRequest"}, "output":{"shape":"GetResourceLFTagsResponse"}, @@ -181,11 +336,65 @@ {"shape":"AccessDeniedException"} ] }, + "GetTableObjects":{ + "name":"GetTableObjects", + "http":{ + "method":"POST", + "requestUri":"/GetTableObjects" + }, + "input":{"shape":"GetTableObjectsRequest"}, + "output":{"shape":"GetTableObjectsResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"TransactionCommittedException"}, + {"shape":"TransactionCanceledException"}, + {"shape":"ResourceNotReadyException"} + ] + }, + "GetWorkUnitResults":{ + "name":"GetWorkUnitResults", + "http":{ + "method":"POST", + "requestUri":"/GetWorkUnitResults", + "responseCode":200 + }, + "input":{"shape":"GetWorkUnitResultsRequest"}, + "output":{"shape":"GetWorkUnitResultsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ExpiredException"}, + {"shape":"ThrottledException"} + ], + "endpoint":{"hostPrefix":"data-"} + }, + "GetWorkUnits":{ + "name":"GetWorkUnits", + "http":{ + "method":"POST", + "requestUri":"/GetWorkUnits", + "responseCode":200 + }, + "input":{"shape":"GetWorkUnitsRequest"}, + "output":{"shape":"GetWorkUnitsResponse"}, + "errors":[ + {"shape":"WorkUnitsNotReadyYetException"}, + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ExpiredException"} + ], + "endpoint":{"hostPrefix":"query-"} + }, "GrantPermissions":{ "name":"GrantPermissions", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/GrantPermissions" }, "input":{"shape":"GrantPermissionsRequest"}, "output":{"shape":"GrantPermissionsResponse"}, @@ -195,11 +404,26 @@ {"shape":"InvalidInputException"} ] }, + "ListDataCellsFilter":{ + "name":"ListDataCellsFilter", + "http":{ + "method":"POST", + "requestUri":"/ListDataCellsFilter" + }, + "input":{"shape":"ListDataCellsFilterRequest"}, + "output":{"shape":"ListDataCellsFilterResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"InternalServiceException"}, + {"shape":"AccessDeniedException"} + ] + }, "ListLFTags":{ "name":"ListLFTags", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/ListLFTags" }, "input":{"shape":"ListLFTagsRequest"}, "output":{"shape":"ListLFTagsResponse"}, @@ -207,14 +431,15 @@ {"shape":"EntityNotFoundException"}, {"shape":"InvalidInputException"}, {"shape":"InternalServiceException"}, - {"shape":"OperationTimeoutException"} + {"shape":"OperationTimeoutException"}, + {"shape":"AccessDeniedException"} ] }, "ListPermissions":{ "name":"ListPermissions", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/ListPermissions" }, "input":{"shape":"ListPermissionsRequest"}, "output":{"shape":"ListPermissionsResponse"}, @@ -228,7 +453,7 @@ "name":"ListResources", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/ListResources" }, "input":{"shape":"ListResourcesRequest"}, "output":{"shape":"ListResourcesResponse"}, @@ -238,11 +463,40 @@ {"shape":"OperationTimeoutException"} ] }, + "ListTableStorageOptimizers":{ + "name":"ListTableStorageOptimizers", + "http":{ + "method":"POST", + "requestUri":"/ListTableStorageOptimizers" + }, + "input":{"shape":"ListTableStorageOptimizersRequest"}, + "output":{"shape":"ListTableStorageOptimizersResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceException"} + ] + }, + "ListTransactions":{ + "name":"ListTransactions", + "http":{ + "method":"POST", + "requestUri":"/ListTransactions" + }, + "input":{"shape":"ListTransactionsRequest"}, + "output":{"shape":"ListTransactionsResponse"}, + "errors":[ + {"shape":"InvalidInputException"}, + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, "PutDataLakeSettings":{ "name":"PutDataLakeSettings", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/PutDataLakeSettings" }, "input":{"shape":"PutDataLakeSettingsRequest"}, "output":{"shape":"PutDataLakeSettingsResponse"}, @@ -255,7 +509,7 @@ "name":"RegisterResource", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/RegisterResource" }, "input":{"shape":"RegisterResourceRequest"}, "output":{"shape":"RegisterResourceResponse"}, @@ -263,14 +517,17 @@ {"shape":"InvalidInputException"}, {"shape":"InternalServiceException"}, {"shape":"OperationTimeoutException"}, - {"shape":"AlreadyExistsException"} + {"shape":"AlreadyExistsException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"ResourceNumberLimitExceededException"}, + {"shape":"AccessDeniedException"} ] }, "RemoveLFTagsFromResource":{ "name":"RemoveLFTagsFromResource", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/RemoveLFTagsFromResource" }, "input":{"shape":"RemoveLFTagsFromResourceRequest"}, "output":{"shape":"RemoveLFTagsFromResourceResponse"}, @@ -288,7 +545,7 @@ "name":"RevokePermissions", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/RevokePermissions" }, "input":{"shape":"RevokePermissionsRequest"}, "output":{"shape":"RevokePermissionsResponse"}, @@ -302,7 +559,7 @@ "name":"SearchDatabasesByLFTags", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/SearchDatabasesByLFTags" }, "input":{"shape":"SearchDatabasesByLFTagsRequest"}, "output":{"shape":"SearchDatabasesByLFTagsResponse"}, @@ -319,7 +576,7 @@ "name":"SearchTablesByLFTags", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/SearchTablesByLFTags" }, "input":{"shape":"SearchTablesByLFTagsRequest"}, "output":{"shape":"SearchTablesByLFTagsResponse"}, @@ -332,11 +589,41 @@ {"shape":"AccessDeniedException"} ] }, + "StartQueryPlanning":{ + "name":"StartQueryPlanning", + "http":{ + "method":"POST", + "requestUri":"/StartQueryPlanning", + "responseCode":200 + }, + "input":{"shape":"StartQueryPlanningRequest"}, + "output":{"shape":"StartQueryPlanningResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottledException"} + ], + "endpoint":{"hostPrefix":"query-"} + }, + "StartTransaction":{ + "name":"StartTransaction", + "http":{ + "method":"POST", + "requestUri":"/StartTransaction" + }, + "input":{"shape":"StartTransactionRequest"}, + "output":{"shape":"StartTransactionResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"OperationTimeoutException"} + ] + }, "UpdateLFTag":{ "name":"UpdateLFTag", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/UpdateLFTag" }, "input":{"shape":"UpdateLFTagRequest"}, "output":{"shape":"UpdateLFTagResponse"}, @@ -353,7 +640,7 @@ "name":"UpdateResource", "http":{ "method":"POST", - "requestUri":"/" + "requestUri":"/UpdateResource" }, "input":{"shape":"UpdateResourceRequest"}, "output":{"shape":"UpdateResourceResponse"}, @@ -363,6 +650,41 @@ {"shape":"OperationTimeoutException"}, {"shape":"EntityNotFoundException"} ] + }, + "UpdateTableObjects":{ + "name":"UpdateTableObjects", + "http":{ + "method":"POST", + "requestUri":"/UpdateTableObjects" + }, + "input":{"shape":"UpdateTableObjectsRequest"}, + "output":{"shape":"UpdateTableObjectsResponse"}, + "errors":[ + {"shape":"InternalServiceException"}, + {"shape":"InvalidInputException"}, + {"shape":"OperationTimeoutException"}, + {"shape":"EntityNotFoundException"}, + {"shape":"TransactionCommittedException"}, + {"shape":"TransactionCanceledException"}, + {"shape":"TransactionCommitInProgressException"}, + {"shape":"ResourceNotReadyException"}, + {"shape":"ConcurrentModificationException"} + ] + }, + "UpdateTableStorageOptimizer":{ + "name":"UpdateTableStorageOptimizer", + "http":{ + "method":"POST", + "requestUri":"/UpdateTableStorageOptimizer" + }, + "input":{"shape":"UpdateTableStorageOptimizerRequest"}, + "output":{"shape":"UpdateTableStorageOptimizerResponse"}, + "errors":[ + {"shape":"EntityNotFoundException"}, + {"shape":"InvalidInputException"}, + {"shape":"AccessDeniedException"}, + {"shape":"InternalServiceException"} + ] } }, "shapes":{ @@ -371,6 +693,10 @@ "members":{ "Message":{"shape":"MessageString"} }, + "error":{ + "httpStatusCode":403, + "senderFault":true + }, "exception":true }, "AddLFTagsToResourceRequest":{ @@ -391,6 +717,25 @@ "Failures":{"shape":"LFTagErrors"} } }, + "AddObjectInput":{ + "type":"structure", + "required":[ + "Uri", + "ETag", + "Size" + ], + "members":{ + "Uri":{"shape":"URI"}, + "ETag":{"shape":"ETagString"}, + "Size":{"shape":"ObjectSize"}, + "PartitionValues":{"shape":"PartitionValuesList"} + } + }, + "AllRowsWildcard":{ + "type":"structure", + "members":{ + } + }, "AlreadyExistsException":{ "type":"structure", "members":{ @@ -453,6 +798,18 @@ } }, "BooleanNullable":{"type":"boolean"}, + "CancelTransactionRequest":{ + "type":"structure", + "required":["TransactionId"], + "members":{ + "TransactionId":{"shape":"TransactionIdString"} + } + }, + "CancelTransactionResponse":{ + "type":"structure", + "members":{ + } + }, "CatalogIdString":{ "type":"string", "max":255, @@ -485,6 +842,19 @@ "ExcludedColumnNames":{"shape":"ColumnNames"} } }, + "CommitTransactionRequest":{ + "type":"structure", + "required":["TransactionId"], + "members":{ + "TransactionId":{"shape":"TransactionIdString"} + } + }, + "CommitTransactionResponse":{ + "type":"structure", + "members":{ + "TransactionStatus":{"shape":"TransactionStatus"} + } + }, "ComparisonOperator":{ "type":"string", "enum":[ @@ -508,6 +878,18 @@ }, "exception":true }, + "CreateDataCellsFilterRequest":{ + "type":"structure", + "required":["TableData"], + "members":{ + "TableData":{"shape":"DataCellsFilter"} + } + }, + "CreateDataCellsFilterResponse":{ + "type":"structure", + "members":{ + } + }, "CreateLFTagRequest":{ "type":"structure", "required":[ @@ -525,6 +907,37 @@ "members":{ } }, + "DataCellsFilter":{ + "type":"structure", + "required":[ + "TableCatalogId", + "DatabaseName", + "TableName", + "Name" + ], + "members":{ + "TableCatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "Name":{"shape":"NameString"}, + "RowFilter":{"shape":"RowFilter"}, + "ColumnNames":{"shape":"ColumnNames"}, + "ColumnWildcard":{"shape":"ColumnWildcard"} + } + }, + "DataCellsFilterList":{ + "type":"list", + "member":{"shape":"DataCellsFilter"} + }, + "DataCellsFilterResource":{ + "type":"structure", + "members":{ + "TableCatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "Name":{"shape":"NameString"} + } + }, "DataLakePrincipal":{ "type":"structure", "members":{ @@ -584,19 +997,67 @@ "Name":{"shape":"NameString"} } }, - "DeleteLFTagRequest":{ + "DateTime":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "DeleteDataCellsFilterRequest":{ "type":"structure", - "required":["TagKey"], "members":{ - "CatalogId":{"shape":"CatalogIdString"}, - "TagKey":{"shape":"LFTagKey"} - } + "TableCatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "Name":{"shape":"NameString"} + } + }, + "DeleteDataCellsFilterResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteLFTagRequest":{ + "type":"structure", + "required":["TagKey"], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "TagKey":{"shape":"LFTagKey"} + } }, "DeleteLFTagResponse":{ "type":"structure", "members":{ } }, + "DeleteObjectInput":{ + "type":"structure", + "required":["Uri"], + "members":{ + "Uri":{"shape":"URI"}, + "ETag":{"shape":"ETagString"}, + "PartitionValues":{"shape":"PartitionValuesList"} + } + }, + "DeleteObjectsOnCancelRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "TransactionId", + "Objects" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "TransactionId":{"shape":"TransactionIdString"}, + "Objects":{"shape":"VirtualObjectList"} + } + }, + "DeleteObjectsOnCancelResponse":{ + "type":"structure", + "members":{ + } + }, "DeregisterResourceRequest":{ "type":"structure", "required":["ResourceArn"], @@ -622,6 +1083,19 @@ "ResourceInfo":{"shape":"ResourceInfo"} } }, + "DescribeTransactionRequest":{ + "type":"structure", + "required":["TransactionId"], + "members":{ + "TransactionId":{"shape":"TransactionIdString"} + } + }, + "DescribeTransactionResponse":{ + "type":"structure", + "members":{ + "TransactionDescription":{"shape":"TransactionDescription"} + } + }, "DescriptionString":{ "type":"string", "max":2048, @@ -634,6 +1108,12 @@ "ResourceShare":{"shape":"ResourceShareList"} } }, + "ETagString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\p{L}\\p{N}\\p{P}]*" + }, "EntityNotFoundException":{ "type":"structure", "members":{ @@ -648,12 +1128,43 @@ "ErrorMessage":{"shape":"DescriptionString"} } }, + "ErrorMessageString":{"type":"string"}, + "ExecutionStatistics":{ + "type":"structure", + "members":{ + "AverageExecutionTimeMillis":{"shape":"NumberOfMilliseconds"}, + "DataScannedBytes":{"shape":"NumberOfBytes"}, + "WorkUnitsExecutedCount":{"shape":"NumberOfItems"} + } + }, + "ExpiredException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "error":{ + "httpStatusCode":410, + "senderFault":true + }, + "exception":true + }, "Expression":{ "type":"list", "member":{"shape":"LFTag"}, "max":5, "min":1 }, + "ExtendTransactionRequest":{ + "type":"structure", + "members":{ + "TransactionId":{"shape":"TransactionIdString"} + } + }, + "ExtendTransactionResponse":{ + "type":"structure", + "members":{ + } + }, "FieldNameString":{ "type":"string", "enum":[ @@ -721,6 +1232,46 @@ "TagValues":{"shape":"TagValueList"} } }, + "GetQueryStateRequest":{ + "type":"structure", + "required":["QueryId"], + "members":{ + "QueryId":{"shape":"GetQueryStateRequestQueryIdString"} + } + }, + "GetQueryStateRequestQueryIdString":{ + "type":"string", + "max":36, + "min":36 + }, + "GetQueryStateResponse":{ + "type":"structure", + "required":["State"], + "members":{ + "Error":{"shape":"ErrorMessageString"}, + "State":{"shape":"QueryStateString"} + } + }, + "GetQueryStatisticsRequest":{ + "type":"structure", + "required":["QueryId"], + "members":{ + "QueryId":{"shape":"GetQueryStatisticsRequestQueryIdString"} + } + }, + "GetQueryStatisticsRequestQueryIdString":{ + "type":"string", + "max":36, + "min":36 + }, + "GetQueryStatisticsResponse":{ + "type":"structure", + "members":{ + "ExecutionStatistics":{"shape":"ExecutionStatistics"}, + "PlanningStatistics":{"shape":"PlanningStatistics"}, + "QuerySubmissionTime":{"shape":"DateTime"} + } + }, "GetResourceLFTagsRequest":{ "type":"structure", "required":["Resource"], @@ -738,6 +1289,85 @@ "LFTagsOnColumns":{"shape":"ColumnLFTagsList"} } }, + "GetTableObjectsRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "TransactionId":{"shape":"TransactionIdString"}, + "QueryAsOfTime":{"shape":"Timestamp"}, + "PartitionPredicate":{"shape":"PredicateString"}, + "MaxResults":{"shape":"PageSize"}, + "NextToken":{"shape":"TokenString"} + } + }, + "GetTableObjectsResponse":{ + "type":"structure", + "members":{ + "Objects":{"shape":"PartitionedTableObjectsList"}, + "NextToken":{"shape":"TokenString"} + } + }, + "GetWorkUnitResultsRequest":{ + "type":"structure", + "required":[ + "QueryId", + "WorkUnitId", + "WorkUnitToken" + ], + "members":{ + "QueryId":{"shape":"GetWorkUnitResultsRequestQueryIdString"}, + "WorkUnitId":{"shape":"GetWorkUnitResultsRequestWorkUnitIdLong"}, + "WorkUnitToken":{"shape":"SyntheticGetWorkUnitResultsRequestWorkUnitTokenString"} + } + }, + "GetWorkUnitResultsRequestQueryIdString":{ + "type":"string", + "max":36, + "min":36 + }, + "GetWorkUnitResultsRequestWorkUnitIdLong":{ + "type":"long", + "min":0 + }, + "GetWorkUnitResultsResponse":{ + "type":"structure", + "members":{ + "ResultStream":{"shape":"ResultStream"} + }, + "payload":"ResultStream" + }, + "GetWorkUnitsRequest":{ + "type":"structure", + "required":["QueryId"], + "members":{ + "NextToken":{"shape":"Token"}, + "PageSize":{"shape":"Integer"}, + "QueryId":{"shape":"GetWorkUnitsRequestQueryIdString"} + } + }, + "GetWorkUnitsRequestQueryIdString":{ + "type":"string", + "max":36, + "min":36 + }, + "GetWorkUnitsResponse":{ + "type":"structure", + "required":[ + "QueryId", + "WorkUnitRanges" + ], + "members":{ + "NextToken":{"shape":"Token"}, + "QueryId":{"shape":"QueryIdString"}, + "WorkUnitRanges":{"shape":"WorkUnitRangeList"} + } + }, "GlueEncryptionException":{ "type":"structure", "members":{ @@ -774,11 +1404,16 @@ "max":255, "min":1 }, + "Integer":{ + "type":"integer", + "box":true + }, "InternalServiceException":{ "type":"structure", "members":{ "Message":{"shape":"MessageString"} }, + "error":{"httpStatusCode":500}, "exception":true, "fault":true }, @@ -787,6 +1422,10 @@ "members":{ "Message":{"shape":"MessageString"} }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, "exception":true }, "LFTag":{ @@ -866,6 +1505,21 @@ "min":1 }, "LastModifiedTimestamp":{"type":"timestamp"}, + "ListDataCellsFilterRequest":{ + "type":"structure", + "members":{ + "Table":{"shape":"TableResource"}, + "NextToken":{"shape":"Token"}, + "MaxResults":{"shape":"PageSize"} + } + }, + "ListDataCellsFilterResponse":{ + "type":"structure", + "members":{ + "DataCellsFilters":{"shape":"DataCellsFilterList"}, + "NextToken":{"shape":"Token"} + } + }, "ListLFTagsRequest":{ "type":"structure", "members":{ @@ -890,7 +1544,8 @@ "ResourceType":{"shape":"DataLakeResourceType"}, "Resource":{"shape":"Resource"}, "NextToken":{"shape":"Token"}, - "MaxResults":{"shape":"PageSize"} + "MaxResults":{"shape":"PageSize"}, + "IncludeRelated":{"shape":"TrueFalseString"} } }, "ListPermissionsResponse":{ @@ -915,6 +1570,44 @@ "NextToken":{"shape":"Token"} } }, + "ListTableStorageOptimizersRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "StorageOptimizerType":{"shape":"OptimizerType"}, + "MaxResults":{"shape":"PageSize"}, + "NextToken":{"shape":"Token"} + } + }, + "ListTableStorageOptimizersResponse":{ + "type":"structure", + "members":{ + "StorageOptimizerList":{"shape":"StorageOptimizerList"}, + "NextToken":{"shape":"Token"} + } + }, + "ListTransactionsRequest":{ + "type":"structure", + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "StatusFilter":{"shape":"TransactionStatusFilter"}, + "MaxResults":{"shape":"PageSize"}, + "NextToken":{"shape":"TokenString"} + } + }, + "ListTransactionsResponse":{ + "type":"structure", + "members":{ + "Transactions":{"shape":"TransactionDescriptionList"}, + "NextToken":{"shape":"TokenString"} + } + }, "MessageString":{"type":"string"}, "NameString":{ "type":"string", @@ -926,6 +1619,10 @@ "type":"boolean", "box":true }, + "NumberOfBytes":{"type":"long"}, + "NumberOfItems":{"type":"long"}, + "NumberOfMilliseconds":{"type":"long"}, + "ObjectSize":{"type":"long"}, "OperationTimeoutException":{ "type":"structure", "members":{ @@ -933,12 +1630,41 @@ }, "exception":true }, + "OptimizerType":{ + "type":"string", + "enum":[ + "COMPACTION", + "GARBAGE_COLLECTION", + "ALL" + ] + }, "PageSize":{ "type":"integer", "box":true, "max":1000, "min":1 }, + "PartitionObjects":{ + "type":"structure", + "members":{ + "PartitionValues":{"shape":"PartitionValuesList"}, + "Objects":{"shape":"TableObjectList"} + } + }, + "PartitionValueString":{ + "type":"string", + "max":1024 + }, + "PartitionValuesList":{ + "type":"list", + "member":{"shape":"PartitionValueString"}, + "max":100, + "min":1 + }, + "PartitionedTableObjectsList":{ + "type":"list", + "member":{"shape":"PartitionObjects"} + }, "Permission":{ "type":"string", "enum":[ @@ -963,6 +1689,21 @@ "type":"list", "member":{"shape":"Permission"} }, + "PlanningStatistics":{ + "type":"structure", + "members":{ + "EstimatedDataToScanBytes":{"shape":"NumberOfBytes"}, + "PlanningTimeMillis":{"shape":"NumberOfMilliseconds"}, + "QueueTimeMillis":{"shape":"NumberOfMilliseconds"}, + "WorkUnitsGeneratedCount":{"shape":"NumberOfItems"} + } + }, + "PredicateString":{ + "type":"string", + "max":2048, + "min":0, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, "PrincipalPermissions":{ "type":"structure", "members":{ @@ -1001,6 +1742,38 @@ "members":{ } }, + "QueryIdString":{"type":"string"}, + "QueryParameterMap":{ + "type":"map", + "key":{"shape":"String"}, + "value":{"shape":"String"} + }, + "QueryPlanningContext":{ + "type":"structure", + "required":["DatabaseName"], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"QueryPlanningContextDatabaseNameString"}, + "QueryAsOfTime":{"shape":"Timestamp"}, + "QueryParameters":{"shape":"QueryParameterMap"}, + "TransactionId":{"shape":"TransactionIdString"} + } + }, + "QueryPlanningContextDatabaseNameString":{ + "type":"string", + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, + "QueryStateString":{ + "type":"string", + "enum":[ + "PENDING", + "WORKUNITS_AVAILABLE", + "ERROR", + "FINISHED", + "EXPIRED" + ] + }, "RAMResourceShareArn":{"type":"string"}, "RegisterResourceRequest":{ "type":"structure", @@ -1042,6 +1815,7 @@ "Table":{"shape":"TableResource"}, "TableWithColumns":{"shape":"TableWithColumnsResource"}, "DataLocation":{"shape":"DataLocationResource"}, + "DataCellsFilter":{"shape":"DataCellsFilterResource"}, "LFTag":{"shape":"LFTagKeyResource"}, "LFTagPolicy":{"shape":"LFTagPolicyResource"} } @@ -1059,6 +1833,14 @@ "type":"list", "member":{"shape":"ResourceInfo"} }, + "ResourceNotReadyException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, "ResourceNumberLimitExceededException":{ "type":"structure", "members":{ @@ -1084,6 +1866,11 @@ "TABLE" ] }, + "Result":{"type":"string"}, + "ResultStream":{ + "type":"blob", + "streaming":true + }, "RevokePermissionsRequest":{ "type":"structure", "required":[ @@ -1104,6 +1891,13 @@ "members":{ } }, + "RowFilter":{ + "type":"structure", + "members":{ + "FilterExpression":{"shape":"PredicateString"}, + "AllRowsWildcard":{"shape":"AllRowsWildcard"} + } + }, "SearchDatabasesByLFTagsRequest":{ "type":"structure", "required":["Expression"], @@ -1138,15 +1932,105 @@ "TableList":{"shape":"TableLFTagsList"} } }, + "StartQueryPlanningRequest":{ + "type":"structure", + "required":[ + "QueryPlanningContext", + "QueryString" + ], + "members":{ + "QueryPlanningContext":{"shape":"QueryPlanningContext"}, + "QueryString":{"shape":"SyntheticStartQueryPlanningRequestQueryString"} + } + }, + "StartQueryPlanningResponse":{ + "type":"structure", + "required":["QueryId"], + "members":{ + "QueryId":{"shape":"QueryIdString"} + } + }, + "StartTransactionRequest":{ + "type":"structure", + "members":{ + "TransactionType":{"shape":"TransactionType"} + } + }, + "StartTransactionResponse":{ + "type":"structure", + "members":{ + "TransactionId":{"shape":"TransactionIdString"} + } + }, + "StatisticsNotReadyYetException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "error":{ + "httpStatusCode":420, + "senderFault":true + }, + "exception":true + }, + "StorageOptimizer":{ + "type":"structure", + "members":{ + "StorageOptimizerType":{"shape":"OptimizerType"}, + "Config":{"shape":"StorageOptimizerConfig"}, + "ErrorMessage":{"shape":"MessageString"}, + "Warnings":{"shape":"MessageString"}, + "LastRunDetails":{"shape":"MessageString"} + } + }, + "StorageOptimizerConfig":{ + "type":"map", + "key":{"shape":"StorageOptimizerConfigKey"}, + "value":{"shape":"StorageOptimizerConfigValue"} + }, + "StorageOptimizerConfigKey":{"type":"string"}, + "StorageOptimizerConfigMap":{ + "type":"map", + "key":{"shape":"OptimizerType"}, + "value":{"shape":"StorageOptimizerConfig"} + }, + "StorageOptimizerConfigValue":{"type":"string"}, + "StorageOptimizerList":{ + "type":"list", + "member":{"shape":"StorageOptimizer"} + }, + "String":{"type":"string"}, "StringValue":{"type":"string"}, "StringValueList":{ "type":"list", "member":{"shape":"StringValue"} }, + "SyntheticGetWorkUnitResultsRequestWorkUnitTokenString":{ + "type":"string", + "min":1, + "sensitive":true + }, + "SyntheticStartQueryPlanningRequestQueryString":{ + "type":"string", + "min":1, + "sensitive":true + }, "TableLFTagsList":{ "type":"list", "member":{"shape":"TaggedTable"} }, + "TableObject":{ + "type":"structure", + "members":{ + "Uri":{"shape":"URI"}, + "ETag":{"shape":"ETagString"}, + "Size":{"shape":"ObjectSize"} + } + }, + "TableObjectList":{ + "type":"list", + "member":{"shape":"TableObject"} + }, "TableResource":{ "type":"structure", "required":["DatabaseName"], @@ -1198,11 +2082,109 @@ "LFTagsOnColumns":{"shape":"ColumnLFTagsList"} } }, + "ThrottledException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true, + "retryable":{"throttling":true} + }, + "Timestamp":{"type":"timestamp"}, "Token":{"type":"string"}, + "TokenString":{ + "type":"string", + "max":4096 + }, + "TransactionCanceledException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "TransactionCommitInProgressException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "TransactionCommittedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "error":{"httpStatusCode":400}, + "exception":true + }, + "TransactionDescription":{ + "type":"structure", + "members":{ + "TransactionId":{"shape":"TransactionIdString"}, + "TransactionStatus":{"shape":"TransactionStatus"}, + "TransactionStartTime":{"shape":"Timestamp"}, + "TransactionEndTime":{"shape":"Timestamp"} + } + }, + "TransactionDescriptionList":{ + "type":"list", + "member":{"shape":"TransactionDescription"} + }, + "TransactionIdString":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\p{L}\\p{N}\\p{P}]*" + }, + "TransactionStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "COMMITTED", + "ABORTED", + "COMMIT_IN_PROGRESS" + ] + }, + "TransactionStatusFilter":{ + "type":"string", + "enum":[ + "ALL", + "COMPLETED", + "ACTIVE", + "COMMITTED", + "ABORTED" + ] + }, + "TransactionType":{ + "type":"string", + "enum":[ + "READ_AND_WRITE", + "READ_ONLY" + ] + }, + "TrueFalseString":{ + "type":"string", + "max":5, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*" + }, "TrustedResourceOwners":{ "type":"list", "member":{"shape":"CatalogIdString"} }, + "URI":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" + }, "UpdateLFTagRequest":{ "type":"structure", "required":["TagKey"], @@ -1233,6 +2215,104 @@ "type":"structure", "members":{ } + }, + "UpdateTableObjectsRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "TransactionId", + "WriteOperations" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "TransactionId":{"shape":"TransactionIdString"}, + "WriteOperations":{"shape":"WriteOperationList"} + } + }, + "UpdateTableObjectsResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateTableStorageOptimizerRequest":{ + "type":"structure", + "required":[ + "DatabaseName", + "TableName", + "StorageOptimizerConfig" + ], + "members":{ + "CatalogId":{"shape":"CatalogIdString"}, + "DatabaseName":{"shape":"NameString"}, + "TableName":{"shape":"NameString"}, + "StorageOptimizerConfig":{"shape":"StorageOptimizerConfigMap"} + } + }, + "UpdateTableStorageOptimizerResponse":{ + "type":"structure", + "members":{ + "Result":{"shape":"Result"} + } + }, + "VirtualObject":{ + "type":"structure", + "required":["Uri"], + "members":{ + "Uri":{"shape":"URI"}, + "ETag":{"shape":"ETagString"} + } + }, + "VirtualObjectList":{ + "type":"list", + "member":{"shape":"VirtualObject"}, + "max":100, + "min":1 + }, + "WorkUnitIdLong":{"type":"long"}, + "WorkUnitRange":{ + "type":"structure", + "required":[ + "WorkUnitIdMax", + "WorkUnitIdMin", + "WorkUnitToken" + ], + "members":{ + "WorkUnitIdMax":{"shape":"WorkUnitIdLong"}, + "WorkUnitIdMin":{"shape":"WorkUnitIdLong"}, + "WorkUnitToken":{"shape":"WorkUnitTokenString"} + } + }, + "WorkUnitRangeList":{ + "type":"list", + "member":{"shape":"WorkUnitRange"} + }, + "WorkUnitTokenString":{"type":"string"}, + "WorkUnitsNotReadyYetException":{ + "type":"structure", + "members":{ + "Message":{"shape":"MessageString"} + }, + "error":{ + "httpStatusCode":420, + "senderFault":true + }, + "exception":true + }, + "WriteOperation":{ + "type":"structure", + "members":{ + "AddObject":{"shape":"AddObjectInput"}, + "DeleteObject":{"shape":"DeleteObjectInput"} + } + }, + "WriteOperationList":{ + "type":"list", + "member":{"shape":"WriteOperation"}, + "max":100, + "min":1 } } } diff --git a/models/apis/lakeformation/2017-03-31/docs-2.json b/models/apis/lakeformation/2017-03-31/docs-2.json index 27215ad89dc..e71b7e717f1 100644 --- a/models/apis/lakeformation/2017-03-31/docs-2.json +++ b/models/apis/lakeformation/2017-03-31/docs-2.json @@ -1,30 +1,49 @@ { "version": "2.0", - "service": "AWS Lake Formation

Defines the public endpoint for the AWS Lake Formation service.

", + "service": "Lake Formation

Defines the public endpoint for the Lake Formation service.

", "operations": { - "AddLFTagsToResource": "

Attaches one or more tags to an existing resource.

", + "AddLFTagsToResource": "

Attaches one or more LF-tags to an existing resource.

", "BatchGrantPermissions": "

Batch operation to grant permissions to the principal.

", "BatchRevokePermissions": "

Batch operation to revoke permissions from the principal.

", - "CreateLFTag": "

Creates a tag with the specified name and values.

", - "DeleteLFTag": "

Deletes the specified tag key name. If the attribute key does not exist or the tag does not exist, then the operation will not do anything. If the attribute key exists, then the operation checks if any resources are tagged with this attribute key, if yes, the API throws a 400 Exception with the message \"Delete not allowed\" as the tag key is still attached with resources. You can consider untagging resources with this tag key.

", + "CancelTransaction": "

Attempts to cancel the specified transaction. Returns an exception if the transaction was previously committed.

", + "CommitTransaction": "

Attempts to commit the specified transaction. Returns an exception if the transaction was previously aborted. This API action is idempotent if called multiple times for the same transaction.

", + "CreateDataCellsFilter": "

Creates a data cell filter to allow one to grant access to certain columns on certain rows.

", + "CreateLFTag": "

Creates an LF-tag with the specified name and values.

", + "DeleteDataCellsFilter": "

Deletes a data cell filter.

", + "DeleteLFTag": "

Deletes the specified LF-tag key name. If the attribute key does not exist or the LF-tag does not exist, then the operation will not do anything. If the attribute key exists, then the operation checks if any resources are tagged with this attribute key, if yes, the API throws a 400 Exception with the message \"Delete not allowed\" as the LF-tag key is still attached with resources. You can consider untagging resources with this LF-tag key.

", + "DeleteObjectsOnCancel": "

For a specific governed table, provides a list of Amazon S3 objects that will be written during the current transaction and that can be automatically deleted if the transaction is canceled. Without this call, no Amazon S3 objects are automatically deleted when a transaction cancels.

The Glue ETL library function write_dynamic_frame.from_catalog() includes an option to automatically call DeleteObjectsOnCancel before writes. For more information, see Rolling Back Amazon S3 Writes.

", "DeregisterResource": "

Deregisters the resource as managed by the Data Catalog.

When you deregister a path, Lake Formation removes the path from the inline policy attached to your service-linked role.

", - "DescribeResource": "

Retrieves the current data access role for the given resource registered in AWS Lake Formation.

", + "DescribeResource": "

Retrieves the current data access role for the given resource registered in Lake Formation.

", + "DescribeTransaction": "

Returns the details of a single transaction.

", + "ExtendTransaction": "

Indicates to the service that the specified transaction is still active and should not be treated as idle and aborted.

Write transactions that remain idle for a long period are automatically aborted unless explicitly extended.

", "GetDataLakeSettings": "

Retrieves the list of the data lake administrators of a Lake Formation-managed data lake.

", "GetEffectivePermissionsForPath": "

Returns the Lake Formation permissions for a specified table or database resource located at a path in Amazon S3. GetEffectivePermissionsForPath will not return databases and tables if the catalog is encrypted.

", - "GetLFTag": "

Returns a tag definition.

", - "GetResourceLFTags": "

Returns the tags applied to a resource.

", + "GetLFTag": "

Returns an LF-tag definition.

", + "GetQueryState": "

Returns the state of a query previously submitted. Clients are expected to poll GetQueryState to monitor the current state of the planning before retrieving the work units. A query state is only visible to the principal that made the initial call to StartQueryPlanning.

", + "GetQueryStatistics": "

Retrieves statistics on the planning and execution of a query.

", + "GetResourceLFTags": "

Returns the LF-tags applied to a resource.

", + "GetTableObjects": "

Returns the set of Amazon S3 objects that make up the specified governed table. A transaction ID or timestamp can be specified for time-travel queries.

", + "GetWorkUnitResults": "

Returns the work units resulting from the query. Work units can be executed in any order and in parallel.

", + "GetWorkUnits": "

Retrieves the work units generated by the StartQueryPlanning operation.

", "GrantPermissions": "

Grants permissions to the principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3.

For information about permissions, see Security and Access Control to Metadata and Data.

", - "ListLFTags": "

Lists tags that the requester has permission to view.

", + "ListDataCellsFilter": "

Lists all the data cell filters on a table.

", + "ListLFTags": "

Lists LF-tags that the requester has permission to view.

", "ListPermissions": "

Returns a list of the principal permissions on the resource, filtered by the permissions of the caller. For example, if you are granted an ALTER permission, you are able to see only the principal permissions for ALTER.

This operation returns only those permissions that have been explicitly granted.

For information about permissions, see Security and Access Control to Metadata and Data.

", "ListResources": "

Lists the resources registered to be managed by the Data Catalog.

", + "ListTableStorageOptimizers": "

Returns the configuration of all storage optimizers associated with a specified table.

", + "ListTransactions": "

Returns metadata about transactions and their status. To prevent the response from growing indefinitely, only uncommitted transactions and those available for time-travel queries are returned.

This operation can help you identify uncommitted transactions or to get information about transactions.

", "PutDataLakeSettings": "

Sets the list of data lake administrators who have admin privileges on all resources managed by Lake Formation. For more information on admin privileges, see Granting Lake Formation Permissions.

This API replaces the current list of data lake admins with the new list being passed. To add an admin, fetch the current list and add the new admin to that list and pass that list in this API.

", - "RegisterResource": "

Registers the resource as managed by the Data Catalog.

To add or update data, Lake Formation needs read/write access to the chosen Amazon S3 path. Choose a role that you know has permission to do this, or choose the AWSServiceRoleForLakeFormationDataAccess service-linked role. When you register the first Amazon S3 path, the service-linked role and a new inline policy are created on your behalf. Lake Formation adds the first path to the inline policy and attaches it to the service-linked role. When you register subsequent paths, Lake Formation adds the path to the existing policy.

The following request registers a new location and gives AWS Lake Formation permission to use the service-linked role to access that location.

ResourceArn = arn:aws:s3:::my-bucket UseServiceLinkedRole = true

If UseServiceLinkedRole is not set to true, you must provide or set the RoleArn:

arn:aws:iam::12345:role/my-data-access-role

", - "RemoveLFTagsFromResource": "

Removes a tag from the resource. Only database, table, or tableWithColumns resource are allowed. To tag columns, use the column inclusion list in tableWithColumns to specify column input.

", + "RegisterResource": "

Registers the resource as managed by the Data Catalog.

To add or update data, Lake Formation needs read/write access to the chosen Amazon S3 path. Choose a role that you know has permission to do this, or choose the AWSServiceRoleForLakeFormationDataAccess service-linked role. When you register the first Amazon S3 path, the service-linked role and a new inline policy are created on your behalf. Lake Formation adds the first path to the inline policy and attaches it to the service-linked role. When you register subsequent paths, Lake Formation adds the path to the existing policy.

The following request registers a new location and gives Lake Formation permission to use the service-linked role to access that location.

ResourceArn = arn:aws:s3:::my-bucket UseServiceLinkedRole = true

If UseServiceLinkedRole is not set to true, you must provide or set the RoleArn:

arn:aws:iam::12345:role/my-data-access-role

", + "RemoveLFTagsFromResource": "

Removes an LF-tag from the resource. Only database, table, or tableWithColumns resource are allowed. To tag columns, use the column inclusion list in tableWithColumns to specify column input.

", "RevokePermissions": "

Revokes permissions to the principal to access metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3.

", "SearchDatabasesByLFTags": "

This operation allows a search on DATABASE resources by TagCondition. This operation is used by admins who want to grant user permissions on certain TagConditions. Before making a grant, the admin can use SearchDatabasesByTags to find all resources where the given TagConditions are valid to verify whether the returned resources can be shared.

", - "SearchTablesByLFTags": "

This operation allows a search on TABLE resources by LFTags. This will be used by admins who want to grant user permissions on certain LFTags. Before making a grant, the admin can use SearchTablesByLFTags to find all resources where the given LFTags are valid to verify whether the returned resources can be shared.

", - "UpdateLFTag": "

Updates the list of possible values for the specified tag key. If the tag does not exist, the operation throws an EntityNotFoundException. The values in the delete key values will be deleted from list of possible values. If any value in the delete key values is attached to a resource, then API errors out with a 400 Exception - \"Update not allowed\". Untag the attribute before deleting the tag key's value.

", - "UpdateResource": "

Updates the data access role used for vending access to the given (registered) resource in AWS Lake Formation.

" + "SearchTablesByLFTags": "

This operation allows a search on TABLE resources by LFTags. This will be used by admins who want to grant user permissions on certain LF-tags. Before making a grant, the admin can use SearchTablesByLFTags to find all resources where the given LFTags are valid to verify whether the returned resources can be shared.

", + "StartQueryPlanning": "

Submits a request to process a query statement.

This operation generates work units that can be retrieved with the GetWorkUnits operation as soon as the query state is WORKUNITS_AVAILABLE or FINISHED.

", + "StartTransaction": "

Starts a new transaction and returns its transaction ID. Transaction IDs are opaque objects that you can use to identify a transaction.

", + "UpdateLFTag": "

Updates the list of possible values for the specified LF-tag key. If the LF-tag does not exist, the operation throws an EntityNotFoundException. The values in the delete key values will be deleted from list of possible values. If any value in the delete key values is attached to a resource, then API errors out with a 400 Exception - \"Update not allowed\". Untag the attribute before deleting the LF-tag key's value.

", + "UpdateResource": "

Updates the data access role used for vending access to the given (registered) resource in Lake Formation.

", + "UpdateTableObjects": "

Updates the manifest of Amazon S3 objects that make up the specified governed table.

", + "UpdateTableStorageOptimizer": "

Updates the configuration of the storage optimizers for a table.

" }, "shapes": { "AccessDeniedException": { @@ -42,6 +61,18 @@ "refs": { } }, + "AddObjectInput": { + "base": "

A new object to add to the governed table.

", + "refs": { + "WriteOperation$AddObject": "

A new object to add to the governed table.

" + } + }, + "AllRowsWildcard": { + "base": "

A structure that you pass to indicate you want all rows in a filter.

", + "refs": { + "RowFilter$AllRowsWildcard": "

A wildcard for all rows.

" + } + }, "AlreadyExistsException": { "base": "

A resource to be created or added already exists.

", "refs": { @@ -97,49 +128,69 @@ "BooleanNullable": { "base": null, "refs": { - "GetResourceLFTagsRequest$ShowAssignedLFTags": "

Indicates whether to show the assigned tags.

" + "GetResourceLFTagsRequest$ShowAssignedLFTags": "

Indicates whether to show the assigned LF-tags.

" + } + }, + "CancelTransactionRequest": { + "base": null, + "refs": { + } + }, + "CancelTransactionResponse": { + "base": null, + "refs": { } }, "CatalogIdString": { "base": null, "refs": { - "AddLFTagsToResourceRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", - "BatchGrantPermissionsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", - "BatchRevokePermissionsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", - "CreateLFTagRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", - "DataLocationResource$CatalogId": "

The identifier for the Data Catalog where the location is registered with AWS Lake Formation. By default, it is the account ID of the caller.

", + "AddLFTagsToResourceRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "BatchGrantPermissionsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "BatchRevokePermissionsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "CreateLFTagRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "DataCellsFilter$TableCatalogId": "

The ID of the catalog to which the table belongs.

", + "DataCellsFilterResource$TableCatalogId": "

The ID of the catalog to which the table belongs.

", + "DataLocationResource$CatalogId": "

The identifier for the Data Catalog where the location is registered with Lake Formation. By default, it is the account ID of the caller.

", "DatabaseResource$CatalogId": "

The identifier for the Data Catalog. By default, it is the account ID of the caller.

", - "DeleteLFTagRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", - "GetDataLakeSettingsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", - "GetEffectivePermissionsForPathRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", - "GetLFTagRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", - "GetLFTagResponse$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", - "GetResourceLFTagsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", - "GrantPermissionsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", - "LFTagKeyResource$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", - "LFTagPair$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", - "LFTagPolicyResource$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", - "ListLFTagsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", - "ListPermissionsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", - "PutDataLakeSettingsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", - "RemoveLFTagsFromResourceRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", - "RevokePermissionsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", - "SearchDatabasesByLFTagsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", - "SearchTablesByLFTagsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

", + "DeleteDataCellsFilterRequest$TableCatalogId": "

The ID of the catalog to which the table belongs.

", + "DeleteLFTagRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "DeleteObjectsOnCancelRequest$CatalogId": "

The Glue data catalog that contains the governed table. Defaults to the current account ID.

", + "GetDataLakeSettingsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "GetEffectivePermissionsForPathRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "GetLFTagRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "GetLFTagResponse$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "GetResourceLFTagsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "GetTableObjectsRequest$CatalogId": "

The catalog containing the governed table. Defaults to the caller’s account.

", + "GrantPermissionsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "LFTagKeyResource$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "LFTagPair$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "LFTagPolicyResource$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "ListLFTagsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "ListPermissionsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "ListTableStorageOptimizersRequest$CatalogId": "

The Catalog ID of the table.

", + "ListTransactionsRequest$CatalogId": "

The catalog for which to list transactions. Defaults to the account ID of the caller.

", + "PutDataLakeSettingsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "QueryPlanningContext$CatalogId": "

The ID of the Data Catalog where the partition in question resides. If none is provided, the Amazon Web Services account ID is used by default.

", + "RemoveLFTagsFromResourceRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "RevokePermissionsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "SearchDatabasesByLFTagsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "SearchTablesByLFTagsRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", "TableResource$CatalogId": "

The identifier for the Data Catalog. By default, it is the account ID of the caller.

", "TableWithColumnsResource$CatalogId": "

The identifier for the Data Catalog. By default, it is the account ID of the caller.

", "TrustedResourceOwners$member": null, - "UpdateLFTagRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

" + "UpdateLFTagRequest$CatalogId": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

", + "UpdateTableObjectsRequest$CatalogId": "

The catalog containing the governed table to update. Defaults to the caller’s account ID.

", + "UpdateTableStorageOptimizerRequest$CatalogId": "

The Catalog ID of the table.

" } }, "CatalogResource": { "base": "

A structure for the catalog object.

", "refs": { - "Resource$Catalog": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your AWS Lake Formation environment.

" + "Resource$Catalog": "

The identifier for the Data Catalog. By default, the account ID. The Data Catalog is the persistent metadata store. It contains database definitions, table definitions, and other control information to manage your Lake Formation environment.

" } }, "ColumnLFTag": { - "base": "

A structure containing the name of a column resource and the tags attached to it.

", + "base": "

A structure containing the name of a column resource and the LF-tags attached to it.

", "refs": { "ColumnLFTagsList$member": null } @@ -147,23 +198,35 @@ "ColumnLFTagsList": { "base": null, "refs": { - "GetResourceLFTagsResponse$LFTagsOnColumns": "

A list of tags applied to a column resource.

", - "TaggedTable$LFTagsOnColumns": "

A list of tags attached to columns in the table.

" + "GetResourceLFTagsResponse$LFTagsOnColumns": "

A list of LF-tags applied to a column resource.

", + "TaggedTable$LFTagsOnColumns": "

A list of LF-tags attached to columns in the table.

" } }, "ColumnNames": { "base": null, "refs": { "ColumnWildcard$ExcludedColumnNames": "

Excludes column names. Any column with this name will be excluded.

", + "DataCellsFilter$ColumnNames": "

A list of column names.

", "TableWithColumnsResource$ColumnNames": "

The list of column names for the table. At least one of ColumnNames or ColumnWildcard is required.

" } }, "ColumnWildcard": { "base": "

A wildcard object, consisting of an optional list of excluded column names or indexes.

", "refs": { + "DataCellsFilter$ColumnWildcard": "

A wildcard with exclusions.

", "TableWithColumnsResource$ColumnWildcard": "

A wildcard specified by a ColumnWildcard object. At least one of ColumnNames or ColumnWildcard is required.

" } }, + "CommitTransactionRequest": { + "base": null, + "refs": { + } + }, + "CommitTransactionResponse": { + "base": null, + "refs": { + } + }, "ComparisonOperator": { "base": null, "refs": { @@ -175,6 +238,16 @@ "refs": { } }, + "CreateDataCellsFilterRequest": { + "base": null, + "refs": { + } + }, + "CreateDataCellsFilterResponse": { + "base": null, + "refs": { + } + }, "CreateLFTagRequest": { "base": null, "refs": { @@ -185,6 +258,25 @@ "refs": { } }, + "DataCellsFilter": { + "base": "

A structure that describes certain columns on certain rows.

", + "refs": { + "CreateDataCellsFilterRequest$TableData": "

A DataCellsFilter structure containing information about the data cells filter.

", + "DataCellsFilterList$member": null + } + }, + "DataCellsFilterList": { + "base": null, + "refs": { + "ListDataCellsFilterResponse$DataCellsFilters": "

A list of DataCellFilter structures.

" + } + }, + "DataCellsFilterResource": { + "base": "

A structure for a data cells filter resource.

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

A data cell filter.

" + } + }, "DataLakePrincipal": { "base": "

The AWS Lake Formation principal. Supported principals are IAM users or IAM roles.

", "refs": { @@ -200,13 +292,13 @@ "DataLakePrincipalList": { "base": null, "refs": { - "DataLakeSettings$DataLakeAdmins": "

A list of AWS Lake Formation principals. Supported principals are IAM users or IAM roles.

" + "DataLakeSettings$DataLakeAdmins": "

A list of Lake Formation principals. Supported principals are IAM users or IAM roles.

" } }, "DataLakePrincipalString": { "base": null, "refs": { - "DataLakePrincipal$DataLakePrincipalIdentifier": "

An identifier for the AWS Lake Formation principal.

" + "DataLakePrincipal$DataLakePrincipalIdentifier": "

An identifier for the Lake Formation principal.

" } }, "DataLakeResourceType": { @@ -216,10 +308,10 @@ } }, "DataLakeSettings": { - "base": "

A structure representing a list of AWS Lake Formation principals designated as data lake administrators and lists of principal permission entries for default create database and default create table permissions.

", + "base": "

A structure representing a list of Lake Formation principals designated as data lake administrators and lists of principal permission entries for default create database and default create table permissions.

", "refs": { - "GetDataLakeSettingsResponse$DataLakeSettings": "

A structure representing a list of AWS Lake Formation principals designated as data lake administrators.

", - "PutDataLakeSettingsRequest$DataLakeSettings": "

A structure representing a list of AWS Lake Formation principals designated as data lake administrators.

" + "GetDataLakeSettingsResponse$DataLakeSettings": "

A structure representing a list of Lake Formation principals designated as data lake administrators.

", + "PutDataLakeSettingsRequest$DataLakeSettings": "

A structure representing a list of Lake Formation principals designated as data lake administrators.

" } }, "DataLocationResource": { @@ -231,14 +323,30 @@ "DatabaseLFTagsList": { "base": null, "refs": { - "SearchDatabasesByLFTagsResponse$DatabaseList": "

A list of databases that meet the tag conditions.

" + "SearchDatabasesByLFTagsResponse$DatabaseList": "

A list of databases that meet the LF-tag conditions.

" } }, "DatabaseResource": { "base": "

A structure for the database object.

", "refs": { "Resource$Database": "

The database for the resource. Unique to the Data Catalog. A database is a set of associated table definitions organized into a logical group. You can Grant and Revoke database permissions to a principal.

", - "TaggedDatabase$Database": "

A database that has tags attached to it.

" + "TaggedDatabase$Database": "

A database that has LF-tags attached to it.

" + } + }, + "DateTime": { + "base": null, + "refs": { + "GetQueryStatisticsResponse$QuerySubmissionTime": "

The time that the query was submitted.

" + } + }, + "DeleteDataCellsFilterRequest": { + "base": null, + "refs": { + } + }, + "DeleteDataCellsFilterResponse": { + "base": null, + "refs": { } }, "DeleteLFTagRequest": { @@ -251,6 +359,22 @@ "refs": { } }, + "DeleteObjectInput": { + "base": "

An object to delete from the governed table.

", + "refs": { + "WriteOperation$DeleteObject": "

An object to delete from the governed table.

" + } + }, + "DeleteObjectsOnCancelRequest": { + "base": null, + "refs": { + } + }, + "DeleteObjectsOnCancelResponse": { + "base": null, + "refs": { + } + }, "DeregisterResourceRequest": { "base": null, "refs": { @@ -271,6 +395,16 @@ "refs": { } }, + "DescribeTransactionRequest": { + "base": null, + "refs": { + } + }, + "DescribeTransactionResponse": { + "base": null, + "refs": { + } + }, "DescriptionString": { "base": null, "refs": { @@ -278,11 +412,20 @@ } }, "DetailsMap": { - "base": "

A structure containing the additional details to be returned in the AdditionalDetails attribute of PrincipalResourcePermissions.

If a catalog resource is shared through AWS Resource Access Manager (AWS RAM), then there will exist a corresponding RAM resource share ARN.

", + "base": "

A structure containing the additional details to be returned in the AdditionalDetails attribute of PrincipalResourcePermissions.

If a catalog resource is shared through Resource Access Manager (RAM), then there will exist a corresponding RAM resource share ARN.

", "refs": { "PrincipalResourcePermissions$AdditionalDetails": "

This attribute can be used to return any additional details of PrincipalResourcePermissions. Currently returns only as a RAM resource share ARN.

" } }, + "ETagString": { + "base": null, + "refs": { + "AddObjectInput$ETag": "

The Amazon S3 ETag of the object. Returned by GetTableObjects for validation and used to identify changes to the underlying data.

", + "DeleteObjectInput$ETag": "

The Amazon S3 ETag of the object. Returned by GetTableObjects for validation and used to identify changes to the underlying data.

", + "TableObject$ETag": "

The Amazon S3 ETag of the object. Returned by GetTableObjects for validation and used to identify changes to the underlying data.

", + "VirtualObject$ETag": "

The ETag of the Amazon S3 object.

" + } + }, "EntityNotFoundException": { "base": "

A specified entity does not exist

", "refs": { @@ -292,17 +435,44 @@ "base": "

Contains details about an error.

", "refs": { "BatchPermissionsFailureEntry$Error": "

An error message that applies to the failure of the entry.

", - "LFTagError$Error": "

An error that occurred with the attachment or detachment of the tag.

" + "LFTagError$Error": "

An error that occurred with the attachment or detachment of the LF-tag.

" + } + }, + "ErrorMessageString": { + "base": null, + "refs": { + "GetQueryStateResponse$Error": "

An error message when the operation fails.

" + } + }, + "ExecutionStatistics": { + "base": "

Statistics related to the processing of a query statement.

", + "refs": { + "GetQueryStatisticsResponse$ExecutionStatistics": "

An ExecutionStatistics structure containing execution statistics.

" + } + }, + "ExpiredException": { + "base": "

Contains details about an error where the query request expired.

", + "refs": { } }, "Expression": { "base": null, "refs": { - "LFTagPolicyResource$Expression": "

A list of tag conditions that apply to the resource's tag policy.

", + "LFTagPolicyResource$Expression": "

A list of LF-tag conditions that apply to the resource's LF-tag policy.

", "SearchDatabasesByLFTagsRequest$Expression": "

A list of conditions (LFTag structures) to search for in database resources.

", "SearchTablesByLFTagsRequest$Expression": "

A list of conditions (LFTag structures) to search for in table resources.

" } }, + "ExtendTransactionRequest": { + "base": null, + "refs": { + } + }, + "ExtendTransactionResponse": { + "base": null, + "refs": { + } + }, "FieldNameString": { "base": null, "refs": { @@ -351,6 +521,38 @@ "refs": { } }, + "GetQueryStateRequest": { + "base": null, + "refs": { + } + }, + "GetQueryStateRequestQueryIdString": { + "base": null, + "refs": { + "GetQueryStateRequest$QueryId": "

The ID of the plan query operation.

" + } + }, + "GetQueryStateResponse": { + "base": "

A structure for the output.

", + "refs": { + } + }, + "GetQueryStatisticsRequest": { + "base": null, + "refs": { + } + }, + "GetQueryStatisticsRequestQueryIdString": { + "base": null, + "refs": { + "GetQueryStatisticsRequest$QueryId": "

The ID of the plan query operation.

" + } + }, + "GetQueryStatisticsResponse": { + "base": null, + "refs": { + } + }, "GetResourceLFTagsRequest": { "base": null, "refs": { @@ -361,6 +563,54 @@ "refs": { } }, + "GetTableObjectsRequest": { + "base": null, + "refs": { + } + }, + "GetTableObjectsResponse": { + "base": null, + "refs": { + } + }, + "GetWorkUnitResultsRequest": { + "base": null, + "refs": { + } + }, + "GetWorkUnitResultsRequestQueryIdString": { + "base": null, + "refs": { + "GetWorkUnitResultsRequest$QueryId": "

The ID of the plan query operation for which to get results.

" + } + }, + "GetWorkUnitResultsRequestWorkUnitIdLong": { + "base": null, + "refs": { + "GetWorkUnitResultsRequest$WorkUnitId": "

The work unit ID for which to get results. Value generated by enumerating WorkUnitIdMin to WorkUnitIdMax (inclusive) from the WorkUnitRange in the output of GetWorkUnits.

" + } + }, + "GetWorkUnitResultsResponse": { + "base": "

A structure for the output.

", + "refs": { + } + }, + "GetWorkUnitsRequest": { + "base": null, + "refs": { + } + }, + "GetWorkUnitsRequestQueryIdString": { + "base": null, + "refs": { + "GetWorkUnitsRequest$QueryId": "

The ID of the plan query operation.

" + } + }, + "GetWorkUnitsResponse": { + "base": "

A structure for the output.

", + "refs": { + } + }, "GlueEncryptionException": { "base": "

An encryption operation failed.

", "refs": { @@ -381,7 +631,7 @@ "refs": { "RegisterResourceRequest$RoleArn": "

The identifier for the role that registers the resource.

", "ResourceInfo$RoleArn": "

The IAM role that registered a resource.

", - "UpdateResourceRequest$RoleArn": "

The new role to use for the given resource registered in AWS Lake Formation.

" + "UpdateResourceRequest$RoleArn": "

The new role to use for the given resource registered in Lake Formation.

" } }, "Identifier": { @@ -390,6 +640,12 @@ "BatchPermissionsRequestEntry$Id": "

A unique identifier for the batch permissions request entry.

" } }, + "Integer": { + "base": null, + "refs": { + "GetWorkUnitsRequest$PageSize": "

The size of each page to get in the Amazon Web Services service call. This does not affect the number of items returned in the command's output. Setting a smaller page size results in more calls to the Amazon Web Services service, retrieving fewer items in each call. This can help prevent the Amazon Web Services service calls from timing out.

" + } + }, "InternalServiceException": { "base": "

An internal service error occurred.

", "refs": { @@ -401,7 +657,7 @@ } }, "LFTag": { - "base": "

A structure that allows an admin to grant user permissions on certain conditions. For example, granting a role access to all columns not tagged 'PII' of tables tagged 'Prod'.

", + "base": "

A structure that allows an admin to grant user permissions on certain conditions. For example, granting a role access to all columns that do not have the LF-tag 'PII' in tables that have the LF-tag 'Prod'.

", "refs": { "Expression$member": null } @@ -422,32 +678,32 @@ "LFTagKey": { "base": null, "refs": { - "CreateLFTagRequest$TagKey": "

The key-name for the tag.

", - "DeleteLFTagRequest$TagKey": "

The key-name for the tag to delete.

", - "GetLFTagRequest$TagKey": "

The key-name for the tag.

", - "GetLFTagResponse$TagKey": "

The key-name for the tag.

", - "LFTag$TagKey": "

The key-name for the tag.

", - "LFTagPair$TagKey": "

The key-name for the tag.

", - "UpdateLFTagRequest$TagKey": "

The key-name for the tag for which to add or delete values.

" + "CreateLFTagRequest$TagKey": "

The key-name for the LF-tag.

", + "DeleteLFTagRequest$TagKey": "

The key-name for the LF-tag to delete.

", + "GetLFTagRequest$TagKey": "

The key-name for the LF-tag.

", + "GetLFTagResponse$TagKey": "

The key-name for the LF-tag.

", + "LFTag$TagKey": "

The key-name for the LF-tag.

", + "LFTagPair$TagKey": "

The key-name for the LF-tag.

", + "UpdateLFTagRequest$TagKey": "

The key-name for the LF-tag for which to add or delete values.

" } }, "LFTagKeyResource": { - "base": "

A structure containing a tag key and values for a resource.

", + "base": "

A structure containing an LF-tag key and values for a resource.

", "refs": { - "Resource$LFTag": "

The tag key and values attached to a resource.

" + "Resource$LFTag": "

The LF-tag key and values attached to a resource.

" } }, "LFTagPair": { - "base": "

A structure containing a tag key-value pair.

", + "base": "

A structure containing an LF-tag key-value pair.

", "refs": { - "LFTagError$LFTag": "

The key-name of the tag.

", + "LFTagError$LFTag": "

The key-name of the LF-tag.

", "LFTagsList$member": null } }, "LFTagPolicyResource": { - "base": "

A structure containing a list of tag conditions that apply to a resource's tag policy.

", + "base": "

A structure containing a list of LF-tag conditions that apply to a resource's LF-tag policy.

", "refs": { - "Resource$LFTagPolicy": "

A list of tag conditions that define a resource's tag policy.

" + "Resource$LFTagPolicy": "

A list of LF-tag conditions that define a resource's LF-tag policy.

" } }, "LFTagValue": { @@ -459,15 +715,15 @@ "LFTagsList": { "base": null, "refs": { - "AddLFTagsToResourceRequest$LFTags": "

The tags to attach to the resource.

", - "ColumnLFTag$LFTags": "

The tags attached to a column resource.

", - "GetResourceLFTagsResponse$LFTagOnDatabase": "

A list of tags applied to a database resource.

", - "GetResourceLFTagsResponse$LFTagsOnTable": "

A list of tags applied to a table resource.

", - "ListLFTagsResponse$LFTags": "

A list of tags that the requested has permission to view.

", - "RemoveLFTagsFromResourceRequest$LFTags": "

The tags to be removed from the resource.

", - "TaggedDatabase$LFTags": "

A list of tags attached to the database.

", - "TaggedTable$LFTagOnDatabase": "

A list of tags attached to the database where the table resides.

", - "TaggedTable$LFTagsOnTable": "

A list of tags attached to the table.

" + "AddLFTagsToResourceRequest$LFTags": "

The LF-tags to attach to the resource.

", + "ColumnLFTag$LFTags": "

The LF-tags attached to a column resource.

", + "GetResourceLFTagsResponse$LFTagOnDatabase": "

A list of LF-tags applied to a database resource.

", + "GetResourceLFTagsResponse$LFTagsOnTable": "

A list of LF-tags applied to a table resource.

", + "ListLFTagsResponse$LFTags": "

A list of LF-tags that the requested has permission to view.

", + "RemoveLFTagsFromResourceRequest$LFTags": "

The LF-tags to be removed from the resource.

", + "TaggedDatabase$LFTags": "

A list of LF-tags attached to the database.

", + "TaggedTable$LFTagOnDatabase": "

A list of LF-tags attached to the database where the table resides.

", + "TaggedTable$LFTagsOnTable": "

A list of LF-tags attached to the table.

" } }, "LastModifiedTimestamp": { @@ -476,6 +732,16 @@ "ResourceInfo$LastModified": "

The date and time the resource was last modified.

" } }, + "ListDataCellsFilterRequest": { + "base": null, + "refs": { + } + }, + "ListDataCellsFilterResponse": { + "base": null, + "refs": { + } + }, "ListLFTagsRequest": { "base": null, "refs": { @@ -506,6 +772,26 @@ "refs": { } }, + "ListTableStorageOptimizersRequest": { + "base": null, + "refs": { + } + }, + "ListTableStorageOptimizersResponse": { + "base": null, + "refs": { + } + }, + "ListTransactionsRequest": { + "base": null, + "refs": { + } + }, + "ListTransactionsResponse": { + "base": null, + "refs": { + } + }, "MessageString": { "base": null, "refs": { @@ -513,11 +799,22 @@ "AlreadyExistsException$Message": "

A message describing the problem.

", "ConcurrentModificationException$Message": "

A message describing the problem.

", "EntityNotFoundException$Message": "

A message describing the problem.

", + "ExpiredException$Message": "

A message describing the error.

", "GlueEncryptionException$Message": "

A message describing the problem.

", "InternalServiceException$Message": "

A message describing the problem.

", "InvalidInputException$Message": "

A message describing the problem.

", "OperationTimeoutException$Message": "

A message describing the problem.

", - "ResourceNumberLimitExceededException$Message": "

A message describing the problem.

" + "ResourceNotReadyException$Message": "

A message describing the error.

", + "ResourceNumberLimitExceededException$Message": "

A message describing the problem.

", + "StatisticsNotReadyYetException$Message": "

A message describing the error.

", + "StorageOptimizer$ErrorMessage": "

A message that contains information about any error (if present).

When an acceleration result has an enabled status, the error message is empty.

When an acceleration result has a disabled status, the message describes an error or simply indicates \"disabled by the user\".

", + "StorageOptimizer$Warnings": "

A message that contains information about any warnings (if present).

", + "StorageOptimizer$LastRunDetails": "

When an acceleration result has an enabled status, contains the details of the last job run.

", + "ThrottledException$Message": "

A message describing the error.

", + "TransactionCanceledException$Message": "

A message describing the error.

", + "TransactionCommitInProgressException$Message": "

A message describing the error.

", + "TransactionCommittedException$Message": "

A message describing the error.

", + "WorkUnitsNotReadyYetException$Message": "

A message describing the error.

" } }, "NameString": { @@ -525,19 +822,67 @@ "refs": { "ColumnLFTag$Name": "

The name of a column resource.

", "ColumnNames$member": null, + "DataCellsFilter$DatabaseName": "

A database in the Glue Data Catalog.

", + "DataCellsFilter$TableName": "

A table in the database.

", + "DataCellsFilter$Name": "

The name given by the user to the data filter cell.

", + "DataCellsFilterResource$DatabaseName": "

A database in the Glue Data Catalog.

", + "DataCellsFilterResource$TableName": "

The name of the table.

", + "DataCellsFilterResource$Name": "

The name of the data cells filter.

", "DatabaseResource$Name": "

The name of the database resource. Unique to the Data Catalog.

", + "DeleteDataCellsFilterRequest$DatabaseName": "

A database in the Glue Data Catalog.

", + "DeleteDataCellsFilterRequest$TableName": "

A table in the database.

", + "DeleteDataCellsFilterRequest$Name": "

The name given by the user to the data filter cell.

", + "DeleteObjectsOnCancelRequest$DatabaseName": "

The database that contains the governed table.

", + "DeleteObjectsOnCancelRequest$TableName": "

The name of the governed table.

", "ErrorDetail$ErrorCode": "

The code associated with this error.

", - "LFTagKeyResource$TagKey": "

The key-name for the tag.

", + "GetTableObjectsRequest$DatabaseName": "

The database containing the governed table.

", + "GetTableObjectsRequest$TableName": "

The governed table for which to retrieve objects.

", + "LFTagKeyResource$TagKey": "

The key-name for the LF-tag.

", + "ListTableStorageOptimizersRequest$DatabaseName": "

Name of the database where the table is present.

", + "ListTableStorageOptimizersRequest$TableName": "

Name of the table.

", "TableResource$DatabaseName": "

The name of the database for the table. Unique to a Data Catalog. A database is a set of associated table definitions organized into a logical group. You can Grant and Revoke database privileges to a principal.

", "TableResource$Name": "

The name of the table.

", "TableWithColumnsResource$DatabaseName": "

The name of the database for the table with columns resource. Unique to the Data Catalog. A database is a set of associated table definitions organized into a logical group. You can Grant and Revoke database privileges to a principal.

", - "TableWithColumnsResource$Name": "

The name of the table resource. A table is a metadata definition that represents your data. You can Grant and Revoke table privileges to a principal.

" + "TableWithColumnsResource$Name": "

The name of the table resource. A table is a metadata definition that represents your data. You can Grant and Revoke table privileges to a principal.

", + "UpdateTableObjectsRequest$DatabaseName": "

The database containing the governed table to update.

", + "UpdateTableObjectsRequest$TableName": "

The governed table to update.

", + "UpdateTableStorageOptimizerRequest$DatabaseName": "

Name of the database where the table is present.

", + "UpdateTableStorageOptimizerRequest$TableName": "

Name of the table for which to enable the storage optimizer.

" } }, "NullableBoolean": { "base": null, "refs": { - "RegisterResourceRequest$UseServiceLinkedRole": "

Designates an AWS Identity and Access Management (IAM) service-linked role by registering this role with the Data Catalog. A service-linked role is a unique type of IAM role that is linked directly to Lake Formation.

For more information, see Using Service-Linked Roles for Lake Formation.

" + "RegisterResourceRequest$UseServiceLinkedRole": "

Designates an Identity and Access Management (IAM) service-linked role by registering this role with the Data Catalog. A service-linked role is a unique type of IAM role that is linked directly to Lake Formation.

For more information, see Using Service-Linked Roles for Lake Formation.

" + } + }, + "NumberOfBytes": { + "base": null, + "refs": { + "ExecutionStatistics$DataScannedBytes": "

The amount of data that was scanned in bytes.

", + "PlanningStatistics$EstimatedDataToScanBytes": "

An estimate of the data that was scanned in bytes.

" + } + }, + "NumberOfItems": { + "base": null, + "refs": { + "ExecutionStatistics$WorkUnitsExecutedCount": "

The number of work units executed.

", + "PlanningStatistics$WorkUnitsGeneratedCount": "

The number of work units generated.

" + } + }, + "NumberOfMilliseconds": { + "base": null, + "refs": { + "ExecutionStatistics$AverageExecutionTimeMillis": "

The average time the request took to be executed.

", + "PlanningStatistics$PlanningTimeMillis": "

The time that it took to process the request.

", + "PlanningStatistics$QueueTimeMillis": "

The time the request was in queue to be processed.

" + } + }, + "ObjectSize": { + "base": null, + "refs": { + "AddObjectInput$Size": "

The size of the Amazon S3 object in bytes.

", + "TableObject$Size": "

The size of the Amazon S3 object in bytes.

" } }, "OperationTimeoutException": { @@ -545,17 +890,55 @@ "refs": { } }, + "OptimizerType": { + "base": null, + "refs": { + "ListTableStorageOptimizersRequest$StorageOptimizerType": "

The specific type of storage optimizers to list. The supported value is compaction.

", + "StorageOptimizer$StorageOptimizerType": "

The specific type of storage optimizer. The supported value is compaction.

", + "StorageOptimizerConfigMap$key": null + } + }, "PageSize": { "base": null, "refs": { "GetEffectivePermissionsForPathRequest$MaxResults": "

The maximum number of results to return.

", + "GetTableObjectsRequest$MaxResults": "

Specifies how many values to return in a page.

", + "ListDataCellsFilterRequest$MaxResults": "

The maximum size of the response.

", "ListLFTagsRequest$MaxResults": "

The maximum number of results to return.

", "ListPermissionsRequest$MaxResults": "

The maximum number of results to return.

", "ListResourcesRequest$MaxResults": "

The maximum number of resource results.

", + "ListTableStorageOptimizersRequest$MaxResults": "

The number of storage optimizers to return on each call.

", + "ListTransactionsRequest$MaxResults": "

The maximum number of transactions to return in a single call.

", "SearchDatabasesByLFTagsRequest$MaxResults": "

The maximum number of results to return.

", "SearchTablesByLFTagsRequest$MaxResults": "

The maximum number of results to return.

" } }, + "PartitionObjects": { + "base": "

A structure containing a list of partition values and table objects.

", + "refs": { + "PartitionedTableObjectsList$member": null + } + }, + "PartitionValueString": { + "base": null, + "refs": { + "PartitionValuesList$member": null + } + }, + "PartitionValuesList": { + "base": null, + "refs": { + "AddObjectInput$PartitionValues": "

A list of partition values for the object. A value must be specified for each partition key associated with the table.

The supported data types are integer, long, date(yyyy-MM-dd), timestamp(yyyy-MM-dd HH:mm:ssXXX or yyyy-MM-dd HH:mm:ss\"), string and decimal.

", + "DeleteObjectInput$PartitionValues": "

A list of partition values for the object. A value must be specified for each partition key associated with the governed table.

", + "PartitionObjects$PartitionValues": "

A list of partition values.

" + } + }, + "PartitionedTableObjectsList": { + "base": null, + "refs": { + "GetTableObjectsResponse$Objects": "

A list of objects organized by partition keys.

" + } + }, "Permission": { "base": null, "refs": { @@ -567,7 +950,7 @@ "refs": { "BatchPermissionsRequestEntry$Permissions": "

The permissions to be granted.

", "BatchPermissionsRequestEntry$PermissionsWithGrantOption": "

Indicates if the option to pass permissions is granted.

", - "GrantPermissionsRequest$Permissions": "

The permissions granted to the principal on the resource. AWS Lake Formation defines privileges to grant and revoke access to metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. AWS Lake Formation requires that each principal be authorized to perform a specific task on AWS Lake Formation resources.

", + "GrantPermissionsRequest$Permissions": "

The permissions granted to the principal on the resource. Lake Formation defines privileges to grant and revoke access to metadata in the Data Catalog and data organized in underlying data storage such as Amazon S3. Lake Formation requires that each principal be authorized to perform a specific task on Lake Formation resources.

", "GrantPermissionsRequest$PermissionsWithGrantOption": "

Indicates a list of the granted permissions that the principal may pass to other users. These permissions may only be a subset of the permissions granted in the Privileges.

", "PrincipalPermissions$Permissions": "

The permissions that are granted to the principal.

", "PrincipalResourcePermissions$Permissions": "

The permissions to be granted or revoked on the resource.

", @@ -576,6 +959,19 @@ "RevokePermissionsRequest$PermissionsWithGrantOption": "

Indicates a list of permissions for which to revoke the grant option allowing the principal to pass permissions to other principals.

" } }, + "PlanningStatistics": { + "base": "

Statistics related to the processing of a query statement.

", + "refs": { + "GetQueryStatisticsResponse$PlanningStatistics": "

A PlanningStatistics structure containing query planning statistics.

" + } + }, + "PredicateString": { + "base": null, + "refs": { + "GetTableObjectsRequest$PartitionPredicate": "

A predicate to filter the objects returned based on the partition keys defined in the governed table.

", + "RowFilter$FilterExpression": "

A filter expression.

" + } + }, "PrincipalPermissions": { "base": "

Permissions granted to a principal.

", "refs": { @@ -585,8 +981,8 @@ "PrincipalPermissionsList": { "base": null, "refs": { - "DataLakeSettings$CreateDatabaseDefaultPermissions": "

A structure representing a list of up to three principal permissions entries for default create database permissions.

", - "DataLakeSettings$CreateTableDefaultPermissions": "

A structure representing a list of up to three principal permissions entries for default create table permissions.

" + "DataLakeSettings$CreateDatabaseDefaultPermissions": "

Specifies whether access control on newly created database is managed by Lake Formation permissions or exclusively by IAM permissions. You can override this default setting when you create a database.

A null value indicates access control by Lake Formation permissions. A value that assigns ALL to IAM_ALLOWED_PRINCIPALS indicates access control by IAM permissions. This is referred to as the setting \"Use only IAM access control,\" and is for backward compatibility with the Glue permission model implemented by IAM permissions.

The only permitted values are an empty array or an array that contains a single JSON object that grants ALL to IAM_ALLOWED_PRINCIPALS.

For more information, see Changing the Default Security Settings for Your Data Lake.

", + "DataLakeSettings$CreateTableDefaultPermissions": "

Specifies whether access control on newly created table is managed by Lake Formation permissions or exclusively by IAM permissions.

A null value indicates access control by Lake Formation permissions. A value that assigns ALL to IAM_ALLOWED_PRINCIPALS indicates access control by IAM permissions. This is referred to as the setting \"Use only IAM access control,\" and is for backward compatibility with the Glue permission model implemented by IAM permissions.

The only permitted values are an empty array or an array that contains a single JSON object that grants ALL to IAM_ALLOWED_PRINCIPALS.

For more information, see Changing the Default Security Settings for Your Data Lake.

" } }, "PrincipalResourcePermissions": { @@ -612,6 +1008,37 @@ "refs": { } }, + "QueryIdString": { + "base": null, + "refs": { + "GetWorkUnitsResponse$QueryId": "

The ID of the plan query operation.

", + "StartQueryPlanningResponse$QueryId": "

The ID of the plan query operation can be used to fetch the actual work unit descriptors that are produced as the result of the operation. The ID is also used to get the query state and as an input to the Execute operation.

" + } + }, + "QueryParameterMap": { + "base": null, + "refs": { + "QueryPlanningContext$QueryParameters": "

A map consisting of key-value pairs.

" + } + }, + "QueryPlanningContext": { + "base": "

A structure containing information about the query plan.

", + "refs": { + "StartQueryPlanningRequest$QueryPlanningContext": "

A structure containing information about the query plan.

" + } + }, + "QueryPlanningContextDatabaseNameString": { + "base": null, + "refs": { + "QueryPlanningContext$DatabaseName": "

The database containing the table.

" + } + }, + "QueryStateString": { + "base": null, + "refs": { + "GetQueryStateResponse$State": "

The state of a query previously submitted. The possible states are:

" + } + }, "RAMResourceShareArn": { "base": null, "refs": { @@ -641,13 +1068,13 @@ "Resource": { "base": "

A structure for the resource.

", "refs": { - "AddLFTagsToResourceRequest$Resource": "

The resource to which to attach a tag.

", + "AddLFTagsToResourceRequest$Resource": "

The database, table, or column resource to which to attach an LF-tag.

", "BatchPermissionsRequestEntry$Resource": "

The resource to which the principal is to be granted a permission.

", - "GetResourceLFTagsRequest$Resource": "

The resource for which you want to return tags.

", - "GrantPermissionsRequest$Resource": "

The resource to which permissions are to be granted. Resources in AWS Lake Formation are the Data Catalog, databases, and tables.

", + "GetResourceLFTagsRequest$Resource": "

The database, table, or column resource for which you want to return LF-tags.

", + "GrantPermissionsRequest$Resource": "

The resource to which permissions are to be granted. Resources in Lake Formation are the Data Catalog, databases, and tables.

", "ListPermissionsRequest$Resource": "

A resource where you will get a list of the principal permissions.

This operation does not support getting privileges on a table with columns. Instead, call this operation on the table, and the operation returns the table and the table w columns.

", "PrincipalResourcePermissions$Resource": "

The resource where permissions are to be granted or revoked.

", - "RemoveLFTagsFromResourceRequest$Resource": "

The resource where you want to remove a tag.

", + "RemoveLFTagsFromResourceRequest$Resource": "

The database, table, or column resource where you want to remove an LF-tag.

", "RevokePermissionsRequest$Resource": "

The resource to which permissions are to be revoked.

" } }, @@ -664,9 +1091,9 @@ } }, "ResourceInfo": { - "base": "

A structure containing information about an AWS Lake Formation resource.

", + "base": "

A structure containing information about an Lake Formation resource.

", "refs": { - "DescribeResourceResponse$ResourceInfo": "

A structure containing information about an AWS Lake Formation resource.

", + "DescribeResourceResponse$ResourceInfo": "

A structure containing information about an Lake Formation resource.

", "ResourceInfoList$member": null } }, @@ -676,6 +1103,11 @@ "ListResourcesResponse$ResourceInfoList": "

A summary of the data lake resources.

" } }, + "ResourceNotReadyException": { + "base": "

Contains details about an error related to a resource which is not ready for a transaction.

", + "refs": { + } + }, "ResourceNumberLimitExceededException": { "base": "

A resource numerical limit was exceeded.

", "refs": { @@ -684,19 +1116,31 @@ "ResourceShareList": { "base": null, "refs": { - "DetailsMap$ResourceShare": "

A resource share ARN for a catalog resource shared through AWS Resource Access Manager (AWS RAM).

" + "DetailsMap$ResourceShare": "

A resource share ARN for a catalog resource shared through RAM.

" } }, "ResourceShareType": { "base": null, "refs": { - "ListLFTagsRequest$ResourceShareType": "

If resource share type is ALL, returns both in-account tags and shared tags that the requester has permission to view. If resource share type is FOREIGN, returns all share tags that the requester can view. If no resource share type is passed, lists tags in the given catalog ID that the requester has permission to view.

" + "ListLFTagsRequest$ResourceShareType": "

If resource share type is ALL, returns both in-account LF-tags and shared LF-tags that the requester has permission to view. If resource share type is FOREIGN, returns all share LF-tags that the requester can view. If no resource share type is passed, lists LF-tags in the given catalog ID that the requester has permission to view.

" } }, "ResourceType": { "base": null, "refs": { - "LFTagPolicyResource$ResourceType": "

The resource type for which the tag policy applies.

" + "LFTagPolicyResource$ResourceType": "

The resource type for which the LF-tag policy applies.

" + } + }, + "Result": { + "base": null, + "refs": { + "UpdateTableStorageOptimizerResponse$Result": "

A response indicating the success of failure of the operation.

" + } + }, + "ResultStream": { + "base": null, + "refs": { + "GetWorkUnitResultsResponse$ResultStream": "

Rows returned from the GetWorkUnitResults operation as a stream of Apache Arrow v1.0 messages.

" } }, "RevokePermissionsRequest": { @@ -709,6 +1153,12 @@ "refs": { } }, + "RowFilter": { + "base": "

A PartiQL predicate.

", + "refs": { + "DataCellsFilter$RowFilter": "

A PartiQL predicate.

" + } + }, "SearchDatabasesByLFTagsRequest": { "base": null, "refs": { @@ -729,6 +1179,75 @@ "refs": { } }, + "StartQueryPlanningRequest": { + "base": null, + "refs": { + } + }, + "StartQueryPlanningResponse": { + "base": "

A structure for the output.

", + "refs": { + } + }, + "StartTransactionRequest": { + "base": null, + "refs": { + } + }, + "StartTransactionResponse": { + "base": null, + "refs": { + } + }, + "StatisticsNotReadyYetException": { + "base": "

Contains details about an error related to statistics not being ready.

", + "refs": { + } + }, + "StorageOptimizer": { + "base": "

A structure describing the configuration and details of a storage optimizer.

", + "refs": { + "StorageOptimizerList$member": null + } + }, + "StorageOptimizerConfig": { + "base": null, + "refs": { + "StorageOptimizer$Config": "

A map of the storage optimizer configuration. Currently contains only one key-value pair: is_enabled indicates true or false for acceleration.

", + "StorageOptimizerConfigMap$value": null + } + }, + "StorageOptimizerConfigKey": { + "base": null, + "refs": { + "StorageOptimizerConfig$key": null + } + }, + "StorageOptimizerConfigMap": { + "base": null, + "refs": { + "UpdateTableStorageOptimizerRequest$StorageOptimizerConfig": "

Name of the table for which to enable the storage optimizer.

" + } + }, + "StorageOptimizerConfigValue": { + "base": null, + "refs": { + "StorageOptimizerConfig$value": null + } + }, + "StorageOptimizerList": { + "base": null, + "refs": { + "ListTableStorageOptimizersResponse$StorageOptimizerList": "

A list of the storage optimizers associated with a table.

" + } + }, + "String": { + "base": null, + "refs": { + "QueryParameterMap$key": null, + "QueryParameterMap$value": null + } + }, "StringValue": { "base": null, "refs": { @@ -741,17 +1260,42 @@ "FilterCondition$StringValueList": "

A string with values used in evaluating the filter condition.

" } }, + "SyntheticGetWorkUnitResultsRequestWorkUnitTokenString": { + "base": null, + "refs": { + "GetWorkUnitResultsRequest$WorkUnitToken": "

A work token used to query the execution service. Token output from GetWorkUnits.

" + } + }, + "SyntheticStartQueryPlanningRequestQueryString": { + "base": null, + "refs": { + "StartQueryPlanningRequest$QueryString": "

A PartiQL query statement used as an input to the planner service.

" + } + }, "TableLFTagsList": { "base": null, "refs": { - "SearchTablesByLFTagsResponse$TableList": "

A list of tables that meet the tag conditions.

" + "SearchTablesByLFTagsResponse$TableList": "

A list of tables that meet the LF-tag conditions.

" + } + }, + "TableObject": { + "base": "

Specifies the details of a governed table.

", + "refs": { + "TableObjectList$member": null + } + }, + "TableObjectList": { + "base": null, + "refs": { + "PartitionObjects$Objects": "

A list of table objects

" } }, "TableResource": { "base": "

A structure for the table object. A table is a metadata definition that represents your data. You can Grant and Revoke table privileges to a principal.

", "refs": { + "ListDataCellsFilterRequest$Table": "

A table in the Glue Data Catalog.

", "Resource$Table": "

The table for the resource. A table is a metadata definition that represents your data. You can Grant and Revoke table privileges to a principal.

", - "TaggedTable$Table": "

A table that has tags attached to it.

" + "TaggedTable$Table": "

A table that has LF-tags attached to it.

" } }, "TableWildcard": { @@ -774,43 +1318,149 @@ "LFTag$TagValues": "

A list of possible values an attribute can take.

", "LFTagKeyResource$TagValues": "

A list of possible values an attribute can take.

", "LFTagPair$TagValues": "

A list of possible values an attribute can take.

", - "UpdateLFTagRequest$TagValuesToDelete": "

A list of tag values to delete from the tag.

", - "UpdateLFTagRequest$TagValuesToAdd": "

A list of tag values to add from the tag.

" + "UpdateLFTagRequest$TagValuesToDelete": "

A list of LF-tag values to delete from the LF-tag.

", + "UpdateLFTagRequest$TagValuesToAdd": "

A list of LF-tag values to add from the LF-tag.

" } }, "TaggedDatabase": { - "base": "

A structure describing a database resource with tags.

", + "base": "

A structure describing a database resource with LF-tags.

", "refs": { "DatabaseLFTagsList$member": null } }, "TaggedTable": { - "base": "

A structure describing a table resource with tags.

", + "base": "

A structure describing a table resource with LF-tags.

", "refs": { "TableLFTagsList$member": null } }, + "ThrottledException": { + "base": "

Contains details about an error where the query request was throttled.

", + "refs": { + } + }, + "Timestamp": { + "base": null, + "refs": { + "GetTableObjectsRequest$QueryAsOfTime": "

The time as of when to read the governed table contents. If not set, the most recent transaction commit time is used. Cannot be specified along with TransactionId.

", + "QueryPlanningContext$QueryAsOfTime": "

The time as of when to read the table contents. If not set, the most recent transaction commit time will be used. Cannot be specified along with TransactionId.

", + "TransactionDescription$TransactionStartTime": "

The time when the transaction started.

", + "TransactionDescription$TransactionEndTime": "

The time when the transaction committed or aborted, if it is not currently active.

" + } + }, "Token": { "base": null, "refs": { "GetEffectivePermissionsForPathRequest$NextToken": "

A continuation token, if this is not the first call to retrieve this list.

", "GetEffectivePermissionsForPathResponse$NextToken": "

A continuation token, if this is not the first call to retrieve this list.

", + "GetWorkUnitsRequest$NextToken": "

A continuation token, if this is a continuation call.

", + "GetWorkUnitsResponse$NextToken": "

A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last.

", + "ListDataCellsFilterRequest$NextToken": "

A continuation token, if this is a continuation call.

", + "ListDataCellsFilterResponse$NextToken": "

A continuation token, if not all requested data cell filters have been returned.

", "ListLFTagsRequest$NextToken": "

A continuation token, if this is not the first call to retrieve this list.

", "ListLFTagsResponse$NextToken": "

A continuation token, present if the current list segment is not the last.

", "ListPermissionsRequest$NextToken": "

A continuation token, if this is not the first call to retrieve this list.

", "ListPermissionsResponse$NextToken": "

A continuation token, if this is not the first call to retrieve this list.

", "ListResourcesRequest$NextToken": "

A continuation token, if this is not the first call to retrieve these resources.

", "ListResourcesResponse$NextToken": "

A continuation token, if this is not the first call to retrieve these resources.

", + "ListTableStorageOptimizersRequest$NextToken": "

A continuation token, if this is a continuation call.

", + "ListTableStorageOptimizersResponse$NextToken": "

A continuation token for paginating the returned list of tokens, returned if the current segment of the list is not the last.

", "SearchDatabasesByLFTagsRequest$NextToken": "

A continuation token, if this is not the first call to retrieve this list.

", "SearchDatabasesByLFTagsResponse$NextToken": "

A continuation token, present if the current list segment is not the last.

", "SearchTablesByLFTagsRequest$NextToken": "

A continuation token, if this is not the first call to retrieve this list.

", "SearchTablesByLFTagsResponse$NextToken": "

A continuation token, present if the current list segment is not the last.

" } }, + "TokenString": { + "base": null, + "refs": { + "GetTableObjectsRequest$NextToken": "

A continuation token if this is not the first call to retrieve these objects.

", + "GetTableObjectsResponse$NextToken": "

A continuation token indicating whether additional data is available.

", + "ListTransactionsRequest$NextToken": "

A continuation token if this is not the first call to retrieve transactions.

", + "ListTransactionsResponse$NextToken": "

A continuation token indicating whether additional data is available.

" + } + }, + "TransactionCanceledException": { + "base": "

Contains details about an error related to a transaction that was cancelled.

", + "refs": { + } + }, + "TransactionCommitInProgressException": { + "base": "

Contains details about an error related to a transaction commit that was in progress.

", + "refs": { + } + }, + "TransactionCommittedException": { + "base": "

Contains details about an error where the specified transaction has already been committed and cannot be used for UpdateTableObjects.

", + "refs": { + } + }, + "TransactionDescription": { + "base": "

A structure that contains information about a transaction.

", + "refs": { + "DescribeTransactionResponse$TransactionDescription": "

Returns a TransactionDescription object containing information about the transaction.

", + "TransactionDescriptionList$member": null + } + }, + "TransactionDescriptionList": { + "base": null, + "refs": { + "ListTransactionsResponse$Transactions": "

A list of transactions. The record for each transaction is a TransactionDescription object.

" + } + }, + "TransactionIdString": { + "base": null, + "refs": { + "CancelTransactionRequest$TransactionId": "

The transaction to cancel.

", + "CommitTransactionRequest$TransactionId": "

The transaction to commit.

", + "DeleteObjectsOnCancelRequest$TransactionId": "

ID of the transaction that the writes occur in.

", + "DescribeTransactionRequest$TransactionId": "

The transaction for which to return status.

", + "ExtendTransactionRequest$TransactionId": "

The transaction to extend.

", + "GetTableObjectsRequest$TransactionId": "

The transaction ID at which to read the governed table contents. If this transaction has aborted, an error is returned. If not set, defaults to the most recent committed transaction. Cannot be specified along with QueryAsOfTime.

", + "QueryPlanningContext$TransactionId": "

The transaction ID at which to read the table contents. If this transaction is not committed, the read will be treated as part of that transaction and will see its writes. If this transaction has aborted, an error will be returned. If not set, defaults to the most recent committed transaction. Cannot be specified along with QueryAsOfTime.

", + "StartTransactionResponse$TransactionId": "

An opaque identifier for the transaction.

", + "TransactionDescription$TransactionId": "

The ID of the transaction.

", + "UpdateTableObjectsRequest$TransactionId": "

The transaction at which to do the write.

" + } + }, + "TransactionStatus": { + "base": null, + "refs": { + "CommitTransactionResponse$TransactionStatus": "

The status of the transaction.

", + "TransactionDescription$TransactionStatus": "

A status of ACTIVE, COMMITTED, or ABORTED.

" + } + }, + "TransactionStatusFilter": { + "base": null, + "refs": { + "ListTransactionsRequest$StatusFilter": "

A filter indicating the status of transactions to return. Options are ALL | COMPLETED | COMMITTED | ABORTED | ACTIVE. The default is ALL.

" + } + }, + "TransactionType": { + "base": null, + "refs": { + "StartTransactionRequest$TransactionType": "

Indicates whether this transaction should be read only or read and write. Writes made using a read-only transaction ID will be rejected. Read-only transactions do not need to be committed.

" + } + }, + "TrueFalseString": { + "base": null, + "refs": { + "ListPermissionsRequest$IncludeRelated": "

Indicates that related permissions should be included in the results.

" + } + }, "TrustedResourceOwners": { "base": null, "refs": { - "DataLakeSettings$TrustedResourceOwners": "

A list of the resource-owning account IDs that the caller's account can use to share their user access details (user ARNs). The user ARNs can be logged in the resource owner's AWS CloudTrail log.

You may want to specify this property when you are in a high-trust boundary, such as the same team or company.

" + "DataLakeSettings$TrustedResourceOwners": "

A list of the resource-owning account IDs that the caller's account can use to share their user access details (user ARNs). The user ARNs can be logged in the resource owner's CloudTrail log.

You may want to specify this property when you are in a high-trust boundary, such as the same team or company.

" + } + }, + "URI": { + "base": null, + "refs": { + "AddObjectInput$Uri": "

The Amazon S3 location of the object.

", + "DeleteObjectInput$Uri": "

The Amazon S3 location of the object to delete.

", + "TableObject$Uri": "

The Amazon S3 location of the object.

", + "VirtualObject$Uri": "

The path to the Amazon S3 object. Must start with s3://

" } }, "UpdateLFTagRequest": { @@ -832,6 +1482,80 @@ "base": null, "refs": { } + }, + "UpdateTableObjectsRequest": { + "base": null, + "refs": { + } + }, + "UpdateTableObjectsResponse": { + "base": null, + "refs": { + } + }, + "UpdateTableStorageOptimizerRequest": { + "base": null, + "refs": { + } + }, + "UpdateTableStorageOptimizerResponse": { + "base": null, + "refs": { + } + }, + "VirtualObject": { + "base": "

An object that defines an Amazon S3 object to be deleted if a transaction cancels, provided that VirtualPut was called before writing the object.

", + "refs": { + "VirtualObjectList$member": null + } + }, + "VirtualObjectList": { + "base": null, + "refs": { + "DeleteObjectsOnCancelRequest$Objects": "

A list of VirtualObject structures, which indicates the Amazon S3 objects to be deleted if the transaction cancels.

" + } + }, + "WorkUnitIdLong": { + "base": null, + "refs": { + "WorkUnitRange$WorkUnitIdMax": "

Defines the maximum work unit ID in the range. The maximum value is inclusive.

", + "WorkUnitRange$WorkUnitIdMin": "

Defines the minimum work unit ID in the range.

" + } + }, + "WorkUnitRange": { + "base": "

Defines the valid range of work unit IDs for querying the execution service.

", + "refs": { + "WorkUnitRangeList$member": null + } + }, + "WorkUnitRangeList": { + "base": null, + "refs": { + "GetWorkUnitsResponse$WorkUnitRanges": "

A WorkUnitRangeList object that specifies the valid range of work unit IDs for querying the execution service.

" + } + }, + "WorkUnitTokenString": { + "base": null, + "refs": { + "WorkUnitRange$WorkUnitToken": "

A work token used to query the execution service.

" + } + }, + "WorkUnitsNotReadyYetException": { + "base": "

Contains details about an error related to work units not being ready.

", + "refs": { + } + }, + "WriteOperation": { + "base": "

Defines an object to add to or delete from a governed table.

", + "refs": { + "WriteOperationList$member": null + } + }, + "WriteOperationList": { + "base": null, + "refs": { + "UpdateTableObjectsRequest$WriteOperations": "

A list of WriteOperation objects that define an object to add to or delete from the manifest for a governed table.

" + } } } } diff --git a/models/apis/lakeformation/2017-03-31/paginators-1.json b/models/apis/lakeformation/2017-03-31/paginators-1.json index 85abe8f150e..3de88fef083 100644 --- a/models/apis/lakeformation/2017-03-31/paginators-1.json +++ b/models/apis/lakeformation/2017-03-31/paginators-1.json @@ -2,18 +2,63 @@ "pagination": { "GetEffectivePermissionsForPath": { "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken" + }, + "GetTableObjects": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken" + }, + "GetWorkUnits": { + "input_token": "NextToken", + "limit_key": "PageSize", "output_token": "NextToken", - "limit_key": "MaxResults" + "result_key": "WorkUnitRanges" }, - "ListPermissions": { + "ListDataCellsFilter": { "input_token": "NextToken", + "limit_key": "MaxResults", "output_token": "NextToken", - "limit_key": "MaxResults" + "result_key": "DataCellsFilters" + }, + "ListLFTags": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "LFTags" + }, + "ListPermissions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken" }, "ListResources": { "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken" + }, + "ListTableStorageOptimizers": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken" + }, + "ListTransactions": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken" + }, + "SearchDatabasesByLFTags": { + "input_token": "NextToken", + "limit_key": "MaxResults", + "output_token": "NextToken", + "result_key": "DatabaseList" + }, + "SearchTablesByLFTags": { + "input_token": "NextToken", + "limit_key": "MaxResults", "output_token": "NextToken", - "limit_key": "MaxResults" + "result_key": "TableList" } } -} +} \ No newline at end of file diff --git a/models/apis/outposts/2019-12-03/api-2.json b/models/apis/outposts/2019-12-03/api-2.json index 5f6a19a1dcf..9b404f5a58e 100644 --- a/models/apis/outposts/2019-12-03/api-2.json +++ b/models/apis/outposts/2019-12-03/api-2.json @@ -563,7 +563,8 @@ "SiteId":{"shape":"SiteId"}, "AvailabilityZone":{"shape":"AvailabilityZone"}, "AvailabilityZoneId":{"shape":"AvailabilityZoneId"}, - "Tags":{"shape":"TagMap"} + "Tags":{"shape":"TagMap"}, + "SupportedHardwareType":{"shape":"SupportedHardwareType"} } }, "CreateOutpostOutput":{ @@ -1132,7 +1133,8 @@ "AvailabilityZone":{"shape":"AvailabilityZone"}, "AvailabilityZoneId":{"shape":"AvailabilityZoneId"}, "Tags":{"shape":"TagMap"}, - "SiteArn":{"shape":"SiteArn"} + "SiteArn":{"shape":"SiteArn"}, + "SupportedHardwareType":{"shape":"SupportedHardwareType"} } }, "OutpostArn":{ @@ -1320,6 +1322,13 @@ "min":1, "pattern":"^[\\S \\n]+$" }, + "SupportedHardwareType":{ + "type":"string", + "enum":[ + "RACK", + "SERVER" + ] + }, "SupportedStorageEnum":{ "type":"string", "enum":[ diff --git a/models/apis/outposts/2019-12-03/docs-2.json b/models/apis/outposts/2019-12-03/docs-2.json index 8fa8faac598..15c71fa59bf 100644 --- a/models/apis/outposts/2019-12-03/docs-2.json +++ b/models/apis/outposts/2019-12-03/docs-2.json @@ -789,6 +789,13 @@ "ConflictException$ResourceId": "

The ID of the resource causing the conflict.

" } }, + "SupportedHardwareType": { + "base": null, + "refs": { + "CreateOutpostInput$SupportedHardwareType": "

The type of hardware for this Outpost.

", + "Outpost$SupportedHardwareType": "

The hardware type.

" + } + }, "SupportedStorageEnum": { "base": null, "refs": { diff --git a/models/apis/redshift-data/2019-12-20/api-2.json b/models/apis/redshift-data/2019-12-20/api-2.json index d5b24234f65..5b491e46010 100644 --- a/models/apis/redshift-data/2019-12-20/api-2.json +++ b/models/apis/redshift-data/2019-12-20/api-2.json @@ -38,7 +38,8 @@ "errors":[ {"shape":"ValidationException"}, {"shape":"ResourceNotFoundException"}, - {"shape":"InternalServerException"} + {"shape":"InternalServerException"}, + {"shape":"DatabaseConnectionException"} ] }, "DescribeStatement":{ @@ -65,7 +66,8 @@ "output":{"shape":"DescribeTableResponse"}, "errors":[ {"shape":"ValidationException"}, - {"shape":"InternalServerException"} + {"shape":"InternalServerException"}, + {"shape":"DatabaseConnectionException"} ] }, "ExecuteStatement":{ @@ -106,7 +108,8 @@ "output":{"shape":"ListDatabasesResponse"}, "errors":[ {"shape":"ValidationException"}, - {"shape":"InternalServerException"} + {"shape":"InternalServerException"}, + {"shape":"DatabaseConnectionException"} ] }, "ListSchemas":{ @@ -119,7 +122,8 @@ "output":{"shape":"ListSchemasResponse"}, "errors":[ {"shape":"ValidationException"}, - {"shape":"InternalServerException"} + {"shape":"InternalServerException"}, + {"shape":"DatabaseConnectionException"} ] }, "ListStatements":{ @@ -145,7 +149,8 @@ "output":{"shape":"ListTablesResponse"}, "errors":[ {"shape":"ValidationException"}, - {"shape":"InternalServerException"} + {"shape":"InternalServerException"}, + {"shape":"DatabaseConnectionException"} ] } }, @@ -173,7 +178,6 @@ "BatchExecuteStatementInput":{ "type":"structure", "required":[ - "ClusterIdentifier", "Database", "Sqls" ], @@ -254,6 +258,15 @@ "type":"list", "member":{"shape":"ColumnMetadata"} }, + "DatabaseConnectionException":{ + "type":"structure", + "required":["Message"], + "members":{ + "Message":{"shape":"String"} + }, + "exception":true, + "fault":true + }, "DatabaseList":{ "type":"list", "member":{"shape":"String"} @@ -291,10 +304,7 @@ }, "DescribeTableRequest":{ "type":"structure", - "required":[ - "ClusterIdentifier", - "Database" - ], + "required":["Database"], "members":{ "ClusterIdentifier":{"shape":"Location"}, "ConnectedDatabase":{"shape":"String"}, @@ -331,7 +341,6 @@ "ExecuteStatementInput":{ "type":"structure", "required":[ - "ClusterIdentifier", "Database", "Sql" ], @@ -403,10 +412,7 @@ }, "ListDatabasesRequest":{ "type":"structure", - "required":[ - "ClusterIdentifier", - "Database" - ], + "required":["Database"], "members":{ "ClusterIdentifier":{"shape":"Location"}, "Database":{"shape":"String"}, @@ -425,10 +431,7 @@ }, "ListSchemasRequest":{ "type":"structure", - "required":[ - "ClusterIdentifier", - "Database" - ], + "required":["Database"], "members":{ "ClusterIdentifier":{"shape":"Location"}, "ConnectedDatabase":{"shape":"String"}, @@ -472,10 +475,7 @@ }, "ListTablesRequest":{ "type":"structure", - "required":[ - "ClusterIdentifier", - "Database" - ], + "required":["Database"], "members":{ "ClusterIdentifier":{"shape":"Location"}, "ConnectedDatabase":{"shape":"String"}, diff --git a/models/apis/redshift-data/2019-12-20/docs-2.json b/models/apis/redshift-data/2019-12-20/docs-2.json index ac61c11891b..6a76796048e 100644 --- a/models/apis/redshift-data/2019-12-20/docs-2.json +++ b/models/apis/redshift-data/2019-12-20/docs-2.json @@ -2,16 +2,16 @@ "version": "2.0", "service": "

You can use the Amazon Redshift Data API to run queries on Amazon Redshift tables. You can run SQL statements, which are committed if the statement succeeds.

For more information about the Amazon Redshift Data API, see Using the Amazon Redshift Data API in the Amazon Redshift Cluster Management Guide.

", "operations": { - "BatchExecuteStatement": "

Runs one or more SQL statements, which can be data manipulation language (DML) or data definition language (DDL). Depending on the authorization method, use one of the following combinations of request parameters:

", + "BatchExecuteStatement": "

Runs one or more SQL statements, which can be data manipulation language (DML) or data definition language (DDL). Depending on the authorization method, use one of the following combinations of request parameters:

", "CancelStatement": "

Cancels a running query. To be canceled, a query must be running.

", "DescribeStatement": "

Describes the details about a specific instance when a query was run by the Amazon Redshift Data API. The information includes when the query started, when it finished, the query status, the number of rows returned, and the SQL statement.

", - "DescribeTable": "

Describes the detailed information about a table from metadata in the cluster. The information includes its columns. A token is returned to page through the column list. Depending on the authorization method, use one of the following combinations of request parameters:

", - "ExecuteStatement": "

Runs an SQL statement, which can be data manipulation language (DML) or data definition language (DDL). This statement must be a single SQL statement. Depending on the authorization method, use one of the following combinations of request parameters:

", + "DescribeTable": "

Describes the detailed information about a table from metadata in the cluster. The information includes its columns. A token is returned to page through the column list. Depending on the authorization method, use one of the following combinations of request parameters:

", + "ExecuteStatement": "

Runs an SQL statement, which can be data manipulation language (DML) or data definition language (DDL). This statement must be a single SQL statement. Depending on the authorization method, use one of the following combinations of request parameters:

", "GetStatementResult": "

Fetches the temporarily cached result of an SQL statement. A token is returned to page through the statement results.

", - "ListDatabases": "

List the databases in a cluster. A token is returned to page through the database list. Depending on the authorization method, use one of the following combinations of request parameters:

", - "ListSchemas": "

Lists the schemas in a database. A token is returned to page through the schema list. Depending on the authorization method, use one of the following combinations of request parameters:

", + "ListDatabases": "

List the databases in a cluster. A token is returned to page through the database list. Depending on the authorization method, use one of the following combinations of request parameters:

", + "ListSchemas": "

Lists the schemas in a database. A token is returned to page through the schema list. Depending on the authorization method, use one of the following combinations of request parameters:

", "ListStatements": "

List of SQL statements. By default, only finished statements are shown. A token is returned to page through the statement list.

", - "ListTables": "

List the tables in a database. If neither SchemaPattern nor TablePattern are specified, then all tables in the database are returned. A token is returned to page through the table list. Depending on the authorization method, use one of the following combinations of request parameters:

" + "ListTables": "

List the tables in a database. If neither SchemaPattern nor TablePattern are specified, then all tables in the database are returned. A token is returned to page through the table list. Depending on the authorization method, use one of the following combinations of request parameters:

" }, "shapes": { "ActiveStatementsExceededException": { @@ -45,11 +45,11 @@ "refs": { "BatchExecuteStatementInput$WithEvent": "

A value that indicates whether to send an event to the Amazon EventBridge event bus after the SQL statements run.

", "CancelStatementResponse$Status": "

A value that indicates whether the cancel statement succeeded (true).

", - "DescribeStatementResponse$HasResultSet": "

A value that indicates whether the statement has a result set. The result set can be empty.

", + "DescribeStatementResponse$HasResultSet": "

A value that indicates whether the statement has a result set. The result set can be empty. The value is true for an empty result set. The value is true if any substatement returns a result set.

", "ExecuteStatementInput$WithEvent": "

A value that indicates whether to send an event to the Amazon EventBridge event bus after the SQL statement runs.

", "ListStatementsRequest$RoleLevel": "

A value that filters which statements to return in the response. If true, all statements run by the caller's IAM role are returned. If false, only statements run by the caller's IAM role in the current IAM session are returned. The default is true.

", "StatementData$IsBatchStatement": "

A value that indicates whether the statement is a batch query request.

", - "SubStatementData$HasResultSet": "

A value that indicates whether the statement has a result set. The result set can be empty.

" + "SubStatementData$HasResultSet": "

A value that indicates whether the statement has a result set. The result set can be empty. The value is true for an empty result set.

" } }, "BoxedBoolean": { @@ -100,6 +100,11 @@ "GetStatementResultResponse$ColumnMetadata": "

The properties (metadata) of a column.

" } }, + "DatabaseConnectionException": { + "base": "

Connection to a database failed.

", + "refs": { + } + }, "DatabaseList": { "base": null, "refs": { @@ -226,14 +231,14 @@ "Location": { "base": null, "refs": { - "BatchExecuteStatementInput$ClusterIdentifier": "

The cluster identifier. This parameter is required when authenticating using either Secrets Manager or temporary credentials.

", - "BatchExecuteStatementOutput$ClusterIdentifier": "

The cluster identifier.

", - "DescribeTableRequest$ClusterIdentifier": "

The cluster identifier. This parameter is required when authenticating using either Secrets Manager or temporary credentials.

", - "ExecuteStatementInput$ClusterIdentifier": "

The cluster identifier. This parameter is required when authenticating using either Secrets Manager or temporary credentials.

", - "ExecuteStatementOutput$ClusterIdentifier": "

The cluster identifier.

", - "ListDatabasesRequest$ClusterIdentifier": "

The cluster identifier. This parameter is required when authenticating using either Secrets Manager or temporary credentials.

", - "ListSchemasRequest$ClusterIdentifier": "

The cluster identifier. This parameter is required when authenticating using either Secrets Manager or temporary credentials.

", - "ListTablesRequest$ClusterIdentifier": "

The cluster identifier. This parameter is required when authenticating using either Secrets Manager or temporary credentials.

" + "BatchExecuteStatementInput$ClusterIdentifier": "

The cluster identifier. This parameter is required when connecting to a cluster and authenticating using either Secrets Manager or temporary credentials.

", + "BatchExecuteStatementOutput$ClusterIdentifier": "

The cluster identifier. This parameter is not returned when connecting to a serverless endpoint.

", + "DescribeTableRequest$ClusterIdentifier": "

The cluster identifier. This parameter is required when connecting to a cluster and authenticating using either Secrets Manager or temporary credentials.

", + "ExecuteStatementInput$ClusterIdentifier": "

The cluster identifier. This parameter is required when connecting to a cluster and authenticating using either Secrets Manager or temporary credentials.

", + "ExecuteStatementOutput$ClusterIdentifier": "

The cluster identifier. This parameter is not returned when connecting to a serverless endpoint.

", + "ListDatabasesRequest$ClusterIdentifier": "

The cluster identifier. This parameter is required when connecting to a cluster and authenticating using either Secrets Manager or temporary credentials.

", + "ListSchemasRequest$ClusterIdentifier": "

The cluster identifier. This parameter is required when connecting to a cluster and authenticating using either Secrets Manager or temporary credentials.

", + "ListTablesRequest$ClusterIdentifier": "

The cluster identifier. This parameter is required when connecting to a cluster and authenticating using either Secrets Manager or temporary credentials.

" } }, "Long": { @@ -396,7 +401,7 @@ "BatchExecuteStatementException$Message": null, "BatchExecuteStatementException$StatementId": "

Statement identifier of the exception.

", "BatchExecuteStatementInput$Database": "

The name of the database. This parameter is required when authenticating using either Secrets Manager or temporary credentials.

", - "BatchExecuteStatementInput$DbUser": "

The database user name. This parameter is required when authenticating using temporary credentials.

", + "BatchExecuteStatementInput$DbUser": "

The database user name. This parameter is required when connecting to a cluster and authenticating using temporary credentials.

", "BatchExecuteStatementOutput$Database": "

The name of the database.

", "BatchExecuteStatementOutput$DbUser": "

The database user name.

", "ColumnMetadata$columnDefault": "

The default value of the column.

", @@ -405,6 +410,7 @@ "ColumnMetadata$schemaName": "

The name of the schema that contains the table that includes the column.

", "ColumnMetadata$tableName": "

The name of the table that includes the column.

", "ColumnMetadata$typeName": "

The database-specific data type of the column.

", + "DatabaseConnectionException$Message": null, "DatabaseList$member": null, "DescribeStatementResponse$ClusterIdentifier": "

The cluster identifier.

", "DescribeStatementResponse$Database": "

The name of the database.

", @@ -412,7 +418,7 @@ "DescribeStatementResponse$Error": "

The error message from the cluster if the SQL statement encountered an error while running.

", "DescribeTableRequest$ConnectedDatabase": "

A database name. The connected database is specified when you connect with your authentication credentials.

", "DescribeTableRequest$Database": "

The name of the database that contains the tables to be described. If ConnectedDatabase is not specified, this is also the database to connect to with your authentication credentials.

", - "DescribeTableRequest$DbUser": "

The database user name. This parameter is required when authenticating using temporary credentials.

", + "DescribeTableRequest$DbUser": "

The database user name. This parameter is required when connecting to a cluster and authenticating using temporary credentials.

", "DescribeTableRequest$NextToken": "

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

", "DescribeTableRequest$Schema": "

The schema that contains the table. If no schema is specified, then matching tables for all schemas are returned.

", "DescribeTableRequest$Table": "

The table name. If no table is specified, then all tables for all matching schemas are returned. If no table and no schema is specified, then all tables for all schemas in the database are returned

", @@ -421,7 +427,7 @@ "ExecuteStatementException$Message": "

The exception message.

", "ExecuteStatementException$StatementId": "

Statement identifier of the exception.

", "ExecuteStatementInput$Database": "

The name of the database. This parameter is required when authenticating using either Secrets Manager or temporary credentials.

", - "ExecuteStatementInput$DbUser": "

The database user name. This parameter is required when authenticating using temporary credentials.

", + "ExecuteStatementInput$DbUser": "

The database user name. This parameter is required when connecting to a cluster and authenticating using temporary credentials.

", "ExecuteStatementOutput$Database": "

The name of the database.

", "ExecuteStatementOutput$DbUser": "

The database user name.

", "Field$stringValue": "

A value of the string data type.

", @@ -429,12 +435,12 @@ "GetStatementResultResponse$NextToken": "

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

", "InternalServerException$Message": "

The exception message.

", "ListDatabasesRequest$Database": "

The name of the database. This parameter is required when authenticating using either Secrets Manager or temporary credentials.

", - "ListDatabasesRequest$DbUser": "

The database user name. This parameter is required when authenticating using temporary credentials.

", + "ListDatabasesRequest$DbUser": "

The database user name. This parameter is required when connecting to a cluster and authenticating using temporary credentials.

", "ListDatabasesRequest$NextToken": "

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

", "ListDatabasesResponse$NextToken": "

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

", "ListSchemasRequest$ConnectedDatabase": "

A database name. The connected database is specified when you connect with your authentication credentials.

", "ListSchemasRequest$Database": "

The name of the database that contains the schemas to list. If ConnectedDatabase is not specified, this is also the database to connect to with your authentication credentials.

", - "ListSchemasRequest$DbUser": "

The database user name. This parameter is required when authenticating using temporary credentials.

", + "ListSchemasRequest$DbUser": "

The database user name. This parameter is required when connecting to a cluster and authenticating using temporary credentials.

", "ListSchemasRequest$NextToken": "

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

", "ListSchemasRequest$SchemaPattern": "

A pattern to filter results by schema name. Within a schema pattern, \"%\" means match any substring of 0 or more characters and \"_\" means match any one character. Only schema name entries matching the search pattern are returned.

", "ListSchemasResponse$NextToken": "

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

", @@ -442,7 +448,7 @@ "ListStatementsResponse$NextToken": "

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

", "ListTablesRequest$ConnectedDatabase": "

A database name. The connected database is specified when you connect with your authentication credentials.

", "ListTablesRequest$Database": "

The name of the database that contains the tables to list. If ConnectedDatabase is not specified, this is also the database to connect to with your authentication credentials.

", - "ListTablesRequest$DbUser": "

The database user name. This parameter is required when authenticating using temporary credentials.

", + "ListTablesRequest$DbUser": "

The database user name. This parameter is required when connecting to a cluster and authenticating using temporary credentials.

", "ListTablesRequest$NextToken": "

A value that indicates the starting point for the next set of response records in a subsequent request. If a value is returned in a response, you can retrieve the next set of records by providing this returned NextToken value in the next NextToken parameter and retrying the command. If the NextToken field is empty, all response records have been retrieved for the request.

", "ListTablesRequest$SchemaPattern": "

A pattern to filter results by schema name. Within a schema pattern, \"%\" means match any substring of 0 or more characters and \"_\" means match any one character. Only schema name entries matching the search pattern are returned. If SchemaPattern is not specified, then all tables that match TablePattern are returned. If neither SchemaPattern or TablePattern are specified, then all tables are returned.

", "ListTablesRequest$TablePattern": "

A pattern to filter results by table name. Within a table pattern, \"%\" means match any substring of 0 or more characters and \"_\" means match any one character. Only table name entries matching the search pattern are returned. If TablePattern is not specified, then all tables that match SchemaPatternare returned. If neither SchemaPattern or TablePattern are specified, then all tables are returned.

", diff --git a/models/apis/s3/2006-03-01/api-2.json b/models/apis/s3/2006-03-01/api-2.json index c14a854b013..44e3b65a78a 100644 --- a/models/apis/s3/2006-03-01/api-2.json +++ b/models/apis/s3/2006-03-01/api-2.json @@ -1846,6 +1846,11 @@ "shape":"ObjectLockEnabledForBucket", "location":"header", "locationName":"x-amz-bucket-object-lock-enabled" + }, + "ObjectOwnership":{ + "shape":"ObjectOwnership", + "location":"header", + "locationName":"x-amz-object-ownership" } }, "payload":"CreateBucketConfiguration" @@ -5209,7 +5214,8 @@ "type":"string", "enum":[ "BucketOwnerPreferred", - "ObjectWriter" + "ObjectWriter", + "BucketOwnerEnforced" ] }, "ObjectSizeGreaterThanBytes":{"type":"long"}, @@ -5224,7 +5230,8 @@ "ONEZONE_IA", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", - "OUTPOSTS" + "OUTPOSTS", + "GLACIER_IR" ] }, "ObjectVersion":{ @@ -7144,7 +7151,8 @@ "INTELLIGENT_TIERING", "GLACIER", "DEEP_ARCHIVE", - "OUTPOSTS" + "OUTPOSTS", + "GLACIER_IR" ] }, "StorageClassAnalysis":{ @@ -7304,7 +7312,8 @@ "STANDARD_IA", "ONEZONE_IA", "INTELLIGENT_TIERING", - "DEEP_ARCHIVE" + "DEEP_ARCHIVE", + "GLACIER_IR" ] }, "Type":{ diff --git a/models/apis/s3/2006-03-01/docs-2.json b/models/apis/s3/2006-03-01/docs-2.json index 7ad7eba0a4c..206ff423e69 100644 --- a/models/apis/s3/2006-03-01/docs-2.json +++ b/models/apis/s3/2006-03-01/docs-2.json @@ -4,14 +4,14 @@ "operations": { "AbortMultipartUpload": "

This action aborts a multipart upload. After a multipart upload is aborted, no additional parts can be uploaded using that upload ID. The storage consumed by any previously uploaded parts will be freed. However, if any part uploads are currently in progress, those part uploads might or might not succeed. As a result, it might be necessary to abort a given multipart upload multiple times in order to completely free all storage consumed by all parts.

To verify that all parts have been removed, so you don't get charged for the part storage, you should call the ListParts action and ensure that the parts list is empty.

For information about permissions required to use the multipart upload, see Multipart Upload and Permissions.

The following operations are related to AbortMultipartUpload:

", "CompleteMultipartUpload": "

Completes a multipart upload by assembling previously uploaded parts.

You first initiate the multipart upload and then upload all parts using the UploadPart operation. After successfully uploading all relevant parts of an upload, you call this action to complete the upload. Upon receiving this request, Amazon S3 concatenates all the parts in ascending order by part number to create a new object. In the Complete Multipart Upload request, you must provide the parts list. You must ensure that the parts list is complete. This action concatenates the parts that you provide in the list. For each part in the list, you must provide the part number and the ETag value, returned after that part was uploaded.

Processing of a Complete Multipart Upload request could take several minutes to complete. After Amazon S3 begins processing the request, it sends an HTTP response header that specifies a 200 OK response. While processing is in progress, Amazon S3 periodically sends white space characters to keep the connection from timing out. Because a request could fail after the initial 200 OK response has been sent, it is important that you check the response body to determine whether the request succeeded.

Note that if CompleteMultipartUpload fails, applications should be prepared to retry the failed requests. For more information, see Amazon S3 Error Best Practices.

You cannot use Content-Type: application/x-www-form-urlencoded with Complete Multipart Upload requests. Also, if you do not provide a Content-Type header, CompleteMultipartUpload returns a 200 OK response.

For more information about multipart uploads, see Uploading Objects Using Multipart Upload.

For information about permissions required to use the multipart upload API, see Multipart Upload and Permissions.

CompleteMultipartUpload has the following special errors:

The following operations are related to CompleteMultipartUpload:

", - "CopyObject": "

Creates a copy of an object that is already stored in Amazon S3.

You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy API. For more information, see Copy Object Using the REST Multipart Upload API.

All copy requests must be authenticated. Additionally, you must have read access to the source object and write access to the destination bucket. For more information, see REST Authentication. Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account.

A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. If the error occurs before the copy action starts, you receive a standard Amazon S3 error. If the error occurs during the copy operation, the error response is embedded in the 200 OK response. This means that a 200 OK response can contain either a success or an error. Design your application to parse the contents of the response and handle it appropriately.

If the copy is successful, you receive a response with information about the copied object.

If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not, it would not contain the content-length, and you would need to read the entire body.

The copy request charge is based on the storage class and Region that you specify for the destination object. For pricing information, see Amazon S3 pricing.

Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration.

Metadata

When copying an object, you can preserve all metadata (default) or specify new metadata. However, the ACL is not preserved and is set to private for the user making the request. To override the default ACL setting, specify a new ACL when generating a copy request. For more information, see Using ACLs.

To specify whether you want the object metadata copied from the source object or replaced with metadata provided in the request, you can optionally add the x-amz-metadata-directive header. When you grant permissions, you can use the s3:x-amz-metadata-directive condition key to enforce certain metadata behavior when objects are uploaded. For more information, see Specifying Conditions in a Policy in the Amazon S3 User Guide. For a complete list of Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for Amazon S3.

x-amz-copy-source-if Headers

To only copy an object under certain conditions, such as whether the Etag matches or whether the object was modified before or after a specified date, use the following request parameters:

If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since headers are present in the request and evaluate as follows, Amazon S3 returns 200 OK and copies the data:

If both the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since headers are present in the request and evaluate as follows, Amazon S3 returns the 412 Precondition Failed response code:

All headers with the x-amz- prefix, including x-amz-copy-source, must be signed.

Server-side encryption

When you perform a CopyObject operation, you can optionally use the appropriate encryption-related headers to encrypt the object using server-side encryption with Amazon Web Services managed encryption keys (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts the data when you access it. For more information about server-side encryption, see Using Server-Side Encryption.

If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

Access Control List (ACL)-Specific Request Headers

When copying an object, you can optionally use headers to grant ACL-based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API.

Storage Class Options

You can use the CopyObject action to change the storage class of an object that is already stored in Amazon S3 using the StorageClass parameter. For more information, see Storage Classes in the Amazon S3 User Guide.

Versioning

By default, x-amz-copy-source identifies the current version of an object to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was deleted. To copy a different version, use the versionId subresource.

If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for the object being copied. This version ID is different from the version ID of the source object. Amazon S3 returns the version ID of the copied object in the x-amz-version-id response header in the response.

If you do not enable versioning or suspend it on the target bucket, the version ID that Amazon S3 generates is always null.

If the source object's storage class is GLACIER, you must restore a copy of this object before you can use it as a source object for the copy operation. For more information, see RestoreObject.

The following operations are related to CopyObject:

For more information, see Copying Objects.

", - "CreateBucket": "

Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 and have a valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the bucket, you become the bucket owner.

Not every string is an acceptable bucket name. For information about bucket naming restrictions, see Bucket naming rules.

If you want to create an Amazon S3 on Outposts bucket, see Create Bucket.

By default, the bucket is created in the US East (N. Virginia) Region. You can optionally specify a Region in the request body. You might choose a Region to optimize latency, minimize costs, or address regulatory requirements. For example, if you reside in Europe, you will probably find it advantageous to create buckets in the Europe (Ireland) Region. For more information, see Accessing a bucket.

If you send your create bucket request to the s3.amazonaws.com endpoint, the request goes to the us-east-1 Region. Accordingly, the signature calculations in Signature Version 4 must use us-east-1 as the Region, even if the location constraint in the request specifies another Region where the bucket is to be created. If you create a bucket in a Region other than US East (N. Virginia), your application must be able to handle 307 redirect. For more information, see Virtual hosting of buckets.

When creating a bucket using this operation, you can optionally specify the accounts or groups that should be granted specific permissions on the bucket. There are two ways to grant the appropriate permissions using the request headers.

You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

Permissions

If your CreateBucket request specifies ACL permissions and the ACL is public-read, public-read-write, authenticated-read, or if you specify access permissions explicitly through any other ACL, both s3:CreateBucket and s3:PutBucketAcl permissions are needed. If the ACL the CreateBucket request is private, only s3:CreateBucket permission is needed.

If ObjectLockEnabledForBucket is set to true in your CreateBucket request, s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning permissions are required.

The following operations are related to CreateBucket:

", + "CopyObject": "

Creates a copy of an object that is already stored in Amazon S3.

You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy API. For more information, see Copy Object Using the REST Multipart Upload API.

All copy requests must be authenticated. Additionally, you must have read access to the source object and write access to the destination bucket. For more information, see REST Authentication. Both the Region that you want to copy the object from and the Region that you want to copy the object to must be enabled for your account.

A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is copying the files. If the error occurs before the copy action starts, you receive a standard Amazon S3 error. If the error occurs during the copy operation, the error response is embedded in the 200 OK response. This means that a 200 OK response can contain either a success or an error. Design your application to parse the contents of the response and handle it appropriately.

If the copy is successful, you receive a response with information about the copied object.

If the request is an HTTP 1.1 request, the response is chunk encoded. If it were not, it would not contain the content-length, and you would need to read the entire body.

The copy request charge is based on the storage class and Region that you specify for the destination object. For pricing information, see Amazon S3 pricing.

Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more information, see Transfer Acceleration.

Metadata

When copying an object, you can preserve all metadata (default) or specify new metadata. However, the ACL is not preserved and is set to private for the user making the request. To override the default ACL setting, specify a new ACL when generating a copy request. For more information, see Using ACLs.

To specify whether you want the object metadata copied from the source object or replaced with metadata provided in the request, you can optionally add the x-amz-metadata-directive header. When you grant permissions, you can use the s3:x-amz-metadata-directive condition key to enforce certain metadata behavior when objects are uploaded. For more information, see Specifying Conditions in a Policy in the Amazon S3 User Guide. For a complete list of Amazon S3-specific condition keys, see Actions, Resources, and Condition Keys for Amazon S3.

x-amz-copy-source-if Headers

To only copy an object under certain conditions, such as whether the Etag matches or whether the object was modified before or after a specified date, use the following request parameters:

If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since headers are present in the request and evaluate as follows, Amazon S3 returns 200 OK and copies the data:

If both the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since headers are present in the request and evaluate as follows, Amazon S3 returns the 412 Precondition Failed response code:

All headers with the x-amz- prefix, including x-amz-copy-source, must be signed.

Server-side encryption

When you perform a CopyObject operation, you can optionally use the appropriate encryption-related headers to encrypt the object using server-side encryption with Amazon Web Services managed encryption keys (SSE-S3 or SSE-KMS) or a customer-provided encryption key. With server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts the data when you access it. For more information about server-side encryption, see Using Server-Side Encryption.

If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

Access Control List (ACL)-Specific Request Headers

When copying an object, you can optionally use headers to grant ACL-based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API.

If the bucket that you're copying objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format.

For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide.

If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner.

Storage Class Options

You can use the CopyObject action to change the storage class of an object that is already stored in Amazon S3 using the StorageClass parameter. For more information, see Storage Classes in the Amazon S3 User Guide.

Versioning

By default, x-amz-copy-source identifies the current version of an object to copy. If the current version is a delete marker, Amazon S3 behaves as if the object was deleted. To copy a different version, use the versionId subresource.

If you enable versioning on the target bucket, Amazon S3 generates a unique version ID for the object being copied. This version ID is different from the version ID of the source object. Amazon S3 returns the version ID of the copied object in the x-amz-version-id response header in the response.

If you do not enable versioning or suspend it on the target bucket, the version ID that Amazon S3 generates is always null.

If the source object's storage class is GLACIER, you must restore a copy of this object before you can use it as a source object for the copy operation. For more information, see RestoreObject.

The following operations are related to CopyObject:

For more information, see Copying Objects.

", + "CreateBucket": "

Creates a new S3 bucket. To create a bucket, you must register with Amazon S3 and have a valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the bucket, you become the bucket owner.

Not every string is an acceptable bucket name. For information about bucket naming restrictions, see Bucket naming rules.

If you want to create an Amazon S3 on Outposts bucket, see Create Bucket.

By default, the bucket is created in the US East (N. Virginia) Region. You can optionally specify a Region in the request body. You might choose a Region to optimize latency, minimize costs, or address regulatory requirements. For example, if you reside in Europe, you will probably find it advantageous to create buckets in the Europe (Ireland) Region. For more information, see Accessing a bucket.

If you send your create bucket request to the s3.amazonaws.com endpoint, the request goes to the us-east-1 Region. Accordingly, the signature calculations in Signature Version 4 must use us-east-1 as the Region, even if the location constraint in the request specifies another Region where the bucket is to be created. If you create a bucket in a Region other than US East (N. Virginia), your application must be able to handle 307 redirect. For more information, see Virtual hosting of buckets.

Access control lists (ACLs)

When creating a bucket using this operation, you can optionally configure the bucket ACL to specify the accounts or groups that should be granted specific permissions on the bucket.

If your CreateBucket request includes the BucketOwnerEnforced value for the x-amz-object-ownership header, your request can either not specify an ACL or specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent ACL expressed in the XML format. For more information, see Controlling object ownership in the Amazon S3 User Guide.

There are two ways to grant the appropriate permissions using the request headers.

You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

Permissions

In addition to s3:CreateBucket, the following permissions are required when your CreateBucket includes specific headers:

The following operations are related to CreateBucket:

", "CreateMultipartUpload": "

This action initiates a multipart upload and returns an upload ID. This upload ID is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests (see UploadPart). You also include this upload ID in the final request to either complete or abort the multipart upload request.

For more information about multipart uploads, see Multipart Upload Overview.

If you have configured a lifecycle rule to abort incomplete multipart uploads, the upload must complete within the number of days specified in the bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort action and Amazon S3 aborts the multipart upload. For more information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Policy.

For information about the permissions required to use the multipart upload API, see Multipart Upload and Permissions.

For request signing, multipart upload is just a series of regular requests. You initiate a multipart upload, send one or more requests to upload parts, and then complete the multipart upload process. You sign each request individually. There is nothing special about signing multipart upload requests. For more information about signing, see Authenticating Requests (Amazon Web Services Signature Version 4).

After you initiate a multipart upload and upload one or more parts, to stop being charged for storing the uploaded parts, you must either complete or abort the multipart upload. Amazon S3 frees up the space used to store the parts and stop charging you for storing them only after you either complete or abort a multipart upload.

You can optionally request server-side encryption. For server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. You can provide your own encryption key, or use Amazon Web Services KMS keys or Amazon S3-managed encryption keys. If you choose to provide your own encryption key, the request headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the request to initiate the upload by using CreateMultipartUpload.

To perform a multipart upload with encryption using an Amazon Web Services KMS key, the requester must have permission to the kms:Decrypt and kms:GenerateDataKey* actions on the key. These permissions are required because Amazon S3 must decrypt and read data from the encrypted file parts before it completes the multipart upload. For more information, see Multipart upload API and permissions in the Amazon S3 User Guide.

If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account as the KMS key, then you must have these permissions on the key policy. If your IAM user or role belongs to a different account than the key, then you must have the permissions on both the key policy and your IAM user or role.

For more information, see Protecting Data Using Server-Side Encryption.

Access Permissions

When copying an object, you can optionally specify the accounts or groups that should be granted specific permissions on the new object. There are two ways to grant the permissions using the request headers:

You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

Server-Side- Encryption-Specific Request Headers

You can optionally tell Amazon S3 to encrypt data at rest using server-side encryption. Server-side encryption is for data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts it when you access it. The option you use depends on whether you want to use Amazon Web Services managed encryption keys or provide your own encryption key.

Access-Control-List (ACL)-Specific Request Headers

You also can use the following access control–related headers with this operation. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the access control list (ACL) on the object. For more information, see Using ACLs. With this operation, you can grant access permissions using one of the following two methods:

The following operations are related to CreateMultipartUpload:

", "DeleteBucket": "

Deletes the S3 bucket. All objects (including all object versions and delete markers) in the bucket must be deleted before the bucket itself can be deleted.

Related Resources

", "DeleteBucketAnalyticsConfiguration": "

Deletes an analytics configuration for the bucket (specified by the analytics configuration ID).

To use this operation, you must have permissions to perform the s3:PutAnalyticsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

For information about the Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class Analysis.

The following operations are related to DeleteBucketAnalyticsConfiguration:

", "DeleteBucketCors": "

Deletes the cors configuration information set for the bucket.

To use this operation, you must have permission to perform the s3:PutBucketCORS action. The bucket owner has this permission by default and can grant this permission to others.

For information about cors, see Enabling Cross-Origin Resource Sharing in the Amazon S3 User Guide.

Related Resources:

", "DeleteBucketEncryption": "

This implementation of the DELETE action removes default encryption from the bucket. For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption in the Amazon S3 User Guide.

To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to your Amazon S3 Resources in the Amazon S3 User Guide.

Related Resources

", - "DeleteBucketIntelligentTieringConfiguration": "

Deletes the S3 Intelligent-Tiering configuration from the specified bucket.

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in two low latency and high throughput access tiers. For data that can be accessed asynchronously, you can choose to activate automatic archiving capabilities within the S3 Intelligent-Tiering storage class.

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

Operations related to DeleteBucketIntelligentTieringConfiguration include:

", + "DeleteBucketIntelligentTieringConfiguration": "

Deletes the S3 Intelligent-Tiering configuration from the specified bucket.

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

Operations related to DeleteBucketIntelligentTieringConfiguration include:

", "DeleteBucketInventoryConfiguration": "

Deletes an inventory configuration (identified by the inventory ID) from the bucket.

To use this operation, you must have permissions to perform the s3:PutInventoryConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

For information about the Amazon S3 inventory feature, see Amazon S3 Inventory.

Operations related to DeleteBucketInventoryConfiguration include:

", "DeleteBucketLifecycle": "

Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all the lifecycle configuration rules in the lifecycle subresource associated with the bucket. Your objects never expire, and Amazon S3 no longer automatically deletes any objects on the basis of rules contained in the deleted lifecycle configuration.

To use this operation, you must have permission to perform the s3:PutLifecycleConfiguration action. By default, the bucket owner has this permission and the bucket owner can grant this permission to others.

There is usually some time lag before lifecycle configuration deletion is fully propagated to all the Amazon S3 systems.

For more information about the object expiration, see Elements to Describe Lifecycle Actions.

Related actions include:

", "DeleteBucketMetricsConfiguration": "

Deletes a metrics configuration for the Amazon CloudWatch request metrics (specified by the metrics configuration ID) from the bucket. Note that this doesn't include the daily storage metrics.

To use this operation, you must have permissions to perform the s3:PutMetricsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon CloudWatch.

The following operations are related to DeleteBucketMetricsConfiguration:

", @@ -25,11 +25,11 @@ "DeleteObjects": "

This action enables you to delete multiple objects from a bucket using a single HTTP request. If you know the object keys that you want to delete, then this action provides a suitable alternative to sending individual delete requests, reducing per-request overhead.

The request contains a list of up to 1000 keys that you want to delete. In the XML, you provide the object key names, and optionally, version IDs if you want to delete a specific version of the object from a versioning-enabled bucket. For each key, Amazon S3 performs a delete action and returns the result of that delete, success, or failure, in the response. Note that if the object specified in the request is not found, Amazon S3 returns the result as deleted.

The action supports two modes for the response: verbose and quiet. By default, the action uses verbose mode in which the response includes the result of deletion of each key in your request. In quiet mode the response includes only keys where the delete action encountered an error. For a successful deletion, the action does not return any information about the delete in the response body.

When performing this action on an MFA Delete enabled bucket, that attempts to delete any versioned objects, you must include an MFA token. If you do not provide one, the entire request will fail, even if there are non-versioned objects you are trying to delete. If you provide an invalid token, whether there are versioned keys in the request or not, the entire Multi-Object Delete request will fail. For information about MFA Delete, see MFA Delete.

Finally, the Content-MD5 header is required for all Multi-Object Delete requests. Amazon S3 uses the header value to ensure that your request body has not been altered in transit.

The following operations are related to DeleteObjects:

", "DeletePublicAccessBlock": "

Removes the PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation, you must have the s3:PutBucketPublicAccessBlock permission. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

The following operations are related to DeletePublicAccessBlock:

", "GetBucketAccelerateConfiguration": "

This implementation of the GET action uses the accelerate subresource to return the Transfer Acceleration state of a bucket, which is either Enabled or Suspended. Amazon S3 Transfer Acceleration is a bucket-level feature that enables you to perform faster data transfers to and from Amazon S3.

To use this operation, you must have permission to perform the s3:GetAccelerateConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to your Amazon S3 Resources in the Amazon S3 User Guide.

You set the Transfer Acceleration state of an existing bucket to Enabled or Suspended by using the PutBucketAccelerateConfiguration operation.

A GET accelerate request does not return a state value for a bucket that has no transfer acceleration state. A bucket has no Transfer Acceleration state if a state has never been set on the bucket.

For more information about transfer acceleration, see Transfer Acceleration in the Amazon S3 User Guide.

Related Resources

", - "GetBucketAcl": "

This implementation of the GET action uses the acl subresource to return the access control list (ACL) of a bucket. To use GET to return the ACL of the bucket, you must have READ_ACP access to the bucket. If READ_ACP permission is granted to the anonymous user, you can return the ACL of the bucket without using an authorization header.

Related Resources

", + "GetBucketAcl": "

This implementation of the GET action uses the acl subresource to return the access control list (ACL) of a bucket. To use GET to return the ACL of the bucket, you must have READ_ACP access to the bucket. If READ_ACP permission is granted to the anonymous user, you can return the ACL of the bucket without using an authorization header.

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read ACLs are still supported and return the bucket-owner-full-control ACL with the owner being the account that created the bucket. For more information, see Controlling object ownership and disabling ACLs in the Amazon S3 User Guide.

Related Resources

", "GetBucketAnalyticsConfiguration": "

This implementation of the GET action returns an analytics configuration (identified by the analytics configuration ID) from the bucket.

To use this operation, you must have permissions to perform the s3:GetAnalyticsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.

For information about Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class Analysis in the Amazon S3 User Guide.

Related Resources

", "GetBucketCors": "

Returns the cors configuration information set for the bucket.

To use this operation, you must have permission to perform the s3:GetBucketCORS action. By default, the bucket owner has this permission and can grant it to others.

For more information about cors, see Enabling Cross-Origin Resource Sharing.

The following operations are related to GetBucketCors:

", "GetBucketEncryption": "

Returns the default encryption configuration for an Amazon S3 bucket. If the bucket does not have a default encryption configuration, GetBucketEncryption returns ServerSideEncryptionConfigurationNotFoundError.

For information about the Amazon S3 default encryption feature, see Amazon S3 Default Bucket Encryption.

To use this operation, you must have permission to perform the s3:GetEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

The following operations are related to GetBucketEncryption:

", - "GetBucketIntelligentTieringConfiguration": "

Gets the S3 Intelligent-Tiering configuration from the specified bucket.

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in two low latency and high throughput access tiers. For data that can be accessed asynchronously, you can choose to activate automatic archiving capabilities within the S3 Intelligent-Tiering storage class.

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

Operations related to GetBucketIntelligentTieringConfiguration include:

", + "GetBucketIntelligentTieringConfiguration": "

Gets the S3 Intelligent-Tiering configuration from the specified bucket.

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

Operations related to GetBucketIntelligentTieringConfiguration include:

", "GetBucketInventoryConfiguration": "

Returns an inventory configuration (identified by the inventory configuration ID) from the bucket.

To use this operation, you must have permissions to perform the s3:GetInventoryConfiguration action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

For information about the Amazon S3 inventory feature, see Amazon S3 Inventory.

The following operations are related to GetBucketInventoryConfiguration:

", "GetBucketLifecycle": "

For an updated version of this API, see GetBucketLifecycleConfiguration. If you configured a bucket lifecycle using the filter element, you should see the updated version of this topic. This topic is provided for backward compatibility.

Returns the lifecycle configuration information set on the bucket. For information about lifecycle configuration, see Object Lifecycle Management.

To use this operation, you must have permission to perform the s3:GetLifecycleConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

GetBucketLifecycle has the following special error:

The following operations are related to GetBucketLifecycle:

", "GetBucketLifecycleConfiguration": "

Bucket lifecycle configuration now supports specifying a lifecycle rule using an object key name prefix, one or more object tags, or a combination of both. Accordingly, this section describes the latest API. The response describes the new filter element that you can use to specify a filter to select a subset of objects to which the rule applies. If you are using a previous version of the lifecycle configuration, it still works. For the earlier action, see GetBucketLifecycle.

Returns the lifecycle configuration information set on the bucket. For information about lifecycle configuration, see Object Lifecycle Management.

To use this operation, you must have permission to perform the s3:GetLifecycleConfiguration action. The bucket owner has this permission, by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

GetBucketLifecycleConfiguration has the following special error:

The following operations are related to GetBucketLifecycleConfiguration:

", @@ -38,7 +38,7 @@ "GetBucketMetricsConfiguration": "

Gets a metrics configuration (specified by the metrics configuration ID) from the bucket. Note that this doesn't include the daily storage metrics.

To use this operation, you must have permissions to perform the s3:GetMetricsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon CloudWatch.

The following operations are related to GetBucketMetricsConfiguration:

", "GetBucketNotification": "

No longer used, see GetBucketNotificationConfiguration.

", "GetBucketNotificationConfiguration": "

Returns the notification configuration of a bucket.

If notifications are not enabled on the bucket, the action returns an empty NotificationConfiguration element.

By default, you must be the bucket owner to read the notification configuration of a bucket. However, the bucket owner can use a bucket policy to grant permission to other users to read this configuration with the s3:GetBucketNotification permission.

For more information about setting and reading the notification configuration on a bucket, see Setting Up Notification of Bucket Events. For more information about bucket policies, see Using Bucket Policies.

The following action is related to GetBucketNotification:

", - "GetBucketOwnershipControls": "

Retrieves OwnershipControls for an Amazon S3 bucket. To use this operation, you must have the s3:GetBucketOwnershipControls permission. For more information about Amazon S3 permissions, see Specifying Permissions in a Policy.

For information about Amazon S3 Object Ownership, see Using Object Ownership.

The following operations are related to GetBucketOwnershipControls:

", + "GetBucketOwnershipControls": "

Retrieves OwnershipControls for an Amazon S3 bucket. To use this operation, you must have the s3:GetBucketOwnershipControls permission. For more information about Amazon S3 permissions, see Specifying permissions in a policy.

For information about Amazon S3 Object Ownership, see Using Object Ownership.

The following operations are related to GetBucketOwnershipControls:

", "GetBucketPolicy": "

Returns the policy of a specified bucket. If you are using an identity other than the root user of the Amazon Web Services account that owns the bucket, the calling identity must have the GetBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.

If you don't have GetBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action.

For more information about bucket policies, see Using Bucket Policies and User Policies.

The following action is related to GetBucketPolicy:

", "GetBucketPolicyStatus": "

Retrieves the policy status for an Amazon S3 bucket, indicating whether the bucket is public. In order to use this operation, you must have the s3:GetBucketPolicyStatus permission. For more information about Amazon S3 permissions, see Specifying Permissions in a Policy.

For more information about when Amazon S3 considers a bucket public, see The Meaning of \"Public\".

The following operations are related to GetBucketPolicyStatus:

", "GetBucketReplication": "

Returns the replication configuration of a bucket.

It can take a while to propagate the put or delete a replication configuration to all Amazon S3 systems. Therefore, a get request soon after put or delete can return a wrong result.

For information about replication configuration, see Replication in the Amazon S3 User Guide.

This action requires permissions for the s3:GetReplicationConfiguration action. For more information about permissions, see Using Bucket Policies and User Policies.

If you include the Filter element in a replication configuration, you must also include the DeleteMarkerReplication and Priority elements. The response also returns those elements.

For information about GetBucketReplication errors, see List of replication-related error codes

The following operations are related to GetBucketReplication:

", @@ -47,7 +47,7 @@ "GetBucketVersioning": "

Returns the versioning state of a bucket.

To retrieve the versioning state of a bucket, you must be the bucket owner.

This implementation also returns the MFA Delete status of the versioning state. If the MFA Delete status is enabled, the bucket owner must use an authentication device to change the versioning state of the bucket.

The following operations are related to GetBucketVersioning:

", "GetBucketWebsite": "

Returns the website configuration for a bucket. To host website on Amazon S3, you can configure a bucket as website by adding a website configuration. For more information about hosting websites, see Hosting Websites on Amazon S3.

This GET action requires the S3:GetBucketWebsite permission. By default, only the bucket owner can read the bucket website configuration. However, bucket owners can allow other users to read the website configuration by writing a bucket policy granting them the S3:GetBucketWebsite permission.

The following operations are related to DeleteBucketWebsite:

", "GetObject": "

Retrieves objects from Amazon S3. To use GET, you must have READ access to the object. If you grant READ access to the anonymous user, you can return the object without using an authorization header.

An Amazon S3 bucket has no directory hierarchy such as you would find in a typical computer file system. You can, however, create a logical hierarchy by using object key names that imply a folder structure. For example, instead of naming an object sample.jpg, you can name it photos/2006/February/sample.jpg.

To get an object from such a logical hierarchy, specify the full key name for the object in the GET operation. For a virtual hosted-style request example, if you have the object photos/2006/February/sample.jpg, specify the resource as /photos/2006/February/sample.jpg. For a path-style request example, if you have the object photos/2006/February/sample.jpg in the bucket named examplebucket, specify the resource as /examplebucket/photos/2006/February/sample.jpg. For more information about request types, see HTTP Host Header Bucket Specification.

To distribute large files to many people, you can save bandwidth costs by using BitTorrent. For more information, see Amazon S3 Torrent. For more information about returning the ACL of an object, see GetObjectAcl.

If the object you are retrieving is stored in the S3 Glacier or S3 Glacier Deep Archive storage class, or S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you must first restore a copy using RestoreObject. Otherwise, this action returns an InvalidObjectStateError error. For information about restoring archived objects, see Restoring Archived Objects.

Encryption request headers, like x-amz-server-side-encryption, should not be sent for GET requests if your object uses server-side encryption with KMS keys (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 BadRequest error.

If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you GET the object, you must use the following headers:

For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys).

Assuming you have the relevant permission to read object tags, the response also returns the x-amz-tagging-count header that provides the count of number of tags associated with the object. You can use GetObjectTagging to retrieve the tag set associated with an object.

Permissions

You need the relevant read object (or version) permission for this operation. For more information, see Specifying Permissions in a Policy. If the object you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

Versioning

By default, the GET action returns the current version of an object. To return a different version, use the versionId subresource.

For more information about versioning, see PutBucketVersioning.

Overriding Response Header Values

There are times when you want to override certain response header values in a GET response. For example, you might override the Content-Disposition response header value in your GET request.

You can override values for a set of response headers using the following query parameters. These response header values are sent only on a successful request, that is, when status code 200 OK is returned. The set of headers you can override using these parameters is a subset of the headers that Amazon S3 accepts when you create an object. The response headers that you can override for the GET response are Content-Type, Content-Language, Expires, Cache-Control, Content-Disposition, and Content-Encoding. To override these header values in the GET response, you use the following request parameters.

You must sign the request, either using an Authorization header or a presigned URL, when using these parameters. They cannot be used with an unsigned (anonymous) request.

Additional Considerations about Request Headers

If both of the If-Match and If-Unmodified-Since headers are present in the request as follows: If-Match condition evaluates to true, and; If-Unmodified-Since condition evaluates to false; then, S3 returns 200 OK and the data requested.

If both of the If-None-Match and If-Modified-Since headers are present in the request as follows: If-None-Match condition evaluates to false, and; If-Modified-Since condition evaluates to true; then, S3 returns 304 Not Modified response code.

For more information about conditional requests, see RFC 7232.

The following operations are related to GetObject:

", - "GetObjectAcl": "

Returns the access control list (ACL) of an object. To use this operation, you must have READ_ACP access to the object.

This action is not supported by Amazon S3 on Outposts.

Versioning

By default, GET returns ACL information about the current version of an object. To return ACL information about a different version, use the versionId subresource.

The following operations are related to GetObjectAcl:

", + "GetObjectAcl": "

Returns the access control list (ACL) of an object. To use this operation, you must have READ_ACP access to the object.

This action is not supported by Amazon S3 on Outposts.

Versioning

By default, GET returns ACL information about the current version of an object. To return ACL information about a different version, use the versionId subresource.

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read ACLs are still supported and return the bucket-owner-full-control ACL with the owner being the account that created the bucket. For more information, see Controlling object ownership and disabling ACLs in the Amazon S3 User Guide.

The following operations are related to GetObjectAcl:

", "GetObjectLegalHold": "

Gets an object's current Legal Hold status. For more information, see Locking Objects.

This action is not supported by Amazon S3 on Outposts.

", "GetObjectLockConfiguration": "

Gets the Object Lock configuration for a bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see Locking Objects.

", "GetObjectRetention": "

Retrieves an object's retention settings. For more information, see Locking Objects.

This action is not supported by Amazon S3 on Outposts.

", @@ -57,7 +57,7 @@ "HeadBucket": "

This action is useful to determine if a bucket exists and you have permission to access it. The action returns a 200 OK if the bucket exists and you have permission to access it.

If the bucket does not exist or you do not have permission to access it, the HEAD request returns a generic 404 Not Found or 403 Forbidden code. A message body is not included, so you cannot determine the exception beyond these error codes.

To use this operation, you must have permissions to perform the s3:ListBucket action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

To use this API against an access point, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using the Amazon Web Services SDKs, you provide the ARN in place of the bucket name. For more information see, Using access points.

", "HeadObject": "

The HEAD action retrieves metadata from an object without returning the object itself. This action is useful if you're only interested in an object's metadata. To use HEAD, you must have READ access to the object.

A HEAD request has the same options as a GET action on an object. The response is identical to the GET response except that there is no response body. Because of this, if the HEAD request generates an error, it returns a generic 404 Not Found or 403 Forbidden code. It is not possible to retrieve the exact exception beyond these error codes.

If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers:

For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys).

Request headers are limited to 8 KB in size. For more information, see Common Request Headers.

Consider the following when using request headers:

For more information about conditional requests, see RFC 7232.

Permissions

You need the relevant read object (or version) permission for this operation. For more information, see Specifying Permissions in a Policy. If the object you request does not exist, the error Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

The following action is related to HeadObject:

", "ListBucketAnalyticsConfigurations": "

Lists the analytics configurations for the bucket. You can have up to 1,000 analytics configurations per bucket.

This action supports list pagination and does not return more than 100 configurations at a time. You should always check the IsTruncated element in the response. If there are no more configurations to list, IsTruncated is set to false. If there are more configurations to list, IsTruncated is set to true, and there will be a value in NextContinuationToken. You use the NextContinuationToken value to continue the pagination of the list by passing the value in continuation-token in the request to GET the next page.

To use this operation, you must have permissions to perform the s3:GetAnalyticsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

For information about Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class Analysis.

The following operations are related to ListBucketAnalyticsConfigurations:

", - "ListBucketIntelligentTieringConfigurations": "

Lists the S3 Intelligent-Tiering configuration from the specified bucket.

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in two low latency and high throughput access tiers. For data that can be accessed asynchronously, you can choose to activate automatic archiving capabilities within the S3 Intelligent-Tiering storage class.

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

Operations related to ListBucketIntelligentTieringConfigurations include:

", + "ListBucketIntelligentTieringConfigurations": "

Lists the S3 Intelligent-Tiering configuration from the specified bucket.

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

Operations related to ListBucketIntelligentTieringConfigurations include:

", "ListBucketInventoryConfigurations": "

Returns a list of inventory configurations for the bucket. You can have up to 1,000 analytics configurations per bucket.

This action supports list pagination and does not return more than 100 configurations at a time. Always check the IsTruncated element in the response. If there are no more configurations to list, IsTruncated is set to false. If there are more configurations to list, IsTruncated is set to true, and there is a value in NextContinuationToken. You use the NextContinuationToken value to continue the pagination of the list by passing the value in continuation-token in the request to GET the next page.

To use this operation, you must have permissions to perform the s3:GetInventoryConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

For information about the Amazon S3 inventory feature, see Amazon S3 Inventory

The following operations are related to ListBucketInventoryConfigurations:

", "ListBucketMetricsConfigurations": "

Lists the metrics configurations for the bucket. The metrics configurations are only for the request metrics of the bucket and do not provide information on daily storage metrics. You can have up to 1,000 configurations per bucket.

This action supports list pagination and does not return more than 100 configurations at a time. Always check the IsTruncated element in the response. If there are no more configurations to list, IsTruncated is set to false. If there are more configurations to list, IsTruncated is set to true, and there is a value in NextContinuationToken. You use the NextContinuationToken value to continue the pagination of the list by passing the value in continuation-token in the request to GET the next page.

To use this operation, you must have permissions to perform the s3:GetMetricsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

For more information about metrics configurations and CloudWatch request metrics, see Monitoring Metrics with Amazon CloudWatch.

The following operations are related to ListBucketMetricsConfigurations:

", "ListBuckets": "

Returns a list of all buckets owned by the authenticated sender of the request.

", @@ -67,27 +67,27 @@ "ListObjectsV2": "

Returns some or all (up to 1,000) of the objects in a bucket with each request. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately. Objects are returned sorted in an ascending order of the respective key names in the list. For more information about listing objects, see Listing object keys programmatically

To use this operation, you must have READ access to the bucket.

To use this action in an Identity and Access Management (IAM) policy, you must have permissions to perform the s3:ListBucket action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

This section describes the latest revision of this action. We recommend that you use this revised API for application development. For backward compatibility, Amazon S3 continues to support the prior version of this API, ListObjects.

To get a list of your buckets, see ListBuckets.

The following operations are related to ListObjectsV2:

", "ListParts": "

Lists the parts that have been uploaded for a specific multipart upload. This operation must include the upload ID, which you obtain by sending the initiate multipart upload request (see CreateMultipartUpload). This request returns a maximum of 1,000 uploaded parts. The default number of parts returned is 1,000 parts. You can restrict the number of parts returned by specifying the max-parts request parameter. If your multipart upload consists of more than 1,000 parts, the response returns an IsTruncated field with the value of true, and a NextPartNumberMarker element. In subsequent ListParts requests you can include the part-number-marker query string parameter and set its value to the NextPartNumberMarker field value from the previous response.

For more information on multipart uploads, see Uploading Objects Using Multipart Upload.

For information on permissions required to use the multipart upload API, see Multipart Upload and Permissions.

The following operations are related to ListParts:

", "PutBucketAccelerateConfiguration": "

Sets the accelerate configuration of an existing bucket. Amazon S3 Transfer Acceleration is a bucket-level feature that enables you to perform faster data transfers to Amazon S3.

To use this operation, you must have permission to perform the s3:PutAccelerateConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

The Transfer Acceleration state of a bucket can be set to one of the following two values:

The GetBucketAccelerateConfiguration action returns the transfer acceleration state of a bucket.

After setting the Transfer Acceleration state of a bucket to Enabled, it might take up to thirty minutes before the data transfer rates to the bucket increase.

The name of the bucket used for Transfer Acceleration must be DNS-compliant and must not contain periods (\".\").

For more information about transfer acceleration, see Transfer Acceleration.

The following operations are related to PutBucketAccelerateConfiguration:

", - "PutBucketAcl": "

Sets the permissions on an existing bucket using access control lists (ACL). For more information, see Using ACLs. To set the ACL of a bucket, you must have WRITE_ACP permission.

You can use one of the following two ways to set a bucket's permissions:

You cannot specify access permission using both the body and the request headers.

Depending on your application needs, you may choose to set the ACL on a bucket using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, then you can continue to use that approach.

Access Permissions

You can set access permissions using one of the following methods:

You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

Grantee Values

You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways:

Related Resources

", + "PutBucketAcl": "

Sets the permissions on an existing bucket using access control lists (ACL). For more information, see Using ACLs. To set the ACL of a bucket, you must have WRITE_ACP permission.

You can use one of the following two ways to set a bucket's permissions:

You cannot specify access permission using both the body and the request headers.

Depending on your application needs, you may choose to set the ACL on a bucket using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, then you can continue to use that approach.

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return the AccessControlListNotSupported error code. Requests to read ACLs are still supported. For more information, see Controlling object ownership in the Amazon S3 User Guide.

Access Permissions

You can set access permissions using one of the following methods:

You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

Grantee Values

You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways:

Related Resources

", "PutBucketAnalyticsConfiguration": "

Sets an analytics configuration for the bucket (specified by the analytics configuration ID). You can have up to 1,000 analytics configurations per bucket.

You can choose to have storage class analysis export analysis reports sent to a comma-separated values (CSV) flat file. See the DataExport request element. Reports are updated daily and are based on the object filters that you configure. When selecting data export, you specify a destination bucket and an optional destination prefix where the file is written. You can export the data to a destination bucket in a different account. However, the destination bucket must be in the same Region as the bucket that you are making the PUT analytics configuration to. For more information, see Amazon S3 Analytics – Storage Class Analysis.

You must create a bucket policy on the destination bucket where the exported file is written to grant permissions to Amazon S3 to write objects to the bucket. For an example policy, see Granting Permissions for Amazon S3 Inventory and Storage Class Analysis.

To use this operation, you must have permissions to perform the s3:PutAnalyticsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

Special Errors

Related Resources

", "PutBucketCors": "

Sets the cors configuration for your bucket. If the configuration exists, Amazon S3 replaces it.

To use this operation, you must be allowed to perform the s3:PutBucketCORS action. By default, the bucket owner has this permission and can grant it to others.

You set this configuration on a bucket so that the bucket can service cross-origin requests. For example, you might want to enable a request whose origin is http://www.example.com to access your Amazon S3 bucket at my.example.bucket.com by using the browser's XMLHttpRequest capability.

To enable cross-origin resource sharing (CORS) on a bucket, you add the cors subresource to the bucket. The cors subresource is an XML document in which you configure rules that identify origins and the HTTP methods that can be executed on your bucket. The document is limited to 64 KB in size.

When Amazon S3 receives a cross-origin request (or a pre-flight OPTIONS request) against a bucket, it evaluates the cors configuration on the bucket and uses the first CORSRule rule that matches the incoming browser request to enable a cross-origin request. For a rule to match, the following conditions must be met:

For more information about CORS, go to Enabling Cross-Origin Resource Sharing in the Amazon S3 User Guide.

Related Resources

", "PutBucketEncryption": "

This action uses the encryption subresource to configure default encryption and Amazon S3 Bucket Key for an existing bucket.

Default encryption for a bucket can use server-side encryption with Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). If you specify default encryption using SSE-KMS, you can also configure Amazon S3 Bucket Key. For information about default encryption, see Amazon S3 default bucket encryption in the Amazon S3 User Guide. For more information about S3 Bucket Keys, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

This action requires Amazon Web Services Signature Version 4. For more information, see Authenticating Requests (Amazon Web Services Signature Version 4).

To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.

Related Resources

", - "PutBucketIntelligentTieringConfiguration": "

Puts a S3 Intelligent-Tiering configuration to the specified bucket. You can have up to 1,000 S3 Intelligent-Tiering configurations per bucket.

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in two low latency and high throughput access tiers. For data that can be accessed asynchronously, you can choose to activate automatic archiving capabilities within the S3 Intelligent-Tiering storage class.

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

Operations related to PutBucketIntelligentTieringConfiguration include:

You only need S3 Intelligent-Tiering enabled on a bucket if you want to automatically move objects stored in the S3 Intelligent-Tiering storage class to the Archive Access or Deep Archive Access tier.

Special Errors

", + "PutBucketIntelligentTieringConfiguration": "

Puts a S3 Intelligent-Tiering configuration to the specified bucket. You can have up to 1,000 S3 Intelligent-Tiering configurations per bucket.

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

Operations related to PutBucketIntelligentTieringConfiguration include:

You only need S3 Intelligent-Tiering enabled on a bucket if you want to automatically move objects stored in the S3 Intelligent-Tiering storage class to the Archive Access or Deep Archive Access tier.

Special Errors

", "PutBucketInventoryConfiguration": "

This implementation of the PUT action adds an inventory configuration (identified by the inventory ID) to the bucket. You can have up to 1,000 inventory configurations per bucket.

Amazon S3 inventory generates inventories of the objects in the bucket on a daily or weekly basis, and the results are published to a flat file. The bucket that is inventoried is called the source bucket, and the bucket where the inventory flat file is stored is called the destination bucket. The destination bucket must be in the same Amazon Web Services Region as the source bucket.

When you configure an inventory for a source bucket, you specify the destination bucket where you want the inventory to be stored, and whether to generate the inventory daily or weekly. You can also configure what object metadata to include and whether to inventory all object versions or only current versions. For more information, see Amazon S3 Inventory in the Amazon S3 User Guide.

You must create a bucket policy on the destination bucket to grant permissions to Amazon S3 to write objects to the bucket in the defined location. For an example policy, see Granting Permissions for Amazon S3 Inventory and Storage Class Analysis.

To use this operation, you must have permissions to perform the s3:PutInventoryConfiguration action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources in the Amazon S3 User Guide.

Special Errors

Related Resources

", "PutBucketLifecycle": "

For an updated version of this API, see PutBucketLifecycleConfiguration. This version has been deprecated. Existing lifecycle configurations will work. For new lifecycle configurations, use the updated API.

Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle configuration. For information about lifecycle configuration, see Object Lifecycle Management in the Amazon S3 User Guide.

By default, all Amazon S3 resources, including buckets, objects, and related subresources (for example, lifecycle configuration and website configuration) are private. Only the resource owner, the Amazon Web Services account that created the resource, can access it. The resource owner can optionally grant access permissions to others by writing an access policy. For this operation, users must get the s3:PutLifecycleConfiguration permission.

You can also explicitly deny permissions. Explicit denial also supersedes any other permissions. If you want to prevent users or accounts from removing or deleting objects from your bucket, you must deny them permissions for the following actions:

For more information about permissions, see Managing Access Permissions to your Amazon S3 Resources in the Amazon S3 User Guide.

For more examples of transitioning objects to storage classes such as STANDARD_IA or ONEZONE_IA, see Examples of Lifecycle Configuration.

Related Resources

", "PutBucketLifecycleConfiguration": "

Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle configuration. For information about lifecycle configuration, see Managing your storage lifecycle.

Bucket lifecycle configuration now supports specifying a lifecycle rule using an object key name prefix, one or more object tags, or a combination of both. Accordingly, this section describes the latest API. The previous version of the API supported filtering based only on an object key name prefix, which is supported for backward compatibility. For the related API description, see PutBucketLifecycle.

Rules

You specify the lifecycle configuration in your request body. The lifecycle configuration is specified as XML consisting of one or more rules. Each rule consists of the following:

For more information, see Object Lifecycle Management and Lifecycle Configuration Elements.

Permissions

By default, all Amazon S3 resources are private, including buckets, objects, and related subresources (for example, lifecycle configuration and website configuration). Only the resource owner (that is, the Amazon Web Services account that created it) can access the resource. The resource owner can optionally grant access permissions to others by writing an access policy. For this operation, a user must get the s3:PutLifecycleConfiguration permission.

You can also explicitly deny permissions. Explicit deny also supersedes any other permissions. If you want to block users or accounts from removing or deleting objects from your bucket, you must deny them permissions for the following actions:

For more information about permissions, see Managing Access Permissions to Your Amazon S3 Resources.

The following are related to PutBucketLifecycleConfiguration:

", - "PutBucketLogging": "

Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as the source bucket. To set the logging status of a bucket, you must be the bucket owner.

The bucket owner is automatically granted FULL_CONTROL to all logs. You use the Grantee request element to grant access to other people. The Permissions request element specifies the kind of access the grantee has to the logs.

Grantee Values

You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways:

To enable logging, you use LoggingEnabled and its children request elements. To disable logging, you use an empty BucketLoggingStatus request element:

<BucketLoggingStatus xmlns=\"http://doc.s3.amazonaws.com/2006-03-01\" />

For more information about server access logging, see Server Access Logging.

For more information about creating a bucket, see CreateBucket. For more information about returning the logging status of a bucket, see GetBucketLogging.

The following operations are related to PutBucketLogging:

", + "PutBucketLogging": "

Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as the source bucket. To set the logging status of a bucket, you must be the bucket owner.

The bucket owner is automatically granted FULL_CONTROL to all logs. You use the Grantee request element to grant access to other people. The Permissions request element specifies the kind of access the grantee has to the logs.

If the target bucket for log delivery uses the bucket owner enforced setting for S3 Object Ownership, you can't use the Grantee request element to grant access to others. Permissions can only be granted using policies. For more information, see Permissions for server access log delivery in the Amazon S3 User Guide.

Grantee Values

You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways:

To enable logging, you use LoggingEnabled and its children request elements. To disable logging, you use an empty BucketLoggingStatus request element:

<BucketLoggingStatus xmlns=\"http://doc.s3.amazonaws.com/2006-03-01\" />

For more information about server access logging, see Server Access Logging in the Amazon S3 User Guide.

For more information about creating a bucket, see CreateBucket. For more information about returning the logging status of a bucket, see GetBucketLogging.

The following operations are related to PutBucketLogging:

", "PutBucketMetricsConfiguration": "

Sets a metrics configuration (specified by the metrics configuration ID) for the bucket. You can have up to 1,000 metrics configurations per bucket. If you're updating an existing metrics configuration, note that this is a full replacement of the existing metrics configuration. If you don't include the elements you want to keep, they are erased.

To use this operation, you must have permissions to perform the s3:PutMetricsConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon CloudWatch.

The following operations are related to PutBucketMetricsConfiguration:

GetBucketLifecycle has the following special error:

", "PutBucketNotification": "

No longer used, see the PutBucketNotificationConfiguration operation.

", "PutBucketNotificationConfiguration": "

Enables notifications of specified events for a bucket. For more information about event notifications, see Configuring Event Notifications.

Using this API, you can replace an existing notification configuration. The configuration is an XML file that defines the event types that you want Amazon S3 to publish and the destination where you want Amazon S3 to publish an event notification when it detects an event of the specified type.

By default, your bucket has no event notifications configured. That is, the notification configuration will be an empty NotificationConfiguration.

<NotificationConfiguration>

</NotificationConfiguration>

This action replaces the existing notification configuration with the configuration you include in the request body.

After Amazon S3 receives this request, it first verifies that any Amazon Simple Notification Service (Amazon SNS) or Amazon Simple Queue Service (Amazon SQS) destination exists, and that the bucket owner has permission to publish to it by sending a test notification. In the case of Lambda destinations, Amazon S3 verifies that the Lambda function permissions grant Amazon S3 permission to invoke the function from the Amazon S3 bucket. For more information, see Configuring Notifications for Amazon S3 Events.

You can disable notifications by adding the empty NotificationConfiguration element.

By default, only the bucket owner can configure notifications on a bucket. However, bucket owners can use a bucket policy to grant permission to other users to set this configuration with s3:PutBucketNotification permission.

The PUT notification is an atomic operation. For example, suppose your notification configuration includes SNS topic, SQS queue, and Lambda function configurations. When you send a PUT request with this configuration, Amazon S3 sends test messages to your SNS topic. If the message fails, the entire PUT action will fail, and Amazon S3 will not add the configuration to your bucket.

Responses

If the configuration in the request body includes only one TopicConfiguration specifying only the s3:ReducedRedundancyLostObject event type, the response will also include the x-amz-sns-test-message-id header containing the message ID of the test notification sent to the topic.

The following action is related to PutBucketNotificationConfiguration:

", - "PutBucketOwnershipControls": "

Creates or modifies OwnershipControls for an Amazon S3 bucket. To use this operation, you must have the s3:PutBucketOwnershipControls permission. For more information about Amazon S3 permissions, see Specifying Permissions in a Policy.

For information about Amazon S3 Object Ownership, see Using Object Ownership.

The following operations are related to PutBucketOwnershipControls:

", + "PutBucketOwnershipControls": "

Creates or modifies OwnershipControls for an Amazon S3 bucket. To use this operation, you must have the s3:PutBucketOwnershipControls permission. For more information about Amazon S3 permissions, see Specifying permissions in a policy.

For information about Amazon S3 Object Ownership, see Using object ownership.

The following operations are related to PutBucketOwnershipControls:

", "PutBucketPolicy": "

Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an identity other than the root user of the Amazon Web Services account that owns the bucket, the calling identity must have the PutBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this operation.

If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can always use this operation, even if the policy explicitly denies the root user the ability to perform this action.

For more information, see Bucket policy examples.

The following operations are related to PutBucketPolicy:

", "PutBucketReplication": "

Creates a replication configuration or replaces an existing one. For more information, see Replication in the Amazon S3 User Guide.

Specify the replication configuration in the request body. In the replication configuration, you provide the name of the destination bucket or buckets where you want Amazon S3 to replicate objects, the IAM role that Amazon S3 can assume to replicate objects on your behalf, and other relevant information.

A replication configuration must include at least one rule, and can contain a maximum of 1,000. Each rule identifies a subset of objects to replicate by filtering the objects in the source bucket. To choose additional subsets of objects to replicate, add a rule for each subset.

To specify a subset of the objects in the source bucket to apply a replication rule to, add the Filter element as a child of the Rule element. You can filter objects based on an object key prefix, one or more object tags, or both. When you add the Filter element in the configuration, you must also add the following elements: DeleteMarkerReplication, Status, and Priority.

If you are using an earlier version of the replication configuration, Amazon S3 handles replication of delete markers differently. For more information, see Backward Compatibility.

For information about enabling versioning on a bucket, see Using Versioning.

Handling Replication of Encrypted Objects

By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side encryption with KMS keys. To replicate Amazon Web Services KMS-encrypted objects, add the following: SourceSelectionCriteria, SseKmsEncryptedObjects, Status, EncryptionConfiguration, and ReplicaKmsKeyID. For information about replication configuration, see Replicating Objects Created with SSE Using KMS keys.

For information on PutBucketReplication errors, see List of replication-related error codes

Permissions

To create a PutBucketReplication request, you must have s3:PutReplicationConfiguration permissions for the bucket.

By default, a resource owner, in this case the Amazon Web Services account that created the bucket, can perform this operation. The resource owner can also grant others permissions to perform the operation. For more information about permissions, see Specifying Permissions in a Policy and Managing Access Permissions to Your Amazon S3 Resources.

To perform this operation, the user or role performing the action must have the iam:PassRole permission.

The following operations are related to PutBucketReplication:

", "PutBucketRequestPayment": "

Sets the request payment configuration for a bucket. By default, the bucket owner pays for downloads from the bucket. This configuration parameter enables the bucket owner (only) to specify that the person requesting the download will be charged for the download. For more information, see Requester Pays Buckets.

The following operations are related to PutBucketRequestPayment:

", "PutBucketTagging": "

Sets the tags for a bucket.

Use tags to organize your Amazon Web Services bill to reflect your own cost structure. To do this, sign up to get your Amazon Web Services account bill with tag key values included. Then, to see the cost of combined resources, organize your billing information according to resources with the same tag key values. For example, you can tag several resources with a specific application name, and then organize your billing information to see the total cost of that application across several services. For more information, see Cost Allocation and Tagging and Using Cost Allocation in Amazon S3 Bucket Tags.

When this operation sets the tags for a bucket, it will overwrite any current tags the bucket already has. You cannot use this operation to add tags to an existing list of tags.

To use this operation, you must have permissions to perform the s3:PutBucketTagging action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

PutBucketTagging has the following special errors:

The following operations are related to PutBucketTagging:

", "PutBucketVersioning": "

Sets the versioning state of an existing bucket. To set the versioning state, you must be the bucket owner.

You can set the versioning state with one of the following values:

Enabled—Enables versioning for the objects in the bucket. All objects added to the bucket receive a unique version ID.

Suspended—Disables versioning for the objects in the bucket. All objects added to the bucket receive the version ID null.

If the versioning state has never been set on a bucket, it has no versioning state; a GetBucketVersioning request does not return a versioning state value.

If the bucket owner enables MFA Delete in the bucket versioning configuration, the bucket owner must include the x-amz-mfa request header and the Status and the MfaDelete request elements in a request to set the versioning state of the bucket.

If you have an object expiration lifecycle policy in your non-versioned bucket and you want to maintain the same permanent delete behavior when you enable versioning, you must add a noncurrent expiration policy. The noncurrent expiration lifecycle policy will manage the deletes of the noncurrent object versions in the version-enabled bucket. (A version-enabled bucket maintains one current and zero or more noncurrent object versions.) For more information, see Lifecycle and Versioning.

Related Resources

", "PutBucketWebsite": "

Sets the configuration of the website that is specified in the website subresource. To configure a bucket as a website, you can add this subresource on the bucket with website configuration information such as the file name of the index document and any redirect rules. For more information, see Hosting Websites on Amazon S3.

This PUT action requires the S3:PutBucketWebsite permission. By default, only the bucket owner can configure the website attached to a bucket; however, bucket owners can allow other users to set the website configuration by writing a bucket policy that grants them the S3:PutBucketWebsite permission.

To redirect all website requests sent to the bucket's website endpoint, you add a website configuration with the following elements. Because all requests are sent to another website, you don't need to provide index document name for the bucket.

If you want granular control over redirects, you can use the following elements to add routing rules that describe conditions for redirecting requests and information about the redirect destination. In this case, the website configuration must provide an index document for the bucket, because some requests might not be redirected.

Amazon S3 has a limitation of 50 routing rules per website configuration. If you require more than 50 routing rules, you can use object redirect. For more information, see Configuring an Object Redirect in the Amazon S3 User Guide.

", - "PutObject": "

Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object to it.

Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire object to the bucket.

Amazon S3 is a distributed system. If it receives multiple write requests for the same object simultaneously, it overwrites all but the last object written. Amazon S3 does not provide object locking; if you need this, make sure to build it into your application layer or use versioning instead.

To ensure that data is not corrupted traversing the network, use the Content-MD5 header. When you use this header, Amazon S3 checks the object against the provided MD5 value and, if they do not match, returns an error. Additionally, you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to the calculated MD5 value.

Server-side Encryption

You can optionally request server-side encryption. With server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts the data when you access it. You have the option to provide your own encryption key or use Amazon Web Services managed encryption keys (SSE-S3 or SSE-KMS). For more information, see Using Server-Side Encryption.

If you request server-side encryption using Amazon Web Services Key Management Service (SSE-KMS), you can enable an S3 Bucket Key at the object-level. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

Access Control List (ACL)-Specific Request Headers

You can use headers to grant ACL- based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API.

Storage Class Options

By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The STANDARD storage class provides high durability and high availability. Depending on performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For more information, see Storage Classes in the Amazon S3 User Guide.

Versioning

If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID for the object being stored. Amazon S3 returns this ID in the response. When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all of the objects.

For more information about versioning, see Adding Objects to Versioning Enabled Buckets. For information about returning the versioning state of a bucket, see GetBucketVersioning.

Related Resources

", - "PutObjectAcl": "

Uses the acl subresource to set the access control list (ACL) permissions for a new or existing object in an S3 bucket. You must have WRITE_ACP permission to set the ACL of an object. For more information, see What permissions can I grant? in the Amazon S3 User Guide.

This action is not supported by Amazon S3 on Outposts.

Depending on your application needs, you can choose to set the ACL on an object using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, you can continue to use that approach. For more information, see Access Control List (ACL) Overview in the Amazon S3 User Guide.

Access Permissions

You can set access permissions using one of the following methods:

You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

Grantee Values

You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways:

Versioning

The ACL of an object is set at the object version level. By default, PUT sets the ACL of the current version of an object. To set the ACL of a different version, use the versionId subresource.

Related Resources

", + "PutObject": "

Adds an object to a bucket. You must have WRITE permissions on a bucket to add an object to it.

Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire object to the bucket.

Amazon S3 is a distributed system. If it receives multiple write requests for the same object simultaneously, it overwrites all but the last object written. Amazon S3 does not provide object locking; if you need this, make sure to build it into your application layer or use versioning instead.

To ensure that data is not corrupted traversing the network, use the Content-MD5 header. When you use this header, Amazon S3 checks the object against the provided MD5 value and, if they do not match, returns an error. Additionally, you can calculate the MD5 while putting an object to Amazon S3 and compare the returned ETag to the calculated MD5 value.

Server-side Encryption

You can optionally request server-side encryption. With server-side encryption, Amazon S3 encrypts your data as it writes it to disks in its data centers and decrypts the data when you access it. You have the option to provide your own encryption key or use Amazon Web Services managed encryption keys (SSE-S3 or SSE-KMS). For more information, see Using Server-Side Encryption.

If you request server-side encryption using Amazon Web Services Key Management Service (SSE-KMS), you can enable an S3 Bucket Key at the object-level. For more information, see Amazon S3 Bucket Keys in the Amazon S3 User Guide.

Access Control List (ACL)-Specific Request Headers

You can use headers to grant ACL- based permissions. By default, all objects are private. Only the owner has full access control. When adding a new object, you can grant permissions to individual Amazon Web Services accounts or to predefined groups defined by Amazon S3. These permissions are then added to the ACL on the object. For more information, see Access Control List (ACL) Overview and Managing ACLs Using the REST API.

If the bucket that you're uploading objects to uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. Buckets that use this setting only accept PUT requests that don't specify an ACL or PUT requests that specify bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format. PUT requests that contain other ACLs (for example, custom grants to certain Amazon Web Services accounts) fail and return a 400 error with the error code AccessControlListNotSupported.

For more information, see Controlling ownership of objects and disabling ACLs in the Amazon S3 User Guide.

If your bucket uses the bucket owner enforced setting for Object Ownership, all objects written to the bucket by any account will be owned by the bucket owner.

Storage Class Options

By default, Amazon S3 uses the STANDARD Storage Class to store newly created objects. The STANDARD storage class provides high durability and high availability. Depending on performance needs, you can specify a different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For more information, see Storage Classes in the Amazon S3 User Guide.

Versioning

If you enable versioning for a bucket, Amazon S3 automatically generates a unique version ID for the object being stored. Amazon S3 returns this ID in the response. When you enable versioning for a bucket, if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all of the objects.

For more information about versioning, see Adding Objects to Versioning Enabled Buckets. For information about returning the versioning state of a bucket, see GetBucketVersioning.

Related Resources

", + "PutObjectAcl": "

Uses the acl subresource to set the access control list (ACL) permissions for a new or existing object in an S3 bucket. You must have WRITE_ACP permission to set the ACL of an object. For more information, see What permissions can I grant? in the Amazon S3 User Guide.

This action is not supported by Amazon S3 on Outposts.

Depending on your application needs, you can choose to set the ACL on an object using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, you can continue to use that approach. For more information, see Access Control List (ACL) Overview in the Amazon S3 User Guide.

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return the AccessControlListNotSupported error code. Requests to read ACLs are still supported. For more information, see Controlling object ownership in the Amazon S3 User Guide.

Access Permissions

You can set access permissions using one of the following methods:

You can use either a canned ACL or specify access permissions explicitly. You cannot do both.

Grantee Values

You can specify the person (grantee) to whom you're assigning access rights (using request elements) in the following ways:

Versioning

The ACL of an object is set at the object version level. By default, PUT sets the ACL of the current version of an object. To set the ACL of a different version, use the versionId subresource.

Related Resources

", "PutObjectLegalHold": "

Applies a Legal Hold configuration to the specified object. For more information, see Locking Objects.

This action is not supported by Amazon S3 on Outposts.

", "PutObjectLockConfiguration": "

Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock configuration will be applied by default to every new object placed in the specified bucket. For more information, see Locking Objects.

", "PutObjectRetention": "

Places an Object Retention configuration on an object. For more information, see Locking Objects. Users or accounts require the s3:PutObjectRetention permission in order to place an Object Retention configuration on objects. Bypassing a Governance Retention configuration requires the s3:BypassGovernanceRetention permission.

This action is not supported by Amazon S3 on Outposts.

Permissions

When the Object Lock retention mode is set to compliance, you need s3:PutObjectRetention and s3:BypassGovernanceRetention permissions. For other requests to PutObjectRetention, only s3:PutObjectRetention permissions are required.

", @@ -2538,7 +2538,7 @@ } }, "NoncurrentVersionTransition": { - "base": "

Container for the transition rule that describes when noncurrent objects transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, or DEEP_ARCHIVE storage class at a specific period in the object's lifetime.

", + "base": "

Container for the transition rule that describes when noncurrent objects transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER_IR, GLACIER, or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER_IR, GLACIER, or DEEP_ARCHIVE storage class at a specific period in the object's lifetime.

", "refs": { "NoncurrentVersionTransitionList$member": null, "Rule$NoncurrentVersionTransition": null @@ -2754,8 +2754,9 @@ } }, "ObjectOwnership": { - "base": "

The container element for object ownership for a bucket's ownership controls.

BucketOwnerPreferred - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the bucket-owner-full-control canned ACL.

ObjectWriter - The uploading account will own the object if the object is uploaded with the bucket-owner-full-control canned ACL.

", + "base": "

The container element for object ownership for a bucket's ownership controls.

BucketOwnerPreferred - Objects uploaded to the bucket change ownership to the bucket owner if the objects are uploaded with the bucket-owner-full-control canned ACL.

ObjectWriter - The uploading account will own the object if the object is uploaded with the bucket-owner-full-control canned ACL.

BucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer affect permissions. The bucket owner automatically owns and has full control over every object in the bucket. The bucket only accepts PUT requests that don't specify an ACL or bucket owner full control ACLs, such as the bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed in the XML format.

", "refs": { + "CreateBucketRequest$ObjectOwnership": null, "OwnershipControlsRule$ObjectOwnership": null } }, @@ -2866,8 +2867,8 @@ "OwnershipControls": { "base": "

The container element for a bucket's ownership controls.

", "refs": { - "GetBucketOwnershipControlsOutput$OwnershipControls": "

The OwnershipControls (BucketOwnerPreferred or ObjectWriter) currently in effect for this Amazon S3 bucket.

", - "PutBucketOwnershipControlsRequest$OwnershipControls": "

The OwnershipControls (BucketOwnerPreferred or ObjectWriter) that you want to apply to this Amazon S3 bucket.

" + "GetBucketOwnershipControlsOutput$OwnershipControls": "

The OwnershipControls (BucketOwnerEnforced, BucketOwnerPreferred, or ObjectWriter) currently in effect for this Amazon S3 bucket.

", + "PutBucketOwnershipControlsRequest$OwnershipControls": "

The OwnershipControls (BucketOwnerEnforced, BucketOwnerPreferred, or ObjectWriter) that you want to apply to this Amazon S3 bucket.

" } }, "OwnershipControlsRule": { @@ -3889,7 +3890,7 @@ } }, "TargetGrant": { - "base": "

Container for granting information.

", + "base": "

Container for granting information.

Buckets that use the bucket owner enforced setting for Object Ownership don't support target grants. For more information, see Permissions server access log delivery in the Amazon S3 User Guide.

", "refs": { "TargetGrants$member": null } @@ -3897,7 +3898,7 @@ "TargetGrants": { "base": null, "refs": { - "LoggingEnabled$TargetGrants": "

Container for granting information.

" + "LoggingEnabled$TargetGrants": "

Container for granting information.

Buckets that use the bucket owner enforced setting for Object Ownership don't support target grants. For more information, see Permissions for server access log delivery in the Amazon S3 User Guide.

" } }, "TargetPrefix": { diff --git a/models/apis/s3/2006-03-01/examples-1.json b/models/apis/s3/2006-03-01/examples-1.json index 6cababa94fa..1e385c7e010 100644 --- a/models/apis/s3/2006-03-01/examples-1.json +++ b/models/apis/s3/2006-03-01/examples-1.json @@ -84,10 +84,13 @@ "CreateBucket": [ { "input": { - "Bucket": "examplebucket" + "Bucket": "examplebucket", + "CreateBucketConfiguration": { + "LocationConstraint": "eu-west-1" + } }, "output": { - "Location": "/examplebucket" + "Location": "http://examplebucket..s3.amazonaws.com/" }, "comments": { "input": { @@ -95,19 +98,16 @@ "output": { } }, - "description": "The following example creates a bucket.", - "id": "to-create-a-bucket--1472851826060", - "title": "To create a bucket " + "description": "The following example creates a bucket. The request specifies an AWS region where to create the bucket.", + "id": "to-create-a-bucket-in-a-specific-region-1483399072992", + "title": "To create a bucket in a specific region" }, { "input": { - "Bucket": "examplebucket", - "CreateBucketConfiguration": { - "LocationConstraint": "eu-west-1" - } + "Bucket": "examplebucket" }, "output": { - "Location": "http://examplebucket..s3.amazonaws.com/" + "Location": "/examplebucket" }, "comments": { "input": { @@ -115,9 +115,9 @@ "output": { } }, - "description": "The following example creates a bucket. The request specifies an AWS region where to create the bucket.", - "id": "to-create-a-bucket-in-a-specific-region-1483399072992", - "title": "To create a bucket in a specific region" + "description": "The following example creates a bucket.", + "id": "to-create-a-bucket--1472851826060", + "title": "To create a bucket " } ], "CreateMultipartUpload": [ @@ -257,8 +257,10 @@ "DeleteObject": [ { "input": { - "Bucket": "ExampleBucket", - "Key": "HappyFace.jpg" + "Bucket": "examplebucket", + "Key": "objectkey.jpg" + }, + "output": { }, "comments": { "input": { @@ -266,16 +268,14 @@ "output": { } }, - "description": "The following example deletes an object from a non-versioned bucket.", - "id": "to-delete-an-object-from-a-non-versioned-bucket-1481588533089", - "title": "To delete an object (from a non-versioned bucket)" + "description": "The following example deletes an object from an S3 bucket.", + "id": "to-delete-an-object-1472850136595", + "title": "To delete an object" }, { "input": { - "Bucket": "examplebucket", - "Key": "objectkey.jpg" - }, - "output": { + "Bucket": "ExampleBucket", + "Key": "HappyFace.jpg" }, "comments": { "input": { @@ -283,9 +283,9 @@ "output": { } }, - "description": "The following example deletes an object from an S3 bucket.", - "id": "to-delete-an-object-1472850136595", - "title": "To delete an object" + "description": "The following example deletes an object from a non-versioned bucket.", + "id": "to-delete-an-object-from-a-non-versioned-bucket-1481588533089", + "title": "To delete an object (from a non-versioned bucket)" } ], "DeleteObjectTagging": [ @@ -1567,14 +1567,16 @@ "PutObject": [ { "input": { - "Body": "c:\\HappyFace.jpg", + "Body": "HappyFace.jpg", "Bucket": "examplebucket", "Key": "HappyFace.jpg", - "Tagging": "key1=value1&key2=value2" + "ServerSideEncryption": "AES256", + "StorageClass": "STANDARD_IA" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a" + "ServerSideEncryption": "AES256", + "VersionId": "CG612hodqujkf8FaaNfp8U..FIhLROcp" }, "comments": { "input": { @@ -1582,9 +1584,9 @@ "output": { } }, - "description": "The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore S3 returns version ID of the newly created object.", - "id": "to-upload-an-object-and-specify-optional-tags-1481762310955", - "title": "To upload an object and specify optional tags" + "description": "The following example uploads an object. The request specifies optional request headers to directs S3 to use specific storage class and use server-side encryption.", + "id": "to-upload-an-object-(specify-optional-headers)", + "title": "To upload an object (specify optional headers)" }, { "input": { @@ -1609,16 +1611,13 @@ }, { "input": { - "Body": "filetoupload", + "Body": "HappyFace.jpg", "Bucket": "examplebucket", - "Key": "exampleobject", - "ServerSideEncryption": "AES256", - "Tagging": "key1=value1&key2=value2" + "Key": "HappyFace.jpg" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "ServerSideEncryption": "AES256", - "VersionId": "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt" + "VersionId": "tpf3zF08nBplQK1XLOefGskR7mGDwcDk" }, "comments": { "input": { @@ -1626,19 +1625,20 @@ "output": { } }, - "description": "The following example uploads and object. The request specifies the optional server-side encryption option. The request also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.", - "id": "to-upload-an-object-and-specify-server-side-encryption-and-object-tags-1483398331831", - "title": "To upload an object and specify server-side encryption and object tags" + "description": "The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file syntax. S3 returns VersionId of the newly created object.", + "id": "to-upload-an-object-1481760101010", + "title": "To upload an object" }, { "input": { - "Body": "filetoupload", + "Body": "c:\\HappyFace.jpg", "Bucket": "examplebucket", - "Key": "objectkey" + "Key": "HappyFace.jpg", + "Tagging": "key1=value1&key2=value2" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ" + "VersionId": "psM2sYY4.o1501dSx8wMvnkOzSBB.V4a" }, "comments": { "input": { @@ -1646,19 +1646,23 @@ "output": { } }, - "description": "The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.", - "id": "to-create-an-object-1483147613675", - "title": "To create an object." + "description": "The following example uploads an object. The request specifies optional object tags. The bucket is versioned, therefore S3 returns version ID of the newly created object.", + "id": "to-upload-an-object-and-specify-optional-tags-1481762310955", + "title": "To upload an object and specify optional tags" }, { "input": { - "Body": "HappyFace.jpg", + "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "HappyFace.jpg" + "Key": "exampleobject", + "Metadata": { + "metadata1": "value1", + "metadata2": "value2" + } }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "tpf3zF08nBplQK1XLOefGskR7mGDwcDk" + "VersionId": "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0" }, "comments": { "input": { @@ -1666,22 +1670,22 @@ "output": { } }, - "description": "The following example uploads an object to a versioning-enabled bucket. The source file is specified using Windows file syntax. S3 returns VersionId of the newly created object.", - "id": "to-upload-an-object-1481760101010", - "title": "To upload an object" + "description": "The following example creates an object. The request also specifies optional metadata. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-upload-object-and-specify-user-defined-metadata-1483396974757", + "title": "To upload object and specify user-defined metadata" }, { "input": { - "Body": "HappyFace.jpg", + "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "HappyFace.jpg", + "Key": "exampleobject", "ServerSideEncryption": "AES256", - "StorageClass": "STANDARD_IA" + "Tagging": "key1=value1&key2=value2" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", "ServerSideEncryption": "AES256", - "VersionId": "CG612hodqujkf8FaaNfp8U..FIhLROcp" + "VersionId": "Ri.vC6qVlA4dEnjgRV4ZHsHoFIjqEMNt" }, "comments": { "input": { @@ -1689,23 +1693,19 @@ "output": { } }, - "description": "The following example uploads an object. The request specifies optional request headers to directs S3 to use specific storage class and use server-side encryption.", - "id": "to-upload-an-object-(specify-optional-headers)", - "title": "To upload an object (specify optional headers)" + "description": "The following example uploads and object. The request specifies the optional server-side encryption option. The request also specifies optional object tags. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-upload-an-object-and-specify-server-side-encryption-and-object-tags-1483398331831", + "title": "To upload an object and specify server-side encryption and object tags" }, { "input": { "Body": "filetoupload", "Bucket": "examplebucket", - "Key": "exampleobject", - "Metadata": { - "metadata1": "value1", - "metadata2": "value2" - } + "Key": "objectkey" }, "output": { "ETag": "\"6805f2cfc46c0f04559748bb039d69ae\"", - "VersionId": "pSKidl4pHBiNwukdbcPXAIs.sshFFOc0" + "VersionId": "Bvq0EDKxOcXLJXNo_Lkz37eM3R4pfzyQ" }, "comments": { "input": { @@ -1713,9 +1713,9 @@ "output": { } }, - "description": "The following example creates an object. The request also specifies optional metadata. If the bucket is versioning enabled, S3 returns version ID in response.", - "id": "to-upload-object-and-specify-user-defined-metadata-1483396974757", - "title": "To upload object and specify user-defined metadata" + "description": "The following example creates an object. If the bucket is versioning enabled, S3 returns version ID in response.", + "id": "to-create-an-object-1483147613675", + "title": "To create an object." } ], "PutObjectAcl": [ diff --git a/models/apis/snowball/2016-06-30/api-2.json b/models/apis/snowball/2016-06-30/api-2.json index 296dec5e0c1..cb27123e3bd 100755 --- a/models/apis/snowball/2016-06-30/api-2.json +++ b/models/apis/snowball/2016-06-30/api-2.json @@ -658,7 +658,8 @@ "type":"structure", "members":{ "Status":{"shape":"ShippingLabelStatus"}, - "ExpirationDate":{"shape":"Timestamp"} + "ExpirationDate":{"shape":"Timestamp"}, + "ReturnShippingLabelURI":{"shape":"String"} } }, "DeviceConfiguration":{ @@ -1063,7 +1064,8 @@ "OnDeviceServiceConfiguration":{ "type":"structure", "members":{ - "NFSOnDeviceService":{"shape":"NFSOnDeviceServiceConfiguration"} + "NFSOnDeviceService":{"shape":"NFSOnDeviceServiceConfiguration"}, + "TGWOnDeviceService":{"shape":"TGWOnDeviceServiceConfiguration"} } }, "RemoteManagement":{ @@ -1191,6 +1193,13 @@ "max":1024, "min":1 }, + "TGWOnDeviceServiceConfiguration":{ + "type":"structure", + "members":{ + "StorageLimit":{"shape":"StorageLimit"}, + "StorageUnit":{"shape":"StorageUnit"} + } + }, "TargetOnDeviceService":{ "type":"structure", "members":{ diff --git a/models/apis/snowball/2016-06-30/docs-2.json b/models/apis/snowball/2016-06-30/docs-2.json index efab8cdd647..5a1a8205fdf 100755 --- a/models/apis/snowball/2016-06-30/docs-2.json +++ b/models/apis/snowball/2016-06-30/docs-2.json @@ -1,26 +1,26 @@ { "version": "2.0", - "service": "

AWS Snow Family is a petabyte-scale data transport solution that uses secure devices to transfer large amounts of data between your on-premises data centers and Amazon Simple Storage Service (Amazon S3). The Snow commands described here provide access to the same functionality that is available in the AWS Snow Family Management Console, which enables you to create and manage jobs for a Snow device. To transfer data locally with a Snow device, you'll need to use the Snowball Edge client or the Amazon S3 API Interface for Snowball or AWS OpsHub for Snow Family. For more information, see the User Guide.

", + "service": "

The Amazon Web Services Snow Family provides a petabyte-scale data transport solution that uses secure devices to transfer large amounts of data between your on-premises data centers and Amazon Simple Storage Service (Amazon S3). The Snow Family commands described here provide access to the same functionality that is available in the Amazon Web Services Snow Family Management Console, which enables you to create and manage jobs for a Snow Family device. To transfer data locally with a Snow Family device, you'll need to use the Snowball Edge client or the Amazon S3 API Interface for Snowball or OpsHub for Snow Family. For more information, see the User Guide.

", "operations": { "CancelCluster": "

Cancels a cluster job. You can only cancel a cluster job while it's in the AwaitingQuorum status. You'll have at least an hour after creating a cluster job to cancel it.

", "CancelJob": "

Cancels the specified job. You can only cancel a job before its JobState value changes to PreparingAppliance. Requesting the ListJobs or DescribeJob action returns a job's JobState as part of the response element data returned.

", "CreateAddress": "

Creates an address for a Snow device to be shipped to. In most regions, addresses are validated at the time of creation. The address you provide must be located within the serviceable area of your region. If the address is invalid or unsupported, then an exception is thrown.

", "CreateCluster": "

Creates an empty cluster. Each cluster supports five nodes. You use the CreateJob action separately to create the jobs for each of these nodes. The cluster does not ship until these five node jobs have been created.

", - "CreateJob": "

Creates a job to import or export data between Amazon S3 and your on-premises data center. Your AWS account must have the right trust policies and permissions in place to create a job for a Snow device. If you're creating a job for a node in a cluster, you only need to provide the clusterId value; the other job attributes are inherited from the cluster.

Only the Snowball; Edge device type is supported when ordering clustered jobs.

The device capacity is optional.

Availability of device types differ by AWS Region. For more information about Region availability, see AWS Regional Services.

AWS Snow Family device types and their capacities.

", - "CreateLongTermPricing": "

Creates a job with the long-term usage option for a device. The long-term usage is a 1-year or 3-year long-term pricing type for the device. You are billed upfront, and AWS provides discounts for long-term pricing.

", - "CreateReturnShippingLabel": "

Creates a shipping label that will be used to return the Snow device to AWS.

", + "CreateJob": "

Creates a job to import or export data between Amazon S3 and your on-premises data center. Your Amazon Web Services account must have the right trust policies and permissions in place to create a job for a Snow device. If you're creating a job for a node in a cluster, you only need to provide the clusterId value; the other job attributes are inherited from the cluster.

Only the Snowball; Edge device type is supported when ordering clustered jobs.

The device capacity is optional.

Availability of device types differ by Amazon Web Services Region. For more information about Region availability, see Amazon Web Services Regional Services.

Snow Family Devices and their capacities.

", + "CreateLongTermPricing": "

Creates a job with the long-term usage option for a device. The long-term usage is a 1-year or 3-year long-term pricing type for the device. You are billed upfront, and Amazon Web Services provides discounts for long-term pricing.

", + "CreateReturnShippingLabel": "

Creates a shipping label that will be used to return the Snow device to Amazon Web Services.

", "DescribeAddress": "

Takes an AddressId and returns specific details about that address in the form of an Address object.

", "DescribeAddresses": "

Returns a specified number of ADDRESS objects. Calling this API in one of the US regions will return addresses from the list of all addresses associated with this account in all US regions.

", "DescribeCluster": "

Returns information about a specific cluster including shipping information, cluster status, and other important metadata.

", "DescribeJob": "

Returns information about a specific job including shipping information, job status, and other important metadata.

", - "DescribeReturnShippingLabel": "

Information on the shipping label of a Snow device that is being returned to AWS.

", + "DescribeReturnShippingLabel": "

Information on the shipping label of a Snow device that is being returned to Amazon Web Services.

", "GetJobManifest": "

Returns a link to an Amazon S3 presigned URL for the manifest file associated with the specified JobId value. You can access the manifest file for up to 60 minutes after this request has been made. To access the manifest file after 60 minutes have passed, you'll have to make another call to the GetJobManifest action.

The manifest is an encrypted file that you can download after your job enters the WithCustomer status. The manifest is decrypted by using the UnlockCode code value, when you pass both values to the Snow device through the Snowball client when the client is started for the first time.

As a best practice, we recommend that you don't save a copy of an UnlockCode value in the same location as the manifest file for that job. Saving these separately helps prevent unauthorized parties from gaining access to the Snow device associated with that job.

The credentials of a given job, including its manifest file and unlock code, expire 360 days after the job is created.

", "GetJobUnlockCode": "

Returns the UnlockCode code value for the specified job. A particular UnlockCode value can be accessed for up to 360 days after the associated job has been created.

The UnlockCode value is a 29-character code with 25 alphanumeric characters and 4 hyphens. This code is used to decrypt the manifest file when it is passed along with the manifest to the Snow device through the Snowball client when the client is started for the first time.

As a best practice, we recommend that you don't save a copy of the UnlockCode in the same location as the manifest file for that job. Saving these separately helps prevent unauthorized parties from gaining access to the Snow device associated with that job.

", - "GetSnowballUsage": "

Returns information about the Snow Family service limit for your account, and also the number of Snow devices your account has in use.

The default service limit for the number of Snow devices that you can have at one time is 1. If you want to increase your service limit, contact AWS Support.

", + "GetSnowballUsage": "

Returns information about the Snow Family service limit for your account, and also the number of Snow devices your account has in use.

The default service limit for the number of Snow devices that you can have at one time is 1. If you want to increase your service limit, contact Amazon Web Services Support.

", "GetSoftwareUpdates": "

Returns an Amazon S3 presigned URL for an update file associated with a specified JobId.

", "ListClusterJobs": "

Returns an array of JobListEntry objects of the specified length. Each JobListEntry object is for a job in the specified cluster and contains a job's state, a job's ID, and other information.

", "ListClusters": "

Returns an array of ClusterListEntry objects of the specified length. Each ClusterListEntry object contains a cluster's state, a cluster's ID, and other important status information.

", - "ListCompatibleImages": "

This action returns a list of the different Amazon EC2 Amazon Machine Images (AMIs) that are owned by your AWS account that would be supported for use on a Snow device. Currently, supported AMIs are based on the CentOS 7 (x86_64) - with Updates HVM, Ubuntu Server 14.04 LTS (HVM), and Ubuntu 16.04 LTS - Xenial (HVM) images, available on the AWS Marketplace.

", + "ListCompatibleImages": "

This action returns a list of the different Amazon EC2 Amazon Machine Images (AMIs) that are owned by your Amazon Web Services accountthat would be supported for use on a Snow device. Currently, supported AMIs are based on the CentOS 7 (x86_64) - with Updates HVM, Ubuntu Server 14.04 LTS (HVM), and Ubuntu 16.04 LTS - Xenial (HVM) images, available on the Amazon Web Services Marketplace.

", "ListJobs": "

Returns an array of JobListEntry objects of the specified length. Each JobListEntry object contains a job's state, a job's ID, and a value that indicates whether the job is a job part, in the case of export jobs. Calling this API action in one of the US regions will return jobs from the list of all jobs associated with this account in all US regions.

", "ListLongTermPricing": "

Lists all long-term pricing types.

", "UpdateCluster": "

While a cluster's ClusterState value is in the AwaitingQuorum state, you can update some of the information associated with a cluster. Once the cluster changes to a different job state, usually 60 minutes after the cluster being created, this action is no longer available.

", @@ -74,7 +74,7 @@ "Address$IsRestricted": "

If the address you are creating is a primary address, then set this option to true. This field is not supported in most regions.

", "JobListEntry$IsMaster": "

A value that indicates that this job is a main job. A main job represents a successful request to create an export job. Main jobs aren't associated with any Snowballs. Instead, each main job will have at least one job part, and each job part is associated with a Snowball. It might take some time before the job parts associated with a particular main job are listed, because they are created after the main job is created.

", "Notification$NotifyAll": "

Any change in job state will trigger a notification for this job.

", - "WirelessConnection$IsWifiEnabled": "

Enables the Wi-Fi adapter on an AWS Snowcone device.

" + "WirelessConnection$IsWifiEnabled": "

Enables the Wi-Fi adapter on an Snowcone device.

" } }, "CancelClusterRequest": { @@ -206,9 +206,9 @@ } }, "DataTransfer": { - "base": "

Defines the real-time status of a Snow device's data transfer while the device is at AWS. This data is only available while a job has a JobState value of InProgress, for both import and export jobs.

", + "base": "

Defines the real-time status of a Snow device's data transfer while the device is at Amazon Web Services. This data is only available while a job has a JobState value of InProgress, for both import and export jobs.

", "refs": { - "JobMetadata$DataTransferProgress": "

A value that defines the real-time status of a Snow device's data transfer while the device is at AWS. This data is only available while a job has a JobState value of InProgress, for both import and export jobs.

" + "JobMetadata$DataTransferProgress": "

A value that defines the real-time status of a Snow device's data transfer while the device is at Amazon Web Services. This data is only available while a job has a JobState value of InProgress, for both import and export jobs.

" } }, "DescribeAddressRequest": { @@ -264,7 +264,7 @@ "DeviceConfiguration": { "base": "

The container for SnowconeDeviceConfiguration.

", "refs": { - "CreateJobRequest$DeviceConfiguration": "

Defines the device configuration for an AWS Snowcone job.

For more information, see \"https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html\" (Snow Family Devices and Capacity) in the Snowcone User Guide or \"https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html\" (Snow Family Devices and Capacity) in the Snowcone User Guide.

", + "CreateJobRequest$DeviceConfiguration": "

Defines the device configuration for an Snowcone job.

For more information, see \"https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html\" (Snow Family Devices and Capacity) in the Snowcone User Guide or \"https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html\" (Snow Family Devices and Capacity) in the Snowcone User Guide.

", "JobMetadata$DeviceConfiguration": null } }, @@ -275,7 +275,7 @@ } }, "Ec2AmiResource": { - "base": "

A JSON-formatted object that contains the IDs for an Amazon Machine Image (AMI), including the Amazon EC2 AMI ID and the Snow device AMI ID. Each AMI has these two IDs to simplify identifying the AMI in both the AWS Cloud and on the device.

", + "base": "

A JSON-formatted object that contains the IDs for an Amazon Machine Image (AMI), including the Amazon EC2 AMI ID and the Snow device AMI ID. Each AMI has these two IDs to simplify identifying the AMI in both the Amazon Web Services Cloud and on the device.

", "refs": { "Ec2AmiResourceList$member": null } @@ -306,7 +306,7 @@ "GSTIN": { "base": null, "refs": { - "INDTaxDocuments$GSTIN": "

The Goods and Services Tax (GST) documents required in AWS Regions in India.

" + "INDTaxDocuments$GSTIN": "

The Goods and Services Tax (GST) documents required in Amazon Web Services Region in India.

" } }, "GetJobManifestRequest": { @@ -350,7 +350,7 @@ } }, "INDTaxDocuments": { - "base": "

The tax documents required in AWS Regions in India.

", + "base": "

The tax documents required in Amazon Web Services Region in India.

", "refs": { "TaxDocuments$IND": null } @@ -447,10 +447,10 @@ } }, "JobResource": { - "base": "

Contains an array of AWS resource objects. Each object represents an Amazon S3 bucket, an AWS Lambda function, or an Amazon Machine Image (AMI) based on Amazon EC2 that is associated with a particular job.

", + "base": "

Contains an array of Amazon Web Services resource objects. Each object represents an Amazon S3 bucket, an Lambda function, or an Amazon Machine Image (AMI) based on Amazon EC2 that is associated with a particular job.

", "refs": { "ClusterMetadata$Resources": "

The arrays of JobResource objects that can include updated S3Resource objects or LambdaResource objects.

", - "CreateClusterRequest$Resources": "

The resources associated with the cluster job. These resources include Amazon S3 buckets and optional AWS Lambda functions written in the Python language.

", + "CreateClusterRequest$Resources": "

The resources associated with the cluster job. These resources include Amazon S3 buckets and optional Lambda functions written in the Python language.

", "CreateJobRequest$Resources": "

Defines the Amazon S3 buckets associated with this job.

With IMPORT jobs, you specify the bucket or buckets that your transferred data will be imported into.

With EXPORT jobs, you specify the bucket or buckets that your transferred data will be exported from. Optionally, you can also specify a KeyRange value. If you choose to export a range, you define the length of the range by providing either an inclusive BeginMarker value, an inclusive EndMarker value, or both. Ranges are UTF-8 binary sorted.

", "JobMetadata$Resources": "

An array of S3Resource objects. Each S3Resource object represents an Amazon S3 bucket that your transferred data will be exported from or imported into.

", "UpdateClusterRequest$Resources": "

The updated arrays of JobResource objects that can include updated S3Resource objects or LambdaResource objects.

", @@ -482,7 +482,7 @@ } }, "KMSRequestFailedException": { - "base": "

The provided AWS Key Management Service key lacks the permissions to perform the specified CreateJob or UpdateJob action.

", + "base": "

The provided Key Management Service key lacks the permissions to perform the specified CreateJob or UpdateJob action.

", "refs": { } }, @@ -495,10 +495,10 @@ "KmsKeyARN": { "base": null, "refs": { - "ClusterMetadata$KmsKeyARN": "

The KmsKeyARN Amazon Resource Name (ARN) associated with this cluster. This ARN was created using the CreateKey API action in AWS Key Management Service (AWS KMS).

", - "CreateClusterRequest$KmsKeyARN": "

The KmsKeyARN value that you want to associate with this cluster. KmsKeyARN values are created by using the CreateKey API action in AWS Key Management Service (AWS KMS).

", - "CreateJobRequest$KmsKeyARN": "

The KmsKeyARN that you want to associate with this job. KmsKeyARNs are created using the CreateKey AWS Key Management Service (KMS) API action.

", - "JobMetadata$KmsKeyARN": "

The Amazon Resource Name (ARN) for the AWS Key Management Service (AWS KMS) key associated with this job. This ARN was created using the CreateKey API action in AWS KMS.

" + "ClusterMetadata$KmsKeyARN": "

The KmsKeyARN Amazon Resource Name (ARN) associated with this cluster. This ARN was created using the CreateKey API action in Key Management Service (KMS.

", + "CreateClusterRequest$KmsKeyARN": "

The KmsKeyARN value that you want to associate with this cluster. KmsKeyARN values are created by using the CreateKey API action in Key Management Service (KMS).

", + "CreateJobRequest$KmsKeyARN": "

The KmsKeyARN that you want to associate with this job. KmsKeyARNs are created using the CreateKey Key Management Service (KMS) API action.

", + "JobMetadata$KmsKeyARN": "

The Amazon Resource Name (ARN) for the Key Management Service (KMS) key associated with this job. This ARN was created using the CreateKey API action in KMS.

" } }, "LambdaResource": { @@ -619,9 +619,9 @@ } }, "NFSOnDeviceServiceConfiguration": { - "base": "

An object that represents metadata and configuration settings for NFS service on an AWS Snow Family device.

", + "base": "

An object that represents the metadata and configuration settings for the NFS (Network File System) service on an Amazon Web Services Snow Family device.

", "refs": { - "OnDeviceServiceConfiguration$NFSOnDeviceService": "

Represents the NFS service on a Snow Family device.

" + "OnDeviceServiceConfiguration$NFSOnDeviceService": "

Represents the NFS (Network File System) service on a Snow Family device.

" } }, "Notification": { @@ -636,14 +636,14 @@ } }, "OnDeviceServiceConfiguration": { - "base": "

An object that represents metadata and configuration settings for services on an AWS Snow Family device.

", + "base": "

An object that represents the metadata and configuration settings for services on an Amazon Web Services Snow Family device.

", "refs": { - "ClusterMetadata$OnDeviceServiceConfiguration": "

Represents metadata and configuration settings for services on an AWS Snow Family device.

", - "CreateClusterRequest$OnDeviceServiceConfiguration": "

Specifies the service or services on the Snow Family device that your transferred data will be exported from or imported into. AWS Snow Family supports Amazon S3 and NFS (Network File System).

", - "CreateJobRequest$OnDeviceServiceConfiguration": "

Specifies the service or services on the Snow Family device that your transferred data will be exported from or imported into. AWS Snow Family supports Amazon S3 and NFS (Network File System).

", - "JobMetadata$OnDeviceServiceConfiguration": "

Represents metadata and configuration settings for services on an AWS Snow Family device.

", - "UpdateClusterRequest$OnDeviceServiceConfiguration": "

Specifies the service or services on the Snow Family device that your transferred data will be exported from or imported into. AWS Snow Family supports Amazon S3 and NFS (Network File System).

", - "UpdateJobRequest$OnDeviceServiceConfiguration": "

Specifies the service or services on the Snow Family device that your transferred data will be exported from or imported into. AWS Snow Family supports Amazon S3 and NFS (Network File System).

" + "ClusterMetadata$OnDeviceServiceConfiguration": "

Represents metadata and configuration settings for services on an Amazon Web Services Snow Family device.

", + "CreateClusterRequest$OnDeviceServiceConfiguration": "

Specifies the service or services on the Snow Family device that your transferred data will be exported from or imported into. Amazon Web Services Snow Family device clusters support Amazon S3 and NFS (Network File System).

", + "CreateJobRequest$OnDeviceServiceConfiguration": "

Specifies the service or services on the Snow Family device that your transferred data will be exported from or imported into. Amazon Web Services Snow Family supports Amazon S3 and NFS (Network File System) and the Amazon Web Services Storage Gateway service Tape Gateway type.

", + "JobMetadata$OnDeviceServiceConfiguration": "

Represents metadata and configuration settings for services on an Amazon Web Services Snow Family device.

", + "UpdateClusterRequest$OnDeviceServiceConfiguration": "

Specifies the service or services on the Snow Family device that your transferred data will be exported from or imported into. Amazon Web Services Snow Family device clusters support Amazon S3 and NFS (Network File System).

", + "UpdateJobRequest$OnDeviceServiceConfiguration": "

Specifies the service or services on the Snow Family device that your transferred data will be exported from or imported into. Amazon Web Services Snow Family supports Amazon S3 and NFS (Network File System) and the Amazon Web Services Storage Gateway service Tape Gateway type.

" } }, "RemoteManagement": { @@ -657,25 +657,25 @@ "ResourceARN": { "base": null, "refs": { - "EventTriggerDefinition$EventResourceARN": "

The Amazon Resource Name (ARN) for any local Amazon S3 resource that is an AWS Lambda function's event trigger associated with this job.

", - "LambdaResource$LambdaArn": "

An Amazon Resource Name (ARN) that represents an AWS Lambda function to be triggered by PUT object actions on the associated local Amazon S3 resource.

", + "EventTriggerDefinition$EventResourceARN": "

The Amazon Resource Name (ARN) for any local Amazon S3 resource that is an Lambda function's event trigger associated with this job.

", + "LambdaResource$LambdaArn": "

An Amazon Resource Name (ARN) that represents an Lambda function to be triggered by PUT object actions on the associated local Amazon S3 resource.

", "S3Resource$BucketArn": "

The Amazon Resource Name (ARN) of an Amazon S3 bucket.

" } }, "ReturnShippingLabelAlreadyExistsException": { - "base": "

You get this exception if you call CreateReturnShippingLabel and a valid return shipping label already exists. In this case, use DescribeReturnShippingLabel to get the url.

", + "base": "

You get this exception if you call CreateReturnShippingLabel and a valid return shipping label already exists. In this case, use DescribeReturnShippingLabel to get the URL.

", "refs": { } }, "RoleARN": { "base": null, "refs": { - "ClusterMetadata$RoleARN": "

The role ARN associated with this cluster. This ARN was created using the CreateRole API action in AWS Identity and Access Management (IAM).

", - "CreateClusterRequest$RoleARN": "

The RoleARN that you want to associate with this cluster. RoleArn values are created by using the CreateRole API action in AWS Identity and Access Management (IAM).

", - "CreateJobRequest$RoleARN": "

The RoleARN that you want to associate with this job. RoleArns are created using the CreateRole AWS Identity and Access Management (IAM) API action.

", - "JobMetadata$RoleARN": "

The role ARN associated with this job. This ARN was created using the CreateRole API action in AWS Identity and Access Management (IAM).

", - "UpdateClusterRequest$RoleARN": "

The new role Amazon Resource Name (ARN) that you want to associate with this cluster. To create a role ARN, use the CreateRole API action in AWS Identity and Access Management (IAM).

", - "UpdateJobRequest$RoleARN": "

The new role Amazon Resource Name (ARN) that you want to associate with this job. To create a role ARN, use the CreateRoleAWS Identity and Access Management (IAM) API action.

" + "ClusterMetadata$RoleARN": "

The role ARN associated with this cluster. This ARN was created using the CreateRole API action in Identity and Access Management (IAM).

", + "CreateClusterRequest$RoleARN": "

The RoleARN that you want to associate with this cluster. RoleArn values are created by using the CreateRole API action in Identity and Access Management (IAM).

", + "CreateJobRequest$RoleARN": "

The RoleARN that you want to associate with this job. RoleArns are created using the CreateRole Identity and Access Management (IAM) API action.

", + "JobMetadata$RoleARN": "

The role ARN associated with this job. This ARN was created using the CreateRole API action in Identity and Access Management.

", + "UpdateClusterRequest$RoleARN": "

The new role Amazon Resource Name (ARN) that you want to associate with this cluster. To create a role ARN, use the CreateRole API action in Identity and Access Management (IAM).

", + "UpdateJobRequest$RoleARN": "

The new role Amazon Resource Name (ARN) that you want to associate with this job. To create a role ARN, use the CreateRoleIdentity and Access Management (IAM) API action.

" } }, "S3Resource": { @@ -693,14 +693,14 @@ "Shipment": { "base": "

The Status and TrackingNumber information for an inbound or outbound shipment.

", "refs": { - "ShippingDetails$InboundShipment": "

The Status and TrackingNumber values for a Snow device being returned to AWS for a particular job.

", + "ShippingDetails$InboundShipment": "

The Status and TrackingNumber values for a Snow device being returned to Amazon Web Services for a particular job.

", "ShippingDetails$OutboundShipment": "

The Status and TrackingNumber values for a Snow device being delivered to the address that you specified for a particular job.

" } }, "ShipmentState": { "base": null, "refs": { - "UpdateJobShipmentStateRequest$ShipmentState": "

The state of a device when it is being shipped.

Set to RECEIVED when the device arrives at your location.

Set to RETURNED when you have returned the device to AWS.

" + "UpdateJobShipmentStateRequest$ShipmentState": "

The state of a device when it is being shipped.

Set to RECEIVED when the device arrives at your location.

Set to RETURNED when you have returned the device to Amazon Web Services.

" } }, "ShippingDetails": { @@ -712,8 +712,8 @@ "ShippingLabelStatus": { "base": null, "refs": { - "CreateReturnShippingLabelResult$Status": "

The status information of the task on a Snow device that is being returned to AWS.

", - "DescribeReturnShippingLabelResult$Status": "

The status information of the task on a Snow device that is being returned to AWS.

" + "CreateReturnShippingLabelResult$Status": "

The status information of the task on a Snow device that is being returned to Amazon Web Services.

", + "DescribeReturnShippingLabelResult$Status": "

The status information of the task on a Snow device that is being returned to Amazon Web Services.

" } }, "ShippingOption": { @@ -722,7 +722,7 @@ "ClusterMetadata$ShippingOption": "

The shipping speed for each node in this cluster. This speed doesn't dictate how soon you'll get each device, rather it represents how quickly each device moves to its destination while in transit. Regional shipping speeds are as follows:

", "CreateClusterRequest$ShippingOption": "

The shipping speed for each node in this cluster. This speed doesn't dictate how soon you'll get each Snowball Edge device, rather it represents how quickly each device moves to its destination while in transit. Regional shipping speeds are as follows:

", "CreateJobRequest$ShippingOption": "

The shipping speed for this job. This speed doesn't dictate how soon you'll get the Snow device, rather it represents how quickly the Snow device moves to its destination while in transit. Regional shipping speeds are as follows:

", - "CreateReturnShippingLabelRequest$ShippingOption": "

The shipping speed for a particular job. This speed doesn't dictate how soon the device is returned to AWS. This speed represents how quickly it moves to its destination while in transit. Regional shipping speeds are as follows:

", + "CreateReturnShippingLabelRequest$ShippingOption": "

The shipping speed for a particular job. This speed doesn't dictate how soon the device is returned to Amazon Web Services. This speed represents how quickly it moves to its destination while in transit. Regional shipping speeds are as follows:

", "ShippingDetails$ShippingOption": "

The shipping speed for a particular job. This speed doesn't dictate how soon you'll get the Snow device from the job's creation date. This speed represents how quickly it moves to its destination while in transit. Regional shipping speeds are as follows:

", "UpdateClusterRequest$ShippingOption": "

The updated shipping option value of this cluster's ShippingDetails object.

", "UpdateJobRequest$ShippingOption": "

The updated shipping option value of this job's ShippingDetails object.

" @@ -739,37 +739,39 @@ "SnowballType": { "base": null, "refs": { - "ClusterMetadata$SnowballType": "

The type of AWS Snow device to use for this cluster.

For cluster jobs, AWS Snow Family currently supports only the EDGE device type.

", - "CreateClusterRequest$SnowballType": "

The type of AWS Snow Family device to use for this cluster.

For cluster jobs, AWS Snow Family currently supports only the EDGE device type.

For more information, see \"https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html\" (Snow Family Devices and Capacity) in the Snowcone User Guide or \"https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html\" (Snow Family Devices and Capacity) in the Snowcone User Guide.

", - "CreateJobRequest$SnowballType": "

The type of AWS Snow Family device to use for this job.

For cluster jobs, AWS Snow Family currently supports only the EDGE device type.

The type of AWS Snow device to use for this job. Currently, the only supported device type for cluster jobs is EDGE.

For more information, see Snowball Edge Device Options in the Snowball Edge Developer Guide.

For more information, see \"https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html\" (Snow Family Devices and Capacity) in the Snowcone User Guide or \"https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html\" (Snow Family Devices and Capacity) in the Snowcone User Guide.

", - "CreateLongTermPricingRequest$SnowballType": "

The type of AWS Snow Family device to use for the long-term pricing job.

", + "ClusterMetadata$SnowballType": "

The type of Snowcone device to use for this cluster.

For cluster jobs, Amazon Web Services Snow Family currently supports only the EDGE device type.

", + "CreateClusterRequest$SnowballType": "

The type of Snow Family Devices to use for this cluster.

For cluster jobs, Amazon Web Services Snow Family currently supports only the EDGE device type.

For more information, see \"https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html\" (Snow Family Devices and Capacity) in the Snowcone User Guide or \"https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html\" (Snow Family Devices and Capacity) in the Snowcone User Guide.

", + "CreateJobRequest$SnowballType": "

The type of Snow Family Devices to use for this job.

For cluster jobs, Amazon Web Services Snow Family currently supports only the EDGE device type.

The type of Amazon Web Services Snow device to use for this job. Currently, the only supported device type for cluster jobs is EDGE.

For more information, see Snowball Edge Device Options in the Snowball Edge Developer Guide.

For more information, see \"https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html\" (Snow Family Devices and Capacity) in the Snowcone User Guide or \"https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html\" (Snow Family Devices and Capacity) in the Snowcone User Guide.

", + "CreateLongTermPricingRequest$SnowballType": "

The type of Snow Family Devices to use for the long-term pricing job.

", "JobListEntry$SnowballType": "

The type of device used with this job.

", "JobMetadata$SnowballType": "

The type of device used with this job.

", - "LongTermPricingListEntry$SnowballType": "

The type of AWS Snow Family device associated with this long-term pricing job.

" + "LongTermPricingListEntry$SnowballType": "

The type of Snow Family Devices associated with this long-term pricing job.

" } }, "SnowconeDeviceConfiguration": { - "base": "

Specifies the device configuration for an AWS Snowcone job.

", + "base": "

Specifies the device configuration for an Snowcone job.

", "refs": { - "DeviceConfiguration$SnowconeDeviceConfiguration": "

Returns information about the device configuration for an AWS Snowcone job.

" + "DeviceConfiguration$SnowconeDeviceConfiguration": "

Returns information about the device configuration for an Snowcone job.

" } }, "SnsTopicARN": { "base": null, "refs": { - "Notification$SnsTopicARN": "

The new SNS TopicArn that you want to associate with this job. You can create Amazon Resource Names (ARNs) for topics by using the CreateTopic Amazon SNS API action.

You can subscribe email addresses to an Amazon SNS topic through the AWS Management Console, or by using the Subscribe Amazon Simple Notification Service (Amazon SNS) API action.

" + "Notification$SnsTopicARN": "

The new SNS TopicArn that you want to associate with this job. You can create Amazon Resource Names (ARNs) for topics by using the CreateTopic Amazon SNS API action.

You can subscribe email addresses to an Amazon SNS topic through the Amazon Web Services Management Console, or by using the Subscribe Amazon Simple Notification Service (Amazon SNS) API action.

" } }, "StorageLimit": { "base": null, "refs": { - "NFSOnDeviceServiceConfiguration$StorageLimit": "

The maximum NFS storage for one Snowball Family device.

" + "NFSOnDeviceServiceConfiguration$StorageLimit": "

The maximum NFS storage for one Snow Family device.

", + "TGWOnDeviceServiceConfiguration$StorageLimit": "

The maximum number of virtual tapes to store on one Snow Family device. Due to physical resource limitations, this value must be set to 80 for Snowball Edge.

" } }, "StorageUnit": { "base": null, "refs": { - "NFSOnDeviceServiceConfiguration$StorageUnit": "

The scale unit of the NFS storage on the device.

Valid values: TB.

" + "NFSOnDeviceServiceConfiguration$StorageUnit": "

The scale unit of the NFS storage on the device.

Valid values: TB.

", + "TGWOnDeviceServiceConfiguration$StorageUnit": "

The scale unit of the virtual tapes on the device.

" } }, "String": { @@ -801,6 +803,7 @@ "CreateJobRequest$Description": "

Defines an optional description of this specific job, for example Important Photos 2016-08-11.

", "DescribeAddressesRequest$NextToken": "

HTTP requests are stateless. To identify what object comes \"next\" in the list of ADDRESS objects, you have the option of specifying a value for NextToken as the starting point for your list of returned addresses.

", "DescribeAddressesResult$NextToken": "

HTTP requests are stateless. If you use the automatically generated NextToken value in your next DescribeAddresses call, your list of returned addresses will start from this point in the array.

", + "DescribeReturnShippingLabelResult$ReturnShippingLabelURI": "

The pre-signed Amazon S3 URI used to download the return shipping label.

", "Ec2AmiResource$SnowballAmiId": "

The ID of the AMI on the Snow device.

", "Ec2RequestFailedException$Message": null, "GetJobManifestResult$ManifestURI": "

The Amazon S3 presigned URL for the manifest file associated with the specified JobId value.

", @@ -842,8 +845,14 @@ "UpdateJobRequest$Description": "

The updated description of this job's JobMetadata object.

" } }, + "TGWOnDeviceServiceConfiguration": { + "base": "

An object that represents the metadata and configuration settings for the Storage Gateway service Tape Gateway type on an Amazon Web Services Snow Family device.

", + "refs": { + "OnDeviceServiceConfiguration$TGWOnDeviceService": "

Represents the Storage Gateway service Tape Gateway type on a Snow Family device.

" + } + }, "TargetOnDeviceService": { - "base": "

An object that represents the service or services on the Snow Family device that your transferred data will be exported from or imported into. AWS Snow Family supports Amazon S3 and NFS (Network File System).

", + "base": "

An object that represents the service or services on the Snow Family device that your transferred data will be exported from or imported into. Amazon Web Services Snow Family supports Amazon S3 and NFS (Network File System).

", "refs": { "TargetOnDeviceServiceList$member": null } @@ -851,16 +860,16 @@ "TargetOnDeviceServiceList": { "base": null, "refs": { - "S3Resource$TargetOnDeviceServices": "

Specifies the service or services on the Snow Family device that your transferred data will be exported from or imported into. AWS Snow Family supports Amazon S3 and NFS (Network File System).

" + "S3Resource$TargetOnDeviceServices": "

Specifies the service or services on the Snow Family device that your transferred data will be exported from or imported into. Amazon Web Services Snow Family supports Amazon S3 and NFS (Network File System).

" } }, "TaxDocuments": { - "base": "

The tax documents required in your AWS Region.

", + "base": "

The tax documents required in your Amazon Web Services Region.

", "refs": { - "ClusterMetadata$TaxDocuments": "

The tax documents required in your AWS Region.

", - "CreateClusterRequest$TaxDocuments": "

The tax documents required in your AWS Region.

", - "CreateJobRequest$TaxDocuments": "

The tax documents required in your AWS Region.

", - "JobMetadata$TaxDocuments": "

The metadata associated with the tax documents required in your AWS Region.

" + "ClusterMetadata$TaxDocuments": "

The tax documents required in your Amazon Web Services Region.

", + "CreateClusterRequest$TaxDocuments": "

The tax documents required in your Amazon Web Services Region.

", + "CreateJobRequest$TaxDocuments": "

The tax documents required in your Amazon Web Services Region.

", + "JobMetadata$TaxDocuments": "

The metadata associated with the tax documents required in your Amazon Web Services Region.

" } }, "Timestamp": { @@ -882,7 +891,7 @@ } }, "UnsupportedAddressException": { - "base": "

The address is either outside the serviceable area for your region, or an error occurred. Check the address with your region's carrier and try again. If the issue persists, contact AWS Support.

", + "base": "

The address is either outside the serviceable area for your region, or an error occurred. Check the address with your region's carrier and try again. If the issue persists, contact Amazon Web Services Support.

", "refs": { } }, @@ -927,9 +936,9 @@ } }, "WirelessConnection": { - "base": "

Configures the wireless connection on an AWS Snowcone device.

", + "base": "

Configures the wireless connection on an Snowcone device.

", "refs": { - "SnowconeDeviceConfiguration$WirelessConnection": "

Configures the wireless connection for the AWS Snowcone device.

" + "SnowconeDeviceConfiguration$WirelessConnection": "

Configures the wireless connection for the Snowcone device.

" } } } diff --git a/models/apis/storagegateway/2013-06-30/api-2.json b/models/apis/storagegateway/2013-06-30/api-2.json index 1d7e1e385be..70225fbaf6c 100644 --- a/models/apis/storagegateway/2013-06-30/api-2.json +++ b/models/apis/storagegateway/2013-06-30/api-2.json @@ -2105,7 +2105,8 @@ "SoftwareUpdatesEndDate":{"shape":"SoftwareUpdatesEndDate"}, "DeprecationDate":{"shape":"DeprecationDate"}, "GatewayCapacity":{"shape":"GatewayCapacity"}, - "SupportedGatewayCapacities":{"shape":"SupportedGatewayCapacities"} + "SupportedGatewayCapacities":{"shape":"SupportedGatewayCapacities"}, + "HostEnvironmentId":{"shape":"HostEnvironmentId"} } }, "DescribeMaintenanceStartTimeInput":{ @@ -2662,7 +2663,9 @@ "GatewayOperationalState":{"shape":"GatewayOperationalState"}, "GatewayName":{"shape":"string"}, "Ec2InstanceId":{"shape":"Ec2InstanceId"}, - "Ec2InstanceRegion":{"shape":"Ec2InstanceRegion"} + "Ec2InstanceRegion":{"shape":"Ec2InstanceRegion"}, + "HostEnvironment":{"shape":"HostEnvironment"}, + "HostEnvironmentId":{"shape":"HostEnvironmentId"} } }, "GatewayName":{ @@ -2712,9 +2715,15 @@ "HYPER-V", "EC2", "KVM", - "OTHER" + "OTHER", + "SNOWBALL" ] }, + "HostEnvironmentId":{ + "type":"string", + "max":1024, + "min":1 + }, "Hosts":{ "type":"list", "member":{"shape":"Host"} diff --git a/models/apis/storagegateway/2013-06-30/docs-2.json b/models/apis/storagegateway/2013-06-30/docs-2.json index d974c63c671..27a7b16ea5d 100644 --- a/models/apis/storagegateway/2013-06-30/docs-2.json +++ b/models/apis/storagegateway/2013-06-30/docs-2.json @@ -1355,7 +1355,7 @@ "GatewayType": { "base": null, "refs": { - "ActivateGatewayInput$GatewayType": "

A value that defines the type of gateway to activate. The type specified is critical to all later functions of the gateway and cannot be changed after activation. The default value is CACHED.

Valid Values: STORED | CACHED | VTL | FILE_S3 | FILE_FSX_SMB|

", + "ActivateGatewayInput$GatewayType": "

A value that defines the type of gateway to activate. The type specified is critical to all later functions of the gateway and cannot be changed after activation. The default value is CACHED.

Valid Values: STORED | CACHED | VTL | VTL_SNOW | FILE_S3 | FILE_FSX_SMB

", "DescribeGatewayInformationOutput$GatewayType": "

The type of the gateway.

", "GatewayInfo$GatewayType": "

The type of the gateway.

" } @@ -1375,7 +1375,15 @@ "HostEnvironment": { "base": null, "refs": { - "DescribeGatewayInformationOutput$HostEnvironment": "

The type of hypervisor environment used by the host.

" + "DescribeGatewayInformationOutput$HostEnvironment": "

The type of hardware or software platform on which the gateway is running.

", + "GatewayInfo$HostEnvironment": "

The type of hardware or software platform on which the gateway is running.

" + } + }, + "HostEnvironmentId": { + "base": null, + "refs": { + "DescribeGatewayInformationOutput$HostEnvironmentId": "

A unique identifier for the specific instance of the host platform running the gateway. This value is only available for certain host environments, and its format depends on the host environment type.

", + "GatewayInfo$HostEnvironmentId": "

A unique identifier for the specific instance of the host platform running the gateway. This value is only available for certain host environments, and its format depends on the host environment type.

" } }, "Hosts": { diff --git a/models/apis/workspaces-web/2020-07-08/api-2.json b/models/apis/workspaces-web/2020-07-08/api-2.json new file mode 100644 index 00000000000..da7e5456dcc --- /dev/null +++ b/models/apis/workspaces-web/2020-07-08/api-2.json @@ -0,0 +1,2250 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2020-07-08", + "endpointPrefix":"workspaces-web", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"Amazon WorkSpaces Web", + "serviceId":"WorkSpaces Web", + "signatureVersion":"v4", + "signingName":"workspaces-web", + "uid":"workspaces-web-2020-07-08" + }, + "operations":{ + "AssociateBrowserSettings":{ + "name":"AssociateBrowserSettings", + "http":{ + "method":"PUT", + "requestUri":"/portals/{portalArn+}/browserSettings", + "responseCode":200 + }, + "input":{"shape":"AssociateBrowserSettingsRequest"}, + "output":{"shape":"AssociateBrowserSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "AssociateNetworkSettings":{ + "name":"AssociateNetworkSettings", + "http":{ + "method":"PUT", + "requestUri":"/portals/{portalArn+}/networkSettings", + "responseCode":200 + }, + "input":{"shape":"AssociateNetworkSettingsRequest"}, + "output":{"shape":"AssociateNetworkSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "AssociateTrustStore":{ + "name":"AssociateTrustStore", + "http":{ + "method":"PUT", + "requestUri":"/portals/{portalArn+}/trustStores", + "responseCode":200 + }, + "input":{"shape":"AssociateTrustStoreRequest"}, + "output":{"shape":"AssociateTrustStoreResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "idempotent":true + }, + "AssociateUserSettings":{ + "name":"AssociateUserSettings", + "http":{ + "method":"PUT", + "requestUri":"/portals/{portalArn+}/userSettings", + "responseCode":200 + }, + "input":{"shape":"AssociateUserSettingsRequest"}, + "output":{"shape":"AssociateUserSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "CreateBrowserSettings":{ + "name":"CreateBrowserSettings", + "http":{ + "method":"POST", + "requestUri":"/browserSettings", + "responseCode":200 + }, + "input":{"shape":"CreateBrowserSettingsRequest"}, + "output":{"shape":"CreateBrowserSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ] + }, + "CreateIdentityProvider":{ + "name":"CreateIdentityProvider", + "http":{ + "method":"POST", + "requestUri":"/identityProviders", + "responseCode":200 + }, + "input":{"shape":"CreateIdentityProviderRequest"}, + "output":{"shape":"CreateIdentityProviderResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ] + }, + "CreateNetworkSettings":{ + "name":"CreateNetworkSettings", + "http":{ + "method":"POST", + "requestUri":"/networkSettings", + "responseCode":200 + }, + "input":{"shape":"CreateNetworkSettingsRequest"}, + "output":{"shape":"CreateNetworkSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ] + }, + "CreatePortal":{ + "name":"CreatePortal", + "http":{ + "method":"POST", + "requestUri":"/portals", + "responseCode":200 + }, + "input":{"shape":"CreatePortalRequest"}, + "output":{"shape":"CreatePortalResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ] + }, + "CreateTrustStore":{ + "name":"CreateTrustStore", + "http":{ + "method":"POST", + "requestUri":"/trustStores", + "responseCode":200 + }, + "input":{"shape":"CreateTrustStoreRequest"}, + "output":{"shape":"CreateTrustStoreResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ] + }, + "CreateUserSettings":{ + "name":"CreateUserSettings", + "http":{ + "method":"POST", + "requestUri":"/userSettings", + "responseCode":200 + }, + "input":{"shape":"CreateUserSettingsRequest"}, + "output":{"shape":"CreateUserSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ] + }, + "DeleteBrowserSettings":{ + "name":"DeleteBrowserSettings", + "http":{ + "method":"DELETE", + "requestUri":"/browserSettings/{browserSettingsArn+}", + "responseCode":200 + }, + "input":{"shape":"DeleteBrowserSettingsRequest"}, + "output":{"shape":"DeleteBrowserSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "DeleteIdentityProvider":{ + "name":"DeleteIdentityProvider", + "http":{ + "method":"DELETE", + "requestUri":"/identityProviders/{identityProviderArn+}", + "responseCode":200 + }, + "input":{"shape":"DeleteIdentityProviderRequest"}, + "output":{"shape":"DeleteIdentityProviderResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "DeleteNetworkSettings":{ + "name":"DeleteNetworkSettings", + "http":{ + "method":"DELETE", + "requestUri":"/networkSettings/{networkSettingsArn+}", + "responseCode":200 + }, + "input":{"shape":"DeleteNetworkSettingsRequest"}, + "output":{"shape":"DeleteNetworkSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "DeletePortal":{ + "name":"DeletePortal", + "http":{ + "method":"DELETE", + "requestUri":"/portals/{portalArn+}", + "responseCode":200 + }, + "input":{"shape":"DeletePortalRequest"}, + "output":{"shape":"DeletePortalResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "DeleteTrustStore":{ + "name":"DeleteTrustStore", + "http":{ + "method":"DELETE", + "requestUri":"/trustStores/{trustStoreArn+}", + "responseCode":200 + }, + "input":{"shape":"DeleteTrustStoreRequest"}, + "output":{"shape":"DeleteTrustStoreResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "DeleteUserSettings":{ + "name":"DeleteUserSettings", + "http":{ + "method":"DELETE", + "requestUri":"/userSettings/{userSettingsArn+}", + "responseCode":200 + }, + "input":{"shape":"DeleteUserSettingsRequest"}, + "output":{"shape":"DeleteUserSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} + ], + "idempotent":true + }, + "DisassociateBrowserSettings":{ + "name":"DisassociateBrowserSettings", + "http":{ + "method":"DELETE", + "requestUri":"/portals/{portalArn+}/browserSettings", + "responseCode":200 + }, + "input":{"shape":"DisassociateBrowserSettingsRequest"}, + "output":{"shape":"DisassociateBrowserSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "idempotent":true + }, + "DisassociateNetworkSettings":{ + "name":"DisassociateNetworkSettings", + "http":{ + "method":"DELETE", + "requestUri":"/portals/{portalArn+}/networkSettings", + "responseCode":200 + }, + "input":{"shape":"DisassociateNetworkSettingsRequest"}, + "output":{"shape":"DisassociateNetworkSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "idempotent":true + }, + "DisassociateTrustStore":{ + "name":"DisassociateTrustStore", + "http":{ + "method":"DELETE", + "requestUri":"/portals/{portalArn+}/trustStores", + "responseCode":200 + }, + "input":{"shape":"DisassociateTrustStoreRequest"}, + "output":{"shape":"DisassociateTrustStoreResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "idempotent":true + }, + "DisassociateUserSettings":{ + "name":"DisassociateUserSettings", + "http":{ + "method":"DELETE", + "requestUri":"/portals/{portalArn+}/userSettings", + "responseCode":200 + }, + "input":{"shape":"DisassociateUserSettingsRequest"}, + "output":{"shape":"DisassociateUserSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "idempotent":true + }, + "GetBrowserSettings":{ + "name":"GetBrowserSettings", + "http":{ + "method":"GET", + "requestUri":"/browserSettings/{browserSettingsArn+}", + "responseCode":200 + }, + "input":{"shape":"GetBrowserSettingsRequest"}, + "output":{"shape":"GetBrowserSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "GetIdentityProvider":{ + "name":"GetIdentityProvider", + "http":{ + "method":"GET", + "requestUri":"/identityProviders/{identityProviderArn+}", + "responseCode":200 + }, + "input":{"shape":"GetIdentityProviderRequest"}, + "output":{"shape":"GetIdentityProviderResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "GetNetworkSettings":{ + "name":"GetNetworkSettings", + "http":{ + "method":"GET", + "requestUri":"/networkSettings/{networkSettingsArn+}", + "responseCode":200 + }, + "input":{"shape":"GetNetworkSettingsRequest"}, + "output":{"shape":"GetNetworkSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "GetPortal":{ + "name":"GetPortal", + "http":{ + "method":"GET", + "requestUri":"/portals/{portalArn+}", + "responseCode":200 + }, + "input":{"shape":"GetPortalRequest"}, + "output":{"shape":"GetPortalResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "GetPortalServiceProviderMetadata":{ + "name":"GetPortalServiceProviderMetadata", + "http":{ + "method":"GET", + "requestUri":"/portalIdp/{portalArn+}", + "responseCode":200 + }, + "input":{"shape":"GetPortalServiceProviderMetadataRequest"}, + "output":{"shape":"GetPortalServiceProviderMetadataResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "GetTrustStore":{ + "name":"GetTrustStore", + "http":{ + "method":"GET", + "requestUri":"/trustStores/{trustStoreArn+}", + "responseCode":200 + }, + "input":{"shape":"GetTrustStoreRequest"}, + "output":{"shape":"GetTrustStoreResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "GetTrustStoreCertificate":{ + "name":"GetTrustStoreCertificate", + "http":{ + "method":"GET", + "requestUri":"/trustStores/{trustStoreArn+}/certificate", + "responseCode":200 + }, + "input":{"shape":"GetTrustStoreCertificateRequest"}, + "output":{"shape":"GetTrustStoreCertificateResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "GetUserSettings":{ + "name":"GetUserSettings", + "http":{ + "method":"GET", + "requestUri":"/userSettings/{userSettingsArn+}", + "responseCode":200 + }, + "input":{"shape":"GetUserSettingsRequest"}, + "output":{"shape":"GetUserSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListBrowserSettings":{ + "name":"ListBrowserSettings", + "http":{ + "method":"GET", + "requestUri":"/browserSettings", + "responseCode":200 + }, + "input":{"shape":"ListBrowserSettingsRequest"}, + "output":{"shape":"ListBrowserSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListIdentityProviders":{ + "name":"ListIdentityProviders", + "http":{ + "method":"GET", + "requestUri":"/portals/{portalArn+}/identityProviders", + "responseCode":200 + }, + "input":{"shape":"ListIdentityProvidersRequest"}, + "output":{"shape":"ListIdentityProvidersResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListNetworkSettings":{ + "name":"ListNetworkSettings", + "http":{ + "method":"GET", + "requestUri":"/networkSettings", + "responseCode":200 + }, + "input":{"shape":"ListNetworkSettingsRequest"}, + "output":{"shape":"ListNetworkSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListPortals":{ + "name":"ListPortals", + "http":{ + "method":"GET", + "requestUri":"/portals", + "responseCode":200 + }, + "input":{"shape":"ListPortalsRequest"}, + "output":{"shape":"ListPortalsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn+}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListTrustStoreCertificates":{ + "name":"ListTrustStoreCertificates", + "http":{ + "method":"GET", + "requestUri":"/trustStores/{trustStoreArn+}/certificates", + "responseCode":200 + }, + "input":{"shape":"ListTrustStoreCertificatesRequest"}, + "output":{"shape":"ListTrustStoreCertificatesResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListTrustStores":{ + "name":"ListTrustStores", + "http":{ + "method":"GET", + "requestUri":"/trustStores", + "responseCode":200 + }, + "input":{"shape":"ListTrustStoresRequest"}, + "output":{"shape":"ListTrustStoresResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "ListUserSettings":{ + "name":"ListUserSettings", + "http":{ + "method":"GET", + "requestUri":"/userSettings", + "responseCode":200 + }, + "input":{"shape":"ListUserSettingsRequest"}, + "output":{"shape":"ListUserSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn+}", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"}, + {"shape":"TooManyTagsException"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn+}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "idempotent":true + }, + "UpdateBrowserSettings":{ + "name":"UpdateBrowserSettings", + "http":{ + "method":"PATCH", + "requestUri":"/browserSettings/{browserSettingsArn+}", + "responseCode":200 + }, + "input":{"shape":"UpdateBrowserSettingsRequest"}, + "output":{"shape":"UpdateBrowserSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "UpdateIdentityProvider":{ + "name":"UpdateIdentityProvider", + "http":{ + "method":"PATCH", + "requestUri":"/identityProviders/{identityProviderArn+}", + "responseCode":200 + }, + "input":{"shape":"UpdateIdentityProviderRequest"}, + "output":{"shape":"UpdateIdentityProviderResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "UpdateNetworkSettings":{ + "name":"UpdateNetworkSettings", + "http":{ + "method":"PATCH", + "requestUri":"/networkSettings/{networkSettingsArn+}", + "responseCode":200 + }, + "input":{"shape":"UpdateNetworkSettingsRequest"}, + "output":{"shape":"UpdateNetworkSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + }, + "UpdatePortal":{ + "name":"UpdatePortal", + "http":{ + "method":"PUT", + "requestUri":"/portals/{portalArn+}", + "responseCode":200 + }, + "input":{"shape":"UpdatePortalRequest"}, + "output":{"shape":"UpdatePortalResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ], + "idempotent":true + }, + "UpdateTrustStore":{ + "name":"UpdateTrustStore", + "http":{ + "method":"PATCH", + "requestUri":"/trustStores/{trustStoreArn+}", + "responseCode":200 + }, + "input":{"shape":"UpdateTrustStoreRequest"}, + "output":{"shape":"UpdateTrustStoreResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ValidationException"} + ] + }, + "UpdateUserSettings":{ + "name":"UpdateUserSettings", + "http":{ + "method":"PATCH", + "requestUri":"/userSettings/{userSettingsArn+}", + "responseCode":200 + }, + "input":{"shape":"UpdateUserSettingsRequest"}, + "output":{"shape":"UpdateUserSettingsResponse"}, + "errors":[ + {"shape":"InternalServerException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"ValidationException"} + ] + } + }, + "shapes":{ + "ARN":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:[\\w+=\\/,.@-]+:[a-zA-Z0-9\\-]+:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:[a-zA-Z]+(\\/[a-fA-F0-9\\-]{36})+$" + }, + "AccessDeniedException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"} + }, + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "ArnList":{ + "type":"list", + "member":{"shape":"ARN"} + }, + "AssociateBrowserSettingsRequest":{ + "type":"structure", + "required":[ + "browserSettingsArn", + "portalArn" + ], + "members":{ + "browserSettingsArn":{ + "shape":"ARN", + "location":"querystring", + "locationName":"browserSettingsArn" + }, + "portalArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"portalArn" + } + } + }, + "AssociateBrowserSettingsResponse":{ + "type":"structure", + "required":[ + "browserSettingsArn", + "portalArn" + ], + "members":{ + "browserSettingsArn":{"shape":"ARN"}, + "portalArn":{"shape":"ARN"} + } + }, + "AssociateNetworkSettingsRequest":{ + "type":"structure", + "required":[ + "networkSettingsArn", + "portalArn" + ], + "members":{ + "networkSettingsArn":{ + "shape":"ARN", + "location":"querystring", + "locationName":"networkSettingsArn" + }, + "portalArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"portalArn" + } + } + }, + "AssociateNetworkSettingsResponse":{ + "type":"structure", + "required":[ + "networkSettingsArn", + "portalArn" + ], + "members":{ + "networkSettingsArn":{"shape":"ARN"}, + "portalArn":{"shape":"ARN"} + } + }, + "AssociateTrustStoreRequest":{ + "type":"structure", + "required":[ + "portalArn", + "trustStoreArn" + ], + "members":{ + "portalArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"portalArn" + }, + "trustStoreArn":{ + "shape":"ARN", + "location":"querystring", + "locationName":"trustStoreArn" + } + } + }, + "AssociateTrustStoreResponse":{ + "type":"structure", + "required":[ + "portalArn", + "trustStoreArn" + ], + "members":{ + "portalArn":{"shape":"ARN"}, + "trustStoreArn":{"shape":"ARN"} + } + }, + "AssociateUserSettingsRequest":{ + "type":"structure", + "required":[ + "portalArn", + "userSettingsArn" + ], + "members":{ + "portalArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"portalArn" + }, + "userSettingsArn":{ + "shape":"ARN", + "location":"querystring", + "locationName":"userSettingsArn" + } + } + }, + "AssociateUserSettingsResponse":{ + "type":"structure", + "required":[ + "portalArn", + "userSettingsArn" + ], + "members":{ + "portalArn":{"shape":"ARN"}, + "userSettingsArn":{"shape":"ARN"} + } + }, + "BrowserPolicy":{ + "type":"string", + "max":131072, + "min":2, + "pattern":"\\{[\\S\\s]*\\}\\s*" + }, + "BrowserSettings":{ + "type":"structure", + "required":["browserSettingsArn"], + "members":{ + "associatedPortalArns":{"shape":"ArnList"}, + "browserPolicy":{"shape":"BrowserPolicy"}, + "browserSettingsArn":{"shape":"ARN"} + } + }, + "BrowserSettingsList":{ + "type":"list", + "member":{"shape":"BrowserSettingsSummary"} + }, + "BrowserSettingsSummary":{ + "type":"structure", + "members":{ + "browserSettingsArn":{"shape":"ARN"} + } + }, + "BrowserType":{ + "type":"string", + "enum":["Chrome"] + }, + "Certificate":{ + "type":"structure", + "members":{ + "body":{"shape":"CertificateAuthorityBody"}, + "issuer":{"shape":"CertificatePrincipal"}, + "notValidAfter":{"shape":"Timestamp"}, + "notValidBefore":{"shape":"Timestamp"}, + "subject":{"shape":"CertificatePrincipal"}, + "thumbprint":{"shape":"CertificateThumbprint"} + } + }, + "CertificateAuthorityBody":{"type":"blob"}, + "CertificateList":{ + "type":"list", + "member":{"shape":"CertificateAuthorityBody"} + }, + "CertificatePrincipal":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^\\S+$" + }, + "CertificateSummary":{ + "type":"structure", + "members":{ + "issuer":{"shape":"CertificatePrincipal"}, + "notValidAfter":{"shape":"Timestamp"}, + "notValidBefore":{"shape":"Timestamp"}, + "subject":{"shape":"CertificatePrincipal"}, + "thumbprint":{"shape":"CertificateThumbprint"} + } + }, + "CertificateSummaryList":{ + "type":"list", + "member":{"shape":"CertificateSummary"} + }, + "CertificateThumbprint":{ + "type":"string", + "max":64, + "min":64, + "pattern":"^[A-Fa-f0-9]{64}$" + }, + "CertificateThumbprintList":{ + "type":"list", + "member":{"shape":"CertificateThumbprint"} + }, + "ClientToken":{ + "type":"string", + "max":512, + "min":1 + }, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "resourceId":{"shape":"ResourceId"}, + "resourceType":{"shape":"ResourceType"} + }, + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "CreateBrowserSettingsRequest":{ + "type":"structure", + "required":["browserPolicy"], + "members":{ + "additionalEncryptionContext":{"shape":"EncryptionContextMap"}, + "browserPolicy":{"shape":"BrowserPolicy"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "customerManagedKey":{"shape":"keyArn"}, + "tags":{"shape":"TagList"} + } + }, + "CreateBrowserSettingsResponse":{ + "type":"structure", + "required":["browserSettingsArn"], + "members":{ + "browserSettingsArn":{"shape":"ARN"} + } + }, + "CreateIdentityProviderRequest":{ + "type":"structure", + "required":[ + "identityProviderDetails", + "identityProviderName", + "identityProviderType", + "portalArn" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "identityProviderDetails":{"shape":"IdentityProviderDetails"}, + "identityProviderName":{"shape":"IdentityProviderName"}, + "identityProviderType":{"shape":"IdentityProviderType"}, + "portalArn":{"shape":"ARN"} + } + }, + "CreateIdentityProviderResponse":{ + "type":"structure", + "required":["identityProviderArn"], + "members":{ + "identityProviderArn":{"shape":"ARN"} + } + }, + "CreateNetworkSettingsRequest":{ + "type":"structure", + "required":[ + "securityGroupIds", + "subnetIds", + "vpcId" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "securityGroupIds":{"shape":"SecurityGroupIdList"}, + "subnetIds":{"shape":"SubnetIdList"}, + "tags":{"shape":"TagList"}, + "vpcId":{"shape":"VpcId"} + } + }, + "CreateNetworkSettingsResponse":{ + "type":"structure", + "required":["networkSettingsArn"], + "members":{ + "networkSettingsArn":{"shape":"ARN"} + } + }, + "CreatePortalRequest":{ + "type":"structure", + "members":{ + "additionalEncryptionContext":{"shape":"EncryptionContextMap"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "customerManagedKey":{"shape":"keyArn"}, + "displayName":{"shape":"DisplayName"}, + "tags":{"shape":"TagList"} + } + }, + "CreatePortalResponse":{ + "type":"structure", + "required":[ + "portalArn", + "portalEndpoint" + ], + "members":{ + "portalArn":{"shape":"ARN"}, + "portalEndpoint":{"shape":"PortalEndpoint"} + } + }, + "CreateTrustStoreRequest":{ + "type":"structure", + "required":["certificateList"], + "members":{ + "certificateList":{"shape":"CertificateList"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "tags":{"shape":"TagList"} + } + }, + "CreateTrustStoreResponse":{ + "type":"structure", + "required":["trustStoreArn"], + "members":{ + "trustStoreArn":{"shape":"ARN"} + } + }, + "CreateUserSettingsRequest":{ + "type":"structure", + "required":[ + "copyAllowed", + "downloadAllowed", + "pasteAllowed", + "printAllowed", + "uploadAllowed" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "copyAllowed":{"shape":"EnabledType"}, + "downloadAllowed":{"shape":"EnabledType"}, + "pasteAllowed":{"shape":"EnabledType"}, + "printAllowed":{"shape":"EnabledType"}, + "tags":{"shape":"TagList"}, + "uploadAllowed":{"shape":"EnabledType"} + } + }, + "CreateUserSettingsResponse":{ + "type":"structure", + "required":["userSettingsArn"], + "members":{ + "userSettingsArn":{"shape":"ARN"} + } + }, + "DeleteBrowserSettingsRequest":{ + "type":"structure", + "required":["browserSettingsArn"], + "members":{ + "browserSettingsArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"browserSettingsArn" + } + } + }, + "DeleteBrowserSettingsResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteIdentityProviderRequest":{ + "type":"structure", + "required":["identityProviderArn"], + "members":{ + "identityProviderArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"identityProviderArn" + } + } + }, + "DeleteIdentityProviderResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteNetworkSettingsRequest":{ + "type":"structure", + "required":["networkSettingsArn"], + "members":{ + "networkSettingsArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"networkSettingsArn" + } + } + }, + "DeleteNetworkSettingsResponse":{ + "type":"structure", + "members":{ + } + }, + "DeletePortalRequest":{ + "type":"structure", + "required":["portalArn"], + "members":{ + "portalArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"portalArn" + } + } + }, + "DeletePortalResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteTrustStoreRequest":{ + "type":"structure", + "required":["trustStoreArn"], + "members":{ + "trustStoreArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"trustStoreArn" + } + } + }, + "DeleteTrustStoreResponse":{ + "type":"structure", + "members":{ + } + }, + "DeleteUserSettingsRequest":{ + "type":"structure", + "required":["userSettingsArn"], + "members":{ + "userSettingsArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"userSettingsArn" + } + } + }, + "DeleteUserSettingsResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateBrowserSettingsRequest":{ + "type":"structure", + "required":["portalArn"], + "members":{ + "portalArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"portalArn" + } + } + }, + "DisassociateBrowserSettingsResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateNetworkSettingsRequest":{ + "type":"structure", + "required":["portalArn"], + "members":{ + "portalArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"portalArn" + } + } + }, + "DisassociateNetworkSettingsResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateTrustStoreRequest":{ + "type":"structure", + "required":["portalArn"], + "members":{ + "portalArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"portalArn" + } + } + }, + "DisassociateTrustStoreResponse":{ + "type":"structure", + "members":{ + } + }, + "DisassociateUserSettingsRequest":{ + "type":"structure", + "required":["portalArn"], + "members":{ + "portalArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"portalArn" + } + } + }, + "DisassociateUserSettingsResponse":{ + "type":"structure", + "members":{ + } + }, + "DisplayName":{ + "type":"string", + "max":64, + "min":1, + "pattern":"^.+$" + }, + "EnabledType":{ + "type":"string", + "enum":[ + "Disabled", + "Enabled" + ] + }, + "EncryptionContextMap":{ + "type":"map", + "key":{"shape":"StringType"}, + "value":{"shape":"StringType"} + }, + "ExceptionMessage":{"type":"string"}, + "FieldName":{"type":"string"}, + "GetBrowserSettingsRequest":{ + "type":"structure", + "required":["browserSettingsArn"], + "members":{ + "browserSettingsArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"browserSettingsArn" + } + } + }, + "GetBrowserSettingsResponse":{ + "type":"structure", + "members":{ + "browserSettings":{"shape":"BrowserSettings"} + } + }, + "GetIdentityProviderRequest":{ + "type":"structure", + "required":["identityProviderArn"], + "members":{ + "identityProviderArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"identityProviderArn" + } + } + }, + "GetIdentityProviderResponse":{ + "type":"structure", + "members":{ + "identityProvider":{"shape":"IdentityProvider"} + } + }, + "GetNetworkSettingsRequest":{ + "type":"structure", + "required":["networkSettingsArn"], + "members":{ + "networkSettingsArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"networkSettingsArn" + } + } + }, + "GetNetworkSettingsResponse":{ + "type":"structure", + "members":{ + "networkSettings":{"shape":"NetworkSettings"} + } + }, + "GetPortalRequest":{ + "type":"structure", + "required":["portalArn"], + "members":{ + "portalArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"portalArn" + } + } + }, + "GetPortalResponse":{ + "type":"structure", + "members":{ + "portal":{"shape":"Portal"} + } + }, + "GetPortalServiceProviderMetadataRequest":{ + "type":"structure", + "required":["portalArn"], + "members":{ + "portalArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"portalArn" + } + } + }, + "GetPortalServiceProviderMetadataResponse":{ + "type":"structure", + "required":["portalArn"], + "members":{ + "portalArn":{"shape":"ARN"}, + "serviceProviderSamlMetadata":{"shape":"SamlMetadata"} + } + }, + "GetTrustStoreCertificateRequest":{ + "type":"structure", + "required":[ + "thumbprint", + "trustStoreArn" + ], + "members":{ + "thumbprint":{ + "shape":"CertificateThumbprint", + "location":"querystring", + "locationName":"thumbprint" + }, + "trustStoreArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"trustStoreArn" + } + } + }, + "GetTrustStoreCertificateResponse":{ + "type":"structure", + "members":{ + "certificate":{"shape":"Certificate"}, + "trustStoreArn":{"shape":"ARN"} + } + }, + "GetTrustStoreRequest":{ + "type":"structure", + "required":["trustStoreArn"], + "members":{ + "trustStoreArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"trustStoreArn" + } + } + }, + "GetTrustStoreResponse":{ + "type":"structure", + "members":{ + "trustStore":{"shape":"TrustStore"} + } + }, + "GetUserSettingsRequest":{ + "type":"structure", + "required":["userSettingsArn"], + "members":{ + "userSettingsArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"userSettingsArn" + } + } + }, + "GetUserSettingsResponse":{ + "type":"structure", + "members":{ + "userSettings":{"shape":"UserSettings"} + } + }, + "IdentityProvider":{ + "type":"structure", + "required":["identityProviderArn"], + "members":{ + "identityProviderArn":{"shape":"ARN"}, + "identityProviderDetails":{"shape":"IdentityProviderDetails"}, + "identityProviderName":{"shape":"IdentityProviderName"}, + "identityProviderType":{"shape":"IdentityProviderType"} + } + }, + "IdentityProviderDetails":{ + "type":"map", + "key":{"shape":"StringType"}, + "value":{"shape":"StringType"} + }, + "IdentityProviderList":{ + "type":"list", + "member":{"shape":"IdentityProviderSummary"} + }, + "IdentityProviderName":{ + "type":"string", + "max":32, + "min":1, + "pattern":"^[^_][\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}][^_]+$" + }, + "IdentityProviderSummary":{ + "type":"structure", + "members":{ + "identityProviderArn":{"shape":"ARN"}, + "identityProviderName":{"shape":"IdentityProviderName"}, + "identityProviderType":{"shape":"IdentityProviderType"} + } + }, + "IdentityProviderType":{ + "type":"string", + "enum":[ + "SAML", + "Facebook", + "Google", + "LoginWithAmazon", + "SignInWithApple", + "OIDC" + ] + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "retryAfterSeconds":{ + "shape":"RetryAfterSeconds", + "location":"header", + "locationName":"Retry-After" + } + }, + "error":{"httpStatusCode":500}, + "exception":true, + "fault":true + }, + "ListBrowserSettingsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListBrowserSettingsResponse":{ + "type":"structure", + "members":{ + "browserSettings":{"shape":"BrowserSettingsList"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "ListIdentityProvidersRequest":{ + "type":"structure", + "required":["portalArn"], + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nextToken" + }, + "portalArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"portalArn" + } + } + }, + "ListIdentityProvidersResponse":{ + "type":"structure", + "members":{ + "identityProviders":{"shape":"IdentityProviderList"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "ListNetworkSettingsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListNetworkSettingsResponse":{ + "type":"structure", + "members":{ + "networkSettings":{"shape":"NetworkSettingsList"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "ListPortalsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListPortalsResponse":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"PaginationToken"}, + "portals":{"shape":"PortalList"} + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "members":{ + "tags":{"shape":"TagList"} + } + }, + "ListTrustStoreCertificatesRequest":{ + "type":"structure", + "required":["trustStoreArn"], + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nextToken" + }, + "trustStoreArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"trustStoreArn" + } + } + }, + "ListTrustStoreCertificatesResponse":{ + "type":"structure", + "members":{ + "certificateList":{"shape":"CertificateSummaryList"}, + "nextToken":{"shape":"PaginationToken"}, + "trustStoreArn":{"shape":"ARN"} + } + }, + "ListTrustStoresRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListTrustStoresResponse":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"PaginationToken"}, + "trustStores":{"shape":"TrustStoreSummaryList"} + } + }, + "ListUserSettingsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListUserSettingsResponse":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"PaginationToken"}, + "userSettings":{"shape":"UserSettingsList"} + } + }, + "MaxResults":{ + "type":"integer", + "box":true, + "min":1 + }, + "NetworkSettings":{ + "type":"structure", + "required":["networkSettingsArn"], + "members":{ + "associatedPortalArns":{"shape":"ArnList"}, + "networkSettingsArn":{"shape":"ARN"}, + "securityGroupIds":{"shape":"SecurityGroupIdList"}, + "subnetIds":{"shape":"SubnetIdList"}, + "vpcId":{"shape":"VpcId"} + } + }, + "NetworkSettingsList":{ + "type":"list", + "member":{"shape":"NetworkSettingsSummary"} + }, + "NetworkSettingsSummary":{ + "type":"structure", + "members":{ + "networkSettingsArn":{"shape":"ARN"}, + "vpcId":{"shape":"VpcId"} + } + }, + "PaginationToken":{ + "type":"string", + "max":2048, + "min":1, + "pattern":"^\\S+$" + }, + "Portal":{ + "type":"structure", + "members":{ + "browserSettingsArn":{"shape":"ARN"}, + "browserType":{"shape":"BrowserType"}, + "creationDate":{"shape":"Timestamp"}, + "displayName":{"shape":"DisplayName"}, + "networkSettingsArn":{"shape":"ARN"}, + "portalArn":{"shape":"ARN"}, + "portalEndpoint":{"shape":"PortalEndpoint"}, + "portalStatus":{"shape":"PortalStatus"}, + "rendererType":{"shape":"RendererType"}, + "statusReason":{"shape":"StatusReason"}, + "trustStoreArn":{"shape":"ARN"}, + "userSettingsArn":{"shape":"ARN"} + } + }, + "PortalEndpoint":{ + "type":"string", + "max":253, + "min":1, + "pattern":"^[a-zA-Z0-9]?((?!-)([A-Za-z0-9-]*[A-Za-z0-9])\\.)+[a-zA-Z0-9]+$" + }, + "PortalList":{ + "type":"list", + "member":{"shape":"PortalSummary"} + }, + "PortalStatus":{ + "type":"string", + "enum":[ + "Incomplete", + "Pending", + "Active" + ] + }, + "PortalSummary":{ + "type":"structure", + "members":{ + "browserSettingsArn":{"shape":"ARN"}, + "browserType":{"shape":"BrowserType"}, + "creationDate":{"shape":"Timestamp"}, + "displayName":{"shape":"DisplayName"}, + "networkSettingsArn":{"shape":"ARN"}, + "portalArn":{"shape":"ARN"}, + "portalEndpoint":{"shape":"PortalEndpoint"}, + "portalStatus":{"shape":"PortalStatus"}, + "rendererType":{"shape":"RendererType"}, + "trustStoreArn":{"shape":"ARN"}, + "userSettingsArn":{"shape":"ARN"} + } + }, + "QuotaCode":{"type":"string"}, + "RendererType":{ + "type":"string", + "enum":["AppStream"] + }, + "ResourceId":{"type":"string"}, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "resourceId":{"shape":"ResourceId"}, + "resourceType":{"shape":"ResourceType"} + }, + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ResourceType":{"type":"string"}, + "RetryAfterSeconds":{"type":"integer"}, + "SamlMetadata":{ + "type":"string", + "max":204800, + "min":1, + "pattern":"^.+$" + }, + "SecurityGroupId":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[\\w+\\-]+$" + }, + "SecurityGroupIdList":{ + "type":"list", + "member":{"shape":"SecurityGroupId"}, + "max":5, + "min":1 + }, + "ServiceCode":{"type":"string"}, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "quotaCode":{"shape":"QuotaCode"}, + "resourceId":{"shape":"ResourceId"}, + "resourceType":{"shape":"ResourceType"}, + "serviceCode":{"shape":"ServiceCode"} + }, + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "StatusReason":{ + "type":"string", + "max":1024, + "min":1, + "pattern":".*" + }, + "StringType":{ + "type":"string", + "max":131072, + "min":0, + "pattern":"^[\\s\\S]*$" + }, + "SubnetId":{ + "type":"string", + "max":32, + "min":1, + "pattern":"^subnet-([0-9a-f]{8}|[0-9a-f]{17})$" + }, + "SubnetIdList":{ + "type":"list", + "member":{"shape":"SubnetId"}, + "max":3, + "min":2 + }, + "Tag":{ + "type":"structure", + "required":[ + "Key", + "Value" + ], + "members":{ + "Key":{"shape":"TagKey"}, + "Value":{"shape":"TagValue"} + } + }, + "TagExceptionMessage":{"type":"string"}, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "TagKeyList":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagList":{ + "type":"list", + "member":{"shape":"Tag"}, + "max":200, + "min":0 + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "resourceArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{"shape":"TagList"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0, + "pattern":"^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "message":{"shape":"ExceptionMessage"}, + "quotaCode":{"shape":"QuotaCode"}, + "retryAfterSeconds":{ + "shape":"RetryAfterSeconds", + "location":"header", + "locationName":"Retry-After" + }, + "serviceCode":{"shape":"ServiceCode"} + }, + "error":{ + "httpStatusCode":429, + "senderFault":true + }, + "exception":true + }, + "Timestamp":{"type":"timestamp"}, + "TooManyTagsException":{ + "type":"structure", + "members":{ + "message":{"shape":"TagExceptionMessage"}, + "resourceName":{"shape":"ARN"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "TrustStore":{ + "type":"structure", + "members":{ + "associatedPortalArns":{"shape":"ArnList"}, + "trustStoreArn":{"shape":"ARN"} + } + }, + "TrustStoreSummary":{ + "type":"structure", + "members":{ + "trustStoreArn":{"shape":"ARN"} + } + }, + "TrustStoreSummaryList":{ + "type":"list", + "member":{"shape":"TrustStoreSummary"} + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeyList", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateBrowserSettingsRequest":{ + "type":"structure", + "required":["browserSettingsArn"], + "members":{ + "browserPolicy":{"shape":"BrowserPolicy"}, + "browserSettingsArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"browserSettingsArn" + }, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + } + } + }, + "UpdateBrowserSettingsResponse":{ + "type":"structure", + "required":["browserSettings"], + "members":{ + "browserSettings":{"shape":"BrowserSettings"} + } + }, + "UpdateIdentityProviderRequest":{ + "type":"structure", + "required":["identityProviderArn"], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "identityProviderArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"identityProviderArn" + }, + "identityProviderDetails":{"shape":"IdentityProviderDetails"}, + "identityProviderName":{"shape":"IdentityProviderName"}, + "identityProviderType":{"shape":"IdentityProviderType"} + } + }, + "UpdateIdentityProviderResponse":{ + "type":"structure", + "required":["identityProvider"], + "members":{ + "identityProvider":{"shape":"IdentityProvider"} + } + }, + "UpdateNetworkSettingsRequest":{ + "type":"structure", + "required":["networkSettingsArn"], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "networkSettingsArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"networkSettingsArn" + }, + "securityGroupIds":{"shape":"SecurityGroupIdList"}, + "subnetIds":{"shape":"SubnetIdList"}, + "vpcId":{"shape":"VpcId"} + } + }, + "UpdateNetworkSettingsResponse":{ + "type":"structure", + "required":["networkSettings"], + "members":{ + "networkSettings":{"shape":"NetworkSettings"} + } + }, + "UpdatePortalRequest":{ + "type":"structure", + "required":["portalArn"], + "members":{ + "displayName":{"shape":"DisplayName"}, + "portalArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"portalArn" + } + } + }, + "UpdatePortalResponse":{ + "type":"structure", + "members":{ + "portal":{"shape":"Portal"} + } + }, + "UpdateTrustStoreRequest":{ + "type":"structure", + "required":["trustStoreArn"], + "members":{ + "certificatesToAdd":{"shape":"CertificateList"}, + "certificatesToDelete":{"shape":"CertificateThumbprintList"}, + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "trustStoreArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"trustStoreArn" + } + } + }, + "UpdateTrustStoreResponse":{ + "type":"structure", + "required":["trustStoreArn"], + "members":{ + "trustStoreArn":{"shape":"ARN"} + } + }, + "UpdateUserSettingsRequest":{ + "type":"structure", + "required":["userSettingsArn"], + "members":{ + "clientToken":{ + "shape":"ClientToken", + "idempotencyToken":true + }, + "copyAllowed":{"shape":"EnabledType"}, + "downloadAllowed":{"shape":"EnabledType"}, + "pasteAllowed":{"shape":"EnabledType"}, + "printAllowed":{"shape":"EnabledType"}, + "uploadAllowed":{"shape":"EnabledType"}, + "userSettingsArn":{ + "shape":"ARN", + "location":"uri", + "locationName":"userSettingsArn" + } + } + }, + "UpdateUserSettingsResponse":{ + "type":"structure", + "required":["userSettings"], + "members":{ + "userSettings":{"shape":"UserSettings"} + } + }, + "UserSettings":{ + "type":"structure", + "required":["userSettingsArn"], + "members":{ + "associatedPortalArns":{"shape":"ArnList"}, + "copyAllowed":{"shape":"EnabledType"}, + "downloadAllowed":{"shape":"EnabledType"}, + "pasteAllowed":{"shape":"EnabledType"}, + "printAllowed":{"shape":"EnabledType"}, + "uploadAllowed":{"shape":"EnabledType"}, + "userSettingsArn":{"shape":"ARN"} + } + }, + "UserSettingsList":{ + "type":"list", + "member":{"shape":"UserSettingsSummary"} + }, + "UserSettingsSummary":{ + "type":"structure", + "members":{ + "copyAllowed":{"shape":"EnabledType"}, + "downloadAllowed":{"shape":"EnabledType"}, + "pasteAllowed":{"shape":"EnabledType"}, + "printAllowed":{"shape":"EnabledType"}, + "uploadAllowed":{"shape":"EnabledType"}, + "userSettingsArn":{"shape":"ARN"} + } + }, + "ValidationException":{ + "type":"structure", + "members":{ + "fieldList":{"shape":"ValidationExceptionFieldList"}, + "message":{"shape":"ExceptionMessage"}, + "reason":{"shape":"ValidationExceptionReason"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + }, + "ValidationExceptionField":{ + "type":"structure", + "required":[ + "message", + "name" + ], + "members":{ + "message":{"shape":"ExceptionMessage"}, + "name":{"shape":"FieldName"} + } + }, + "ValidationExceptionFieldList":{ + "type":"list", + "member":{"shape":"ValidationExceptionField"} + }, + "ValidationExceptionReason":{ + "type":"string", + "enum":[ + "unknownOperation", + "cannotParse", + "fieldValidationFailed", + "other" + ] + }, + "VpcId":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^vpc-[0-9a-z]*$" + }, + "keyArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:[\\w+=\\/,.@-]+:kms:[a-zA-Z0-9\\-]*:[a-zA-Z0-9]{1,12}:key\\/[a-zA-Z0-9-]+$" + } + } +} diff --git a/models/apis/workspaces-web/2020-07-08/docs-2.json b/models/apis/workspaces-web/2020-07-08/docs-2.json new file mode 100644 index 00000000000..5d18d20a963 --- /dev/null +++ b/models/apis/workspaces-web/2020-07-08/docs-2.json @@ -0,0 +1,1138 @@ +{ + "version": "2.0", + "service": "

WorkSpaces Web is a low cost, fully managed WorkSpace built specifically to facilitate secure, web-based workloads. WorkSpaces Web makes it easy for customers to safely provide their employees with access to internal websites and SaaS web applications without the administrative burden of appliances or specialized client software. WorkSpaces Web provides simple policy tools tailored for user interactions, while offloading common tasks like capacity management, scaling, and maintaining browser images.

", + "operations": { + "AssociateBrowserSettings": "

Associates a browser settings resource with a web portal.

", + "AssociateNetworkSettings": "

Associates a network settings resource with a web portal.

", + "AssociateTrustStore": "

Associates a trust store with a web portal.

", + "AssociateUserSettings": "

Associates a user settings resource with a web portal.

", + "CreateBrowserSettings": "

Creates a browser settings resource that can be associated with a web portal. Once associated with a web portal, browser settings control how the browser will behave once a user starts a streaming session for the web portal.

", + "CreateIdentityProvider": "

Creates an identity provider resource that is then associated with a web portal.

", + "CreateNetworkSettings": "

Creates a network settings resource that can be associated with a web portal. Once associated with a web portal, network settings define how streaming instances will connect with your specified VPC.

", + "CreatePortal": "

Creates a web portal.

", + "CreateTrustStore": "

Creates a trust store that can be associated with a web portal. A trust store contains certificate authority (CA) certificates. Once associated with a web portal, the browser in a streaming session will recognize certificates that have been issued using any of the CAs in the trust store. If your organization has internal websites that use certificates issued by private CAs, you should add the private CA certificate to the trust store.

", + "CreateUserSettings": "

Creates a user settings resource that can be associated with a web portal. Once associated with a web portal, user settings control how users can transfer data between a streaming session and the their local devices.

", + "DeleteBrowserSettings": "

Deletes browser settings.

", + "DeleteIdentityProvider": "

Deletes the identity provider.

", + "DeleteNetworkSettings": "

Deletes network settings.

", + "DeletePortal": "

Deletes a web portal.

", + "DeleteTrustStore": "

Deletes the trust store.

", + "DeleteUserSettings": "

Deletes user settings.

", + "DisassociateBrowserSettings": "

Disassociates browser settings from a web portal.

", + "DisassociateNetworkSettings": "

Disassociates network settings from a web portal.

", + "DisassociateTrustStore": "

Disassociates a trust store from a web portal.

", + "DisassociateUserSettings": "

Disassociates user settings from a web portal.

", + "GetBrowserSettings": "

Gets browser settings.

", + "GetIdentityProvider": "

Gets the identity provider.

", + "GetNetworkSettings": "

Gets the network settings.

", + "GetPortal": "

Gets the web portal.

", + "GetPortalServiceProviderMetadata": "

Gets the service provider metadata.

", + "GetTrustStore": "

Gets the trust store.

", + "GetTrustStoreCertificate": "

Gets the trust store certificate.

", + "GetUserSettings": "

Gets user settings.

", + "ListBrowserSettings": "

Retrieves a list of browser settings.

", + "ListIdentityProviders": "

Retrieves a list of identity providers for a specific web portal.

", + "ListNetworkSettings": "

Retrieves a list of network settings.

", + "ListPortals": "

Retrieves a list or web portals.

", + "ListTagsForResource": "

Retrieves a list of tags for a resource.

", + "ListTrustStoreCertificates": "

Retrieves a list of trust store certificates.

", + "ListTrustStores": "

Retrieves a list of trust stores.

", + "ListUserSettings": "

Retrieves a list of user settings.

", + "TagResource": "

Adds or overwrites one or more tags for the specified resource.

", + "UntagResource": "

Removes one or more tags from the specified resource.

", + "UpdateBrowserSettings": "

Updates browser settings.

", + "UpdateIdentityProvider": "

Updates the identity provider.

", + "UpdateNetworkSettings": "

Updates network settings.

", + "UpdatePortal": "

Updates a web portal.

", + "UpdateTrustStore": "

Updates the trust store.

", + "UpdateUserSettings": "

Updates the user settings.

" + }, + "shapes": { + "ARN": { + "base": null, + "refs": { + "ArnList$member": null, + "AssociateBrowserSettingsRequest$browserSettingsArn": "

The ARN of the browser settings.

", + "AssociateBrowserSettingsRequest$portalArn": "

The ARN of the web portal.

", + "AssociateBrowserSettingsResponse$browserSettingsArn": "

The ARN of the browser settings.

", + "AssociateBrowserSettingsResponse$portalArn": "

The ARN of the web portal.

", + "AssociateNetworkSettingsRequest$networkSettingsArn": "

The ARN of the network settings.

", + "AssociateNetworkSettingsRequest$portalArn": "

The ARN of the web portal.

", + "AssociateNetworkSettingsResponse$networkSettingsArn": "

The ARN of the network settings.

", + "AssociateNetworkSettingsResponse$portalArn": "

The ARN of the web portal.

", + "AssociateTrustStoreRequest$portalArn": "

The ARN of the web portal.

", + "AssociateTrustStoreRequest$trustStoreArn": "

The ARN of the trust store.

", + "AssociateTrustStoreResponse$portalArn": "

The ARN of the web portal.

", + "AssociateTrustStoreResponse$trustStoreArn": "

The ARN of the trust store.

", + "AssociateUserSettingsRequest$portalArn": "

The ARN of the web portal.

", + "AssociateUserSettingsRequest$userSettingsArn": "

The ARN of the user settings.

", + "AssociateUserSettingsResponse$portalArn": "

The ARN of the web portal.

", + "AssociateUserSettingsResponse$userSettingsArn": "

The ARN of the user settings.

", + "BrowserSettings$browserSettingsArn": "

The ARN of the browser settings.

", + "BrowserSettingsSummary$browserSettingsArn": "

The ARN of the browser settings.

", + "CreateBrowserSettingsResponse$browserSettingsArn": "

The ARN of the browser settings.

", + "CreateIdentityProviderRequest$portalArn": "

The ARN of the web portal.

", + "CreateIdentityProviderResponse$identityProviderArn": "

The ARN of the identity provider.

", + "CreateNetworkSettingsResponse$networkSettingsArn": "

The ARN of the network settings.

", + "CreatePortalResponse$portalArn": "

The ARN of the web portal.

", + "CreateTrustStoreResponse$trustStoreArn": "

The ARN of the trust store.

", + "CreateUserSettingsResponse$userSettingsArn": "

The ARN of the user settings.

", + "DeleteBrowserSettingsRequest$browserSettingsArn": "

The ARN of the browser settings.

", + "DeleteIdentityProviderRequest$identityProviderArn": "

The ARN of the identity provider.

", + "DeleteNetworkSettingsRequest$networkSettingsArn": "

The ARN of the network settings.

", + "DeletePortalRequest$portalArn": "

The ARN of the web portal.

", + "DeleteTrustStoreRequest$trustStoreArn": "

The ARN of the trust store.

", + "DeleteUserSettingsRequest$userSettingsArn": "

The ARN of the user settings.

", + "DisassociateBrowserSettingsRequest$portalArn": "

The ARN of the web portal.

", + "DisassociateNetworkSettingsRequest$portalArn": "

The ARN of the web portal.

", + "DisassociateTrustStoreRequest$portalArn": "

The ARN of the web portal.

", + "DisassociateUserSettingsRequest$portalArn": "

The ARN of the web portal.

", + "GetBrowserSettingsRequest$browserSettingsArn": "

The ARN of the browser settings.

", + "GetIdentityProviderRequest$identityProviderArn": "

The ARN of the identity provider.

", + "GetNetworkSettingsRequest$networkSettingsArn": "

The ARN of the network settings.

", + "GetPortalRequest$portalArn": "

The ARN of the web portal.

", + "GetPortalServiceProviderMetadataRequest$portalArn": "

The ARN of the web portal.

", + "GetPortalServiceProviderMetadataResponse$portalArn": "

The ARN of the web portal.

", + "GetTrustStoreCertificateRequest$trustStoreArn": "

The ARN of the trust store certificate.

", + "GetTrustStoreCertificateResponse$trustStoreArn": "

The ARN of the trust store certificate.

", + "GetTrustStoreRequest$trustStoreArn": "

The ARN of the trust store.

", + "GetUserSettingsRequest$userSettingsArn": "

The ARN of the user settings.

", + "IdentityProvider$identityProviderArn": "

The ARN of the identity provider.

", + "IdentityProviderSummary$identityProviderArn": "

The ARN of the identity provider.

", + "ListIdentityProvidersRequest$portalArn": "

The ARN of the web portal.

", + "ListTagsForResourceRequest$resourceArn": "

The ARN of the resource.

", + "ListTrustStoreCertificatesRequest$trustStoreArn": "

The ARN of the trust store

", + "ListTrustStoreCertificatesResponse$trustStoreArn": "

The ARN of the trust store.

", + "NetworkSettings$networkSettingsArn": "

The ARN of the network settings.

", + "NetworkSettingsSummary$networkSettingsArn": "

The ARN of the network settings.

", + "Portal$browserSettingsArn": "

The ARN of the browser settings that is associated with this web portal.

", + "Portal$networkSettingsArn": "

The ARN of the network settings that is associated with the web portal.

", + "Portal$portalArn": "

The ARN of the web portal.

", + "Portal$trustStoreArn": "

The ARN of the trust store that is associated with the web portal.

", + "Portal$userSettingsArn": "

The ARN of the trust store that is associated with the web portal.

", + "PortalSummary$browserSettingsArn": "

The ARN of the browser settings that is associated with the web portal.

", + "PortalSummary$networkSettingsArn": "

The ARN of the network settings that is associated with the web portal.

", + "PortalSummary$portalArn": "

The ARN of the web portal.

", + "PortalSummary$trustStoreArn": "

The ARN of the trust that is associated with this web portal.

", + "PortalSummary$userSettingsArn": "

The ARN of the user settings that is associated with the web portal.

", + "TagResourceRequest$resourceArn": "

The ARN of the resource.

", + "TooManyTagsException$resourceName": "

Name of the resource affected.

", + "TrustStore$trustStoreArn": "

The ARN of the trust store.

", + "TrustStoreSummary$trustStoreArn": "

The ARN of the trust store.

", + "UntagResourceRequest$resourceArn": "

The ARN of the resource.

", + "UpdateBrowserSettingsRequest$browserSettingsArn": "

The ARN of the browser settings.

", + "UpdateIdentityProviderRequest$identityProviderArn": "

The ARN of the identity provider.

", + "UpdateNetworkSettingsRequest$networkSettingsArn": "

The ARN of the network settings.

", + "UpdatePortalRequest$portalArn": "

The ARN of the web portal.

", + "UpdateTrustStoreRequest$trustStoreArn": "

The ARN of the trust store.

", + "UpdateTrustStoreResponse$trustStoreArn": "

The ARN of the trust store.

", + "UpdateUserSettingsRequest$userSettingsArn": "

The ARN of the user settings.

", + "UserSettings$userSettingsArn": "

The ARN of the user settings.

", + "UserSettingsSummary$userSettingsArn": "

The ARN of the user settings.

" + } + }, + "AccessDeniedException": { + "base": "

Access is denied.

", + "refs": { + } + }, + "ArnList": { + "base": null, + "refs": { + "BrowserSettings$associatedPortalArns": "

A list of web portal ARNs that this browser settings is associated with.

", + "NetworkSettings$associatedPortalArns": "

A list of web portal ARNs that this network settings is associated with.

", + "TrustStore$associatedPortalArns": "

A list of web portal ARNs that this trust store is associated with.

", + "UserSettings$associatedPortalArns": "

A list of web portal ARNs that this user settings is associated with.

" + } + }, + "AssociateBrowserSettingsRequest": { + "base": null, + "refs": { + } + }, + "AssociateBrowserSettingsResponse": { + "base": null, + "refs": { + } + }, + "AssociateNetworkSettingsRequest": { + "base": null, + "refs": { + } + }, + "AssociateNetworkSettingsResponse": { + "base": null, + "refs": { + } + }, + "AssociateTrustStoreRequest": { + "base": null, + "refs": { + } + }, + "AssociateTrustStoreResponse": { + "base": null, + "refs": { + } + }, + "AssociateUserSettingsRequest": { + "base": null, + "refs": { + } + }, + "AssociateUserSettingsResponse": { + "base": null, + "refs": { + } + }, + "BrowserPolicy": { + "base": null, + "refs": { + "BrowserSettings$browserPolicy": "

A JSON string containing Chrome Enterprise policies that will be applied to all streaming sessions.

", + "CreateBrowserSettingsRequest$browserPolicy": "

A JSON string containing Chrome Enterprise policies that will be applied to all streaming sessions.

", + "UpdateBrowserSettingsRequest$browserPolicy": "

A JSON string containing Chrome Enterprise policies that will be applied to all streaming sessions.

" + } + }, + "BrowserSettings": { + "base": "

The browser settings resource that can be associated with a web portal. Once associated with a web portal, browser settings control how the browser will behave once a user starts a streaming session for the web portal.

", + "refs": { + "GetBrowserSettingsResponse$browserSettings": "

The browser settings.

", + "UpdateBrowserSettingsResponse$browserSettings": "

The browser settings.

" + } + }, + "BrowserSettingsList": { + "base": null, + "refs": { + "ListBrowserSettingsResponse$browserSettings": "

The browser settings.

" + } + }, + "BrowserSettingsSummary": { + "base": "

The summary for browser settings.

", + "refs": { + "BrowserSettingsList$member": null + } + }, + "BrowserType": { + "base": null, + "refs": { + "Portal$browserType": "

The browser that users see when using a streaming session.

", + "PortalSummary$browserType": "

The browser type of the web portal.

" + } + }, + "Certificate": { + "base": "

The certificate.

", + "refs": { + "GetTrustStoreCertificateResponse$certificate": "

The certificate of the trust store certificate.

" + } + }, + "CertificateAuthorityBody": { + "base": null, + "refs": { + "Certificate$body": "

The body of the certificate.

", + "CertificateList$member": null + } + }, + "CertificateList": { + "base": null, + "refs": { + "CreateTrustStoreRequest$certificateList": "

A list of CA certificates to be added to the trust store.

", + "UpdateTrustStoreRequest$certificatesToAdd": "

A list of CA certificates to add to the trust store.

" + } + }, + "CertificatePrincipal": { + "base": null, + "refs": { + "Certificate$issuer": "

The entity that issued the certificate.

", + "Certificate$subject": "

The entity the certificate belongs to.

", + "CertificateSummary$issuer": "

The entity that issued the certificate.

", + "CertificateSummary$subject": "

The entity the certificate belongs to.

" + } + }, + "CertificateSummary": { + "base": "

The summary of the certificate.

", + "refs": { + "CertificateSummaryList$member": null + } + }, + "CertificateSummaryList": { + "base": null, + "refs": { + "ListTrustStoreCertificatesResponse$certificateList": "

The certificate list.

" + } + }, + "CertificateThumbprint": { + "base": null, + "refs": { + "Certificate$thumbprint": "

A hexadecimal identifier for the certificate.

", + "CertificateSummary$thumbprint": "

A hexadecimal identifier for the certificate.

", + "CertificateThumbprintList$member": null, + "GetTrustStoreCertificateRequest$thumbprint": "

The thumbprint of the trust store certificate.

" + } + }, + "CertificateThumbprintList": { + "base": null, + "refs": { + "UpdateTrustStoreRequest$certificatesToDelete": "

A list of CA certificates to delete from a trust store.

" + } + }, + "ClientToken": { + "base": null, + "refs": { + "CreateBrowserSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", + "CreateIdentityProviderRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", + "CreateNetworkSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", + "CreatePortalRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", + "CreateTrustStoreRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", + "CreateUserSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", + "TagResourceRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token returns the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", + "UpdateBrowserSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", + "UpdateIdentityProviderRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", + "UpdateNetworkSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", + "UpdateTrustStoreRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

", + "UpdateUserSettingsRequest$clientToken": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, subsequent retries with the same client token return the result from the original successful request.

If you do not specify a client token, one is automatically generated by the AWS SDK.

" + } + }, + "ConflictException": { + "base": "

There is a conflict.

", + "refs": { + } + }, + "CreateBrowserSettingsRequest": { + "base": null, + "refs": { + } + }, + "CreateBrowserSettingsResponse": { + "base": null, + "refs": { + } + }, + "CreateIdentityProviderRequest": { + "base": null, + "refs": { + } + }, + "CreateIdentityProviderResponse": { + "base": null, + "refs": { + } + }, + "CreateNetworkSettingsRequest": { + "base": null, + "refs": { + } + }, + "CreateNetworkSettingsResponse": { + "base": null, + "refs": { + } + }, + "CreatePortalRequest": { + "base": null, + "refs": { + } + }, + "CreatePortalResponse": { + "base": null, + "refs": { + } + }, + "CreateTrustStoreRequest": { + "base": null, + "refs": { + } + }, + "CreateTrustStoreResponse": { + "base": null, + "refs": { + } + }, + "CreateUserSettingsRequest": { + "base": null, + "refs": { + } + }, + "CreateUserSettingsResponse": { + "base": null, + "refs": { + } + }, + "DeleteBrowserSettingsRequest": { + "base": null, + "refs": { + } + }, + "DeleteBrowserSettingsResponse": { + "base": null, + "refs": { + } + }, + "DeleteIdentityProviderRequest": { + "base": null, + "refs": { + } + }, + "DeleteIdentityProviderResponse": { + "base": null, + "refs": { + } + }, + "DeleteNetworkSettingsRequest": { + "base": null, + "refs": { + } + }, + "DeleteNetworkSettingsResponse": { + "base": null, + "refs": { + } + }, + "DeletePortalRequest": { + "base": null, + "refs": { + } + }, + "DeletePortalResponse": { + "base": null, + "refs": { + } + }, + "DeleteTrustStoreRequest": { + "base": null, + "refs": { + } + }, + "DeleteTrustStoreResponse": { + "base": null, + "refs": { + } + }, + "DeleteUserSettingsRequest": { + "base": null, + "refs": { + } + }, + "DeleteUserSettingsResponse": { + "base": null, + "refs": { + } + }, + "DisassociateBrowserSettingsRequest": { + "base": null, + "refs": { + } + }, + "DisassociateBrowserSettingsResponse": { + "base": null, + "refs": { + } + }, + "DisassociateNetworkSettingsRequest": { + "base": null, + "refs": { + } + }, + "DisassociateNetworkSettingsResponse": { + "base": null, + "refs": { + } + }, + "DisassociateTrustStoreRequest": { + "base": null, + "refs": { + } + }, + "DisassociateTrustStoreResponse": { + "base": null, + "refs": { + } + }, + "DisassociateUserSettingsRequest": { + "base": null, + "refs": { + } + }, + "DisassociateUserSettingsResponse": { + "base": null, + "refs": { + } + }, + "DisplayName": { + "base": null, + "refs": { + "CreatePortalRequest$displayName": "

The name of the web portal. This is not visible to users who log into the web portal.

", + "Portal$displayName": "

The name of the web portal.

", + "PortalSummary$displayName": "

The name of the web portal.

", + "UpdatePortalRequest$displayName": "

The name of the web portal. This is not visible to users who log into the web portal.

" + } + }, + "EnabledType": { + "base": null, + "refs": { + "CreateUserSettingsRequest$copyAllowed": "

Specifies whether the user can copy text from the streaming session to the local device.

", + "CreateUserSettingsRequest$downloadAllowed": "

Specifies whether the user can download files from the streaming session to the local device.

", + "CreateUserSettingsRequest$pasteAllowed": "

Specifies whether the user can paste text from the local device to the streaming session.

", + "CreateUserSettingsRequest$printAllowed": "

Specifies whether the user can print to the local device.

", + "CreateUserSettingsRequest$uploadAllowed": "

Specifies whether the user can upload files from the local device to the streaming session.

", + "UpdateUserSettingsRequest$copyAllowed": "

Specifies whether the user can copy text from the streaming session to the local device.

", + "UpdateUserSettingsRequest$downloadAllowed": "

Specifies whether the user can download files from the streaming session to the local device.

", + "UpdateUserSettingsRequest$pasteAllowed": "

Specifies whether the user can paste text from the local device to the streaming session.

", + "UpdateUserSettingsRequest$printAllowed": "

Specifies whether the user can print to the local device.

", + "UpdateUserSettingsRequest$uploadAllowed": "

Specifies whether the user can upload files from the local device to the streaming session.

", + "UserSettings$copyAllowed": "

Specifies whether the user can copy text from the streaming session to the local device.

", + "UserSettings$downloadAllowed": "

Specifies whether the user can download files from the streaming session to the local device.

", + "UserSettings$pasteAllowed": "

Specifies whether the user can paste text from the local device to the streaming session.

", + "UserSettings$printAllowed": "

Specifies whether the user can print to the local device.

", + "UserSettings$uploadAllowed": "

Specifies whether the user can upload files from the local device to the streaming session.

", + "UserSettingsSummary$copyAllowed": "

Specifies whether the user can copy text from the streaming session to the local device.

", + "UserSettingsSummary$downloadAllowed": "

Specifies whether the user can download files from the streaming session to the local device.

", + "UserSettingsSummary$pasteAllowed": "

Specifies whether the user can paste text from the local device to the streaming session.

", + "UserSettingsSummary$printAllowed": "

Specifies whether the user can print to the local device.

", + "UserSettingsSummary$uploadAllowed": "

Specifies whether the user can upload files from the local device to the streaming session.

" + } + }, + "EncryptionContextMap": { + "base": null, + "refs": { + "CreateBrowserSettingsRequest$additionalEncryptionContext": "

Additional encryption context of the browser settings.

", + "CreatePortalRequest$additionalEncryptionContext": "

The additional encryption context of the portal.

" + } + }, + "ExceptionMessage": { + "base": null, + "refs": { + "AccessDeniedException$message": null, + "ConflictException$message": null, + "InternalServerException$message": null, + "ResourceNotFoundException$message": null, + "ServiceQuotaExceededException$message": null, + "ThrottlingException$message": null, + "ValidationException$message": null, + "ValidationExceptionField$message": "

The message describing why the field failed validation.

" + } + }, + "FieldName": { + "base": null, + "refs": { + "ValidationExceptionField$name": "

The name of the field that failed validation.

" + } + }, + "GetBrowserSettingsRequest": { + "base": null, + "refs": { + } + }, + "GetBrowserSettingsResponse": { + "base": null, + "refs": { + } + }, + "GetIdentityProviderRequest": { + "base": null, + "refs": { + } + }, + "GetIdentityProviderResponse": { + "base": null, + "refs": { + } + }, + "GetNetworkSettingsRequest": { + "base": null, + "refs": { + } + }, + "GetNetworkSettingsResponse": { + "base": null, + "refs": { + } + }, + "GetPortalRequest": { + "base": null, + "refs": { + } + }, + "GetPortalResponse": { + "base": null, + "refs": { + } + }, + "GetPortalServiceProviderMetadataRequest": { + "base": null, + "refs": { + } + }, + "GetPortalServiceProviderMetadataResponse": { + "base": null, + "refs": { + } + }, + "GetTrustStoreCertificateRequest": { + "base": null, + "refs": { + } + }, + "GetTrustStoreCertificateResponse": { + "base": null, + "refs": { + } + }, + "GetTrustStoreRequest": { + "base": null, + "refs": { + } + }, + "GetTrustStoreResponse": { + "base": null, + "refs": { + } + }, + "GetUserSettingsRequest": { + "base": null, + "refs": { + } + }, + "GetUserSettingsResponse": { + "base": null, + "refs": { + } + }, + "IdentityProvider": { + "base": "

The identity provider.

", + "refs": { + "GetIdentityProviderResponse$identityProvider": "

The identity provider.

", + "UpdateIdentityProviderResponse$identityProvider": "

The identity provider.

" + } + }, + "IdentityProviderDetails": { + "base": null, + "refs": { + "CreateIdentityProviderRequest$identityProviderDetails": "

The identity provider details. The following list describes the provider detail keys for each identity provider type.

", + "IdentityProvider$identityProviderDetails": "

The identity provider details. The following list describes the provider detail keys for each identity provider type.

", + "UpdateIdentityProviderRequest$identityProviderDetails": "

The details of the identity provider.

" + } + }, + "IdentityProviderList": { + "base": null, + "refs": { + "ListIdentityProvidersResponse$identityProviders": "

The identity providers.

" + } + }, + "IdentityProviderName": { + "base": null, + "refs": { + "CreateIdentityProviderRequest$identityProviderName": "

The identity provider name.

", + "IdentityProvider$identityProviderName": "

The identity provider name.

", + "IdentityProviderSummary$identityProviderName": "

The identity provider name.

", + "UpdateIdentityProviderRequest$identityProviderName": "

The name of the identity provider.

" + } + }, + "IdentityProviderSummary": { + "base": "

The summary of the identity provider.

", + "refs": { + "IdentityProviderList$member": null + } + }, + "IdentityProviderType": { + "base": null, + "refs": { + "CreateIdentityProviderRequest$identityProviderType": "

The identity provider type.

", + "IdentityProvider$identityProviderType": "

The identity provider type.

", + "IdentityProviderSummary$identityProviderType": "

The identity provider type.

", + "UpdateIdentityProviderRequest$identityProviderType": "

The type of the identity provider.

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

There is an internal server error.

", + "refs": { + } + }, + "ListBrowserSettingsRequest": { + "base": null, + "refs": { + } + }, + "ListBrowserSettingsResponse": { + "base": null, + "refs": { + } + }, + "ListIdentityProvidersRequest": { + "base": null, + "refs": { + } + }, + "ListIdentityProvidersResponse": { + "base": null, + "refs": { + } + }, + "ListNetworkSettingsRequest": { + "base": null, + "refs": { + } + }, + "ListNetworkSettingsResponse": { + "base": null, + "refs": { + } + }, + "ListPortalsRequest": { + "base": null, + "refs": { + } + }, + "ListPortalsResponse": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "ListTrustStoreCertificatesRequest": { + "base": null, + "refs": { + } + }, + "ListTrustStoreCertificatesResponse": { + "base": null, + "refs": { + } + }, + "ListTrustStoresRequest": { + "base": null, + "refs": { + } + }, + "ListTrustStoresResponse": { + "base": null, + "refs": { + } + }, + "ListUserSettingsRequest": { + "base": null, + "refs": { + } + }, + "ListUserSettingsResponse": { + "base": null, + "refs": { + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListBrowserSettingsRequest$maxResults": "

The maximum number of results to be included in the next page.

", + "ListIdentityProvidersRequest$maxResults": "

The maximum number of results to be included in the next page.

", + "ListNetworkSettingsRequest$maxResults": "

The maximum number of results to be included in the next page.

", + "ListPortalsRequest$maxResults": "

The maximum number of results to be included in the next page.

", + "ListTrustStoreCertificatesRequest$maxResults": "

The maximum number of results to be included in the next page.

", + "ListTrustStoresRequest$maxResults": "

The maximum number of results to be included in the next page.

", + "ListUserSettingsRequest$maxResults": "

The maximum number of results to be included in the next page.

" + } + }, + "NetworkSettings": { + "base": "

A network settings resource that can be associated with a web portal. Once associated with a web portal, network settings define how streaming instances will connect with your specified VPC.

", + "refs": { + "GetNetworkSettingsResponse$networkSettings": "

The network settings.

", + "UpdateNetworkSettingsResponse$networkSettings": "

The network settings.

" + } + }, + "NetworkSettingsList": { + "base": null, + "refs": { + "ListNetworkSettingsResponse$networkSettings": "

The network settings.

" + } + }, + "NetworkSettingsSummary": { + "base": "

The summary of network settings.

", + "refs": { + "NetworkSettingsList$member": null + } + }, + "PaginationToken": { + "base": null, + "refs": { + "ListBrowserSettingsRequest$nextToken": "

The pagination token used to retrieve the next page of results for this operation.

", + "ListBrowserSettingsResponse$nextToken": "

The pagination token used to retrieve the next page of results for this operation.

", + "ListIdentityProvidersRequest$nextToken": "

The pagination token used to retrieve the next page of results for this operation.

", + "ListIdentityProvidersResponse$nextToken": "

The pagination token used to retrieve the next page of results for this operation.

", + "ListNetworkSettingsRequest$nextToken": "

The pagination token used to retrieve the next page of results for this operation.

", + "ListNetworkSettingsResponse$nextToken": "

The pagination token used to retrieve the next page of results for this operation.

", + "ListPortalsRequest$nextToken": "

The pagination token used to retrieve the next page of results for this operation.

", + "ListPortalsResponse$nextToken": "

The pagination token used to retrieve the next page of results for this operation.

", + "ListTrustStoreCertificatesRequest$nextToken": "

The pagination token used to retrieve the next page of results for this operation.

", + "ListTrustStoreCertificatesResponse$nextToken": "

The pagination token used to retrieve the next page of results for this operation.>

", + "ListTrustStoresRequest$nextToken": "

The pagination token used to retrieve the next page of results for this operation.

", + "ListTrustStoresResponse$nextToken": "

The pagination token used to retrieve the next page of results for this operation.

", + "ListUserSettingsRequest$nextToken": "

The pagination token used to retrieve the next page of results for this operation.

", + "ListUserSettingsResponse$nextToken": "

The pagination token used to retrieve the next page of results for this operation.

" + } + }, + "Portal": { + "base": "

The web portal.

", + "refs": { + "GetPortalResponse$portal": "

The web portal.

", + "UpdatePortalResponse$portal": "

The web portal.

" + } + }, + "PortalEndpoint": { + "base": null, + "refs": { + "CreatePortalResponse$portalEndpoint": "

The endpoint URL of the web portal that users access in order to start streaming sessions.

", + "Portal$portalEndpoint": "

The endpoint URL of the web portal that users access in order to start streaming sessions.

", + "PortalSummary$portalEndpoint": "

The endpoint URL of the web portal that users access in order to start streaming sessions.

" + } + }, + "PortalList": { + "base": null, + "refs": { + "ListPortalsResponse$portals": "

The portals in the list.

" + } + }, + "PortalStatus": { + "base": null, + "refs": { + "Portal$portalStatus": "

The status of the web portal.

", + "PortalSummary$portalStatus": "

The status of the web portal.

" + } + }, + "PortalSummary": { + "base": "

The summary of the portal.

", + "refs": { + "PortalList$member": null + } + }, + "QuotaCode": { + "base": null, + "refs": { + "ServiceQuotaExceededException$quotaCode": "

The originating quota.

", + "ThrottlingException$quotaCode": "

The originating quota.

" + } + }, + "RendererType": { + "base": null, + "refs": { + "Portal$rendererType": "

The renderer that is used in streaming sessions.

", + "PortalSummary$rendererType": "

The renderer that is used in streaming sessions.

" + } + }, + "ResourceId": { + "base": null, + "refs": { + "ConflictException$resourceId": "

Identifier of the resource affected.

", + "ResourceNotFoundException$resourceId": "

Hypothetical identifier of the resource affected.

", + "ServiceQuotaExceededException$resourceId": "

Identifier of the resource affected.

" + } + }, + "ResourceNotFoundException": { + "base": "

The resource cannot be found.

", + "refs": { + } + }, + "ResourceType": { + "base": null, + "refs": { + "ConflictException$resourceType": "

Type of the resource affected.

", + "ResourceNotFoundException$resourceType": "

Hypothetical type of the resource affected.

", + "ServiceQuotaExceededException$resourceType": "

Type of the resource affected.

" + } + }, + "RetryAfterSeconds": { + "base": null, + "refs": { + "InternalServerException$retryAfterSeconds": "

Advice to clients on when the call can be safely retried.

", + "ThrottlingException$retryAfterSeconds": "

Advice to clients on when the call can be safely retried.

" + } + }, + "SamlMetadata": { + "base": null, + "refs": { + "GetPortalServiceProviderMetadataResponse$serviceProviderSamlMetadata": "

The service provider SAML metadata.

" + } + }, + "SecurityGroupId": { + "base": null, + "refs": { + "SecurityGroupIdList$member": null + } + }, + "SecurityGroupIdList": { + "base": null, + "refs": { + "CreateNetworkSettingsRequest$securityGroupIds": "

One or more security groups used to control access from streaming instances to your VPC.

", + "NetworkSettings$securityGroupIds": "

One or more security groups used to control access from streaming instances to your VPC.

", + "UpdateNetworkSettingsRequest$securityGroupIds": "

One or more security groups used to control access from streaming instances to your VPC.

" + } + }, + "ServiceCode": { + "base": null, + "refs": { + "ServiceQuotaExceededException$serviceCode": "

The originating service.

", + "ThrottlingException$serviceCode": "

The originating service.

" + } + }, + "ServiceQuotaExceededException": { + "base": "

The service quota has been exceeded.

", + "refs": { + } + }, + "StatusReason": { + "base": null, + "refs": { + "Portal$statusReason": "

A message that explains why the web portal is in its current status.

" + } + }, + "StringType": { + "base": null, + "refs": { + "EncryptionContextMap$key": null, + "EncryptionContextMap$value": null, + "IdentityProviderDetails$key": null, + "IdentityProviderDetails$value": null + } + }, + "SubnetId": { + "base": null, + "refs": { + "SubnetIdList$member": null + } + }, + "SubnetIdList": { + "base": null, + "refs": { + "CreateNetworkSettingsRequest$subnetIds": "

The subnets in which network interfaces are created to connect streaming instances to your VPC. At least two of these subnets must be in different availability zones.

", + "NetworkSettings$subnetIds": "

The subnets in which network interfaces are created to connect streaming instances to your VPC. At least two of these subnets must be in different availability zones.

", + "UpdateNetworkSettingsRequest$subnetIds": "

The subnets in which network interfaces are created to connect streaming instances to your VPC. At least two of these subnets must be in different availability zones.

" + } + }, + "Tag": { + "base": "

The tag.

", + "refs": { + "TagList$member": null + } + }, + "TagExceptionMessage": { + "base": null, + "refs": { + "TooManyTagsException$message": null + } + }, + "TagKey": { + "base": null, + "refs": { + "Tag$Key": "

The key of the tag.

", + "TagKeyList$member": null + } + }, + "TagKeyList": { + "base": null, + "refs": { + "UntagResourceRequest$tagKeys": "

The list of tag keys to remove from the resource.

" + } + }, + "TagList": { + "base": null, + "refs": { + "CreateBrowserSettingsRequest$tags": "

The tags to add to the browser settings resource. A tag is a key-value pair.

", + "CreateNetworkSettingsRequest$tags": "

The tags to add to the network settings resource. A tag is a key-value pair.

", + "CreatePortalRequest$tags": "

The tags to add to the web portal. A tag is a key-value pair.

", + "CreateTrustStoreRequest$tags": "

The tags to add to the trust store. A tag is a key-value pair.

", + "CreateUserSettingsRequest$tags": "

The tags to add to the user settings resource. A tag is a key-value pair.

", + "ListTagsForResourceResponse$tags": "

The tags of the resource.

", + "TagResourceRequest$tags": "

The tags of the resource.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "Tag$Value": "

The value of the tag

" + } + }, + "ThrottlingException": { + "base": "

There is a throttling error.

", + "refs": { + } + }, + "Timestamp": { + "base": null, + "refs": { + "Certificate$notValidAfter": "

The certificate is not valid after this date.

", + "Certificate$notValidBefore": "

The certificate is not valid before this date.

", + "CertificateSummary$notValidAfter": "

The certificate is not valid after this date.

", + "CertificateSummary$notValidBefore": "

The certificate is not valid before this date.

", + "Portal$creationDate": "

The creation date of the web portal.

", + "PortalSummary$creationDate": "

The creation date of the web portal.

" + } + }, + "TooManyTagsException": { + "base": "

There are too many tags.

", + "refs": { + } + }, + "TrustStore": { + "base": "

A trust store that can be associated with a web portal. A trust store contains certificate authority (CA) certificates. Once associated with a web portal, the browser in a streaming session will recognize certificates that have been issued using any of the CAs in the trust store. If your organization has internal websites that use certificates issued by private CAs, you should add the private CA certificate to the trust store.

", + "refs": { + "GetTrustStoreResponse$trustStore": "

The trust store.

" + } + }, + "TrustStoreSummary": { + "base": "

The summary of the trust store.

", + "refs": { + "TrustStoreSummaryList$member": null + } + }, + "TrustStoreSummaryList": { + "base": null, + "refs": { + "ListTrustStoresResponse$trustStores": "

The trust stores.

" + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, + "UpdateBrowserSettingsRequest": { + "base": null, + "refs": { + } + }, + "UpdateBrowserSettingsResponse": { + "base": null, + "refs": { + } + }, + "UpdateIdentityProviderRequest": { + "base": null, + "refs": { + } + }, + "UpdateIdentityProviderResponse": { + "base": null, + "refs": { + } + }, + "UpdateNetworkSettingsRequest": { + "base": null, + "refs": { + } + }, + "UpdateNetworkSettingsResponse": { + "base": null, + "refs": { + } + }, + "UpdatePortalRequest": { + "base": null, + "refs": { + } + }, + "UpdatePortalResponse": { + "base": null, + "refs": { + } + }, + "UpdateTrustStoreRequest": { + "base": null, + "refs": { + } + }, + "UpdateTrustStoreResponse": { + "base": null, + "refs": { + } + }, + "UpdateUserSettingsRequest": { + "base": null, + "refs": { + } + }, + "UpdateUserSettingsResponse": { + "base": null, + "refs": { + } + }, + "UserSettings": { + "base": "

A user settings resource that can be associated with a web portal. Once associated with a web portal, user settings control how users can transfer data between a streaming session and the their local devices.

", + "refs": { + "GetUserSettingsResponse$userSettings": "

The user settings.

", + "UpdateUserSettingsResponse$userSettings": "

The user settings.

" + } + }, + "UserSettingsList": { + "base": null, + "refs": { + "ListUserSettingsResponse$userSettings": "

The user settings.

" + } + }, + "UserSettingsSummary": { + "base": "

The summary of user settings.

", + "refs": { + "UserSettingsList$member": null + } + }, + "ValidationException": { + "base": "

There is a validation error.

", + "refs": { + } + }, + "ValidationExceptionField": { + "base": "

Information about a field passed inside a request that resulted in an exception.

", + "refs": { + "ValidationExceptionFieldList$member": null + } + }, + "ValidationExceptionFieldList": { + "base": null, + "refs": { + "ValidationException$fieldList": "

The field that caused the error.

" + } + }, + "ValidationExceptionReason": { + "base": null, + "refs": { + "ValidationException$reason": "

Reason the request failed validation

" + } + }, + "VpcId": { + "base": null, + "refs": { + "CreateNetworkSettingsRequest$vpcId": "

The VPC that streaming instances will connect to.

", + "NetworkSettings$vpcId": "

The VPC that streaming instances will connect to.

", + "NetworkSettingsSummary$vpcId": "

The VPC ID of the network settings.

", + "UpdateNetworkSettingsRequest$vpcId": "

The VPC that streaming instances will connect to.

" + } + }, + "keyArn": { + "base": null, + "refs": { + "CreateBrowserSettingsRequest$customerManagedKey": "

The custom managed key of the browser settings.

", + "CreatePortalRequest$customerManagedKey": "

The customer managed key of the web portal.

" + } + } + } +} diff --git a/models/apis/workspaces-web/2020-07-08/examples-1.json b/models/apis/workspaces-web/2020-07-08/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/workspaces-web/2020-07-08/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/workspaces-web/2020-07-08/paginators-1.json b/models/apis/workspaces-web/2020-07-08/paginators-1.json new file mode 100644 index 00000000000..d705cc33e0d --- /dev/null +++ b/models/apis/workspaces-web/2020-07-08/paginators-1.json @@ -0,0 +1,39 @@ +{ + "pagination": { + "ListBrowserSettings": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListIdentityProviders": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListNetworkSettings": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListPortals": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListTrustStoreCertificates": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListTrustStores": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + }, + "ListUserSettings": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults" + } + } +} diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index d4e4deaff20..e6b1aa73a7a 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -1082,6 +1082,7 @@ "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, + "ap-northeast-3" : { }, "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, @@ -1731,16 +1732,8 @@ }, "cloudhsm" : { "endpoints" : { - "ap-northeast-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, "eu-west-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-1" : { }, - "us-west-2" : { } + "us-east-1" : { } } }, "cloudhsmv2" : { @@ -4698,6 +4691,37 @@ } } }, + "evidently" : { + "endpoints" : { + "ap-northeast-1" : { + "hostname" : "evidently.ap-northeast-1.amazonaws.com" + }, + "ap-southeast-1" : { + "hostname" : "evidently.ap-southeast-1.amazonaws.com" + }, + "ap-southeast-2" : { + "hostname" : "evidently.ap-southeast-2.amazonaws.com" + }, + "eu-central-1" : { + "hostname" : "evidently.eu-central-1.amazonaws.com" + }, + "eu-north-1" : { + "hostname" : "evidently.eu-north-1.amazonaws.com" + }, + "eu-west-1" : { + "hostname" : "evidently.eu-west-1.amazonaws.com" + }, + "us-east-1" : { + "hostname" : "evidently.us-east-1.amazonaws.com" + }, + "us-east-2" : { + "hostname" : "evidently.us-east-2.amazonaws.com" + }, + "us-west-2" : { + "hostname" : "evidently.us-west-2.amazonaws.com" + } + } + }, "finspace" : { "endpoints" : { "ca-central-1" : { }, @@ -5909,6 +5933,29 @@ } } }, + "inspector2" : { + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, "iot" : { "defaults" : { "credentialScope" : { @@ -8573,6 +8620,31 @@ } } }, + "rbin" : { + "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" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, "rds" : { "endpoints" : { "af-south-1" : { }, @@ -9141,6 +9213,20 @@ "us-west-2" : { } } }, + "rum" : { + "endpoints" : { + "ap-northeast-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-2" : { } + } + }, "runtime-v2-lex" : { "endpoints" : { "af-south-1" : { }, diff --git a/service/accessanalyzer/api.go b/service/accessanalyzer/api.go index 8a1c2e1b281..83cbc65d17f 100644 --- a/service/accessanalyzer/api.go +++ b/service/accessanalyzer/api.go @@ -8460,14 +8460,14 @@ func (s *S3PublicAccessBlockConfiguration) SetRestrictPublicBuckets(v bool) *S3P // the access preview assumes a secret without a policy. To propose deletion // of an existing policy, you can specify an empty string. If the proposed configuration // is for a new secret and you do not specify the KMS key ID, the access preview -// uses the default CMK of the Amazon Web Services account. If you specify an -// empty string for the KMS key ID, the access preview uses the default CMK -// of the Amazon Web Services account. For more information about secret policy -// limits, see Quotas for Secrets Manager. (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_limits.html). +// uses the Amazon Web Services managed key aws/secretsmanager. If you specify +// an empty string for the KMS key ID, the access preview uses the Amazon Web +// Services managed key of the Amazon Web Services account. For more information +// about secret policy limits, see Quotas for Secrets Manager. (https://docs.aws.amazon.com/secretsmanager/latest/userguide/reference_limits.html). type SecretsManagerSecretConfiguration struct { _ struct{} `type:"structure"` - // The proposed ARN, key ID, or alias of the KMS customer master key (CMK). + // The proposed ARN, key ID, or alias of the KMS key. KmsKeyId *string `locationName:"kmsKeyId" type:"string"` // The proposed resource policy defining who can access or manage the secret. @@ -9711,6 +9711,18 @@ type ValidatePolicyInput struct { // // PolicyType is a required field PolicyType *string `locationName:"policyType" type:"string" required:"true" enum:"PolicyType"` + + // The type of resource to attach to your resource policy. Specify a value for + // the policy validation resource type only if the policy type is RESOURCE_POLICY. + // For example, to validate a resource policy to attach to an Amazon S3 bucket, + // you can choose AWS::S3::Bucket for the policy validation resource type. + // + // For resource types not supported as valid values, IAM Access Analyzer runs + // policy checks that apply to all resource policies. For example, to validate + // a resource policy to attach to a KMS key, do not specify a value for the + // policy validation resource type and IAM Access Analyzer will run policy checks + // that apply to all resource policies. + ValidatePolicyResourceType *string `locationName:"validatePolicyResourceType" type:"string" enum:"ValidatePolicyResourceType"` } // String returns the string representation. @@ -9777,6 +9789,12 @@ func (s *ValidatePolicyInput) SetPolicyType(v string) *ValidatePolicyInput { return s } +// SetValidatePolicyResourceType sets the ValidatePolicyResourceType field's value. +func (s *ValidatePolicyInput) SetValidatePolicyResourceType(v string) *ValidatePolicyInput { + s.ValidatePolicyResourceType = &v + return s +} + type ValidatePolicyOutput struct { _ struct{} `type:"structure"` @@ -10447,6 +10465,30 @@ func ValidatePolicyFindingType_Values() []string { } } +const ( + // ValidatePolicyResourceTypeAwsS3Bucket is a ValidatePolicyResourceType enum value + ValidatePolicyResourceTypeAwsS3Bucket = "AWS::S3::Bucket" + + // ValidatePolicyResourceTypeAwsS3AccessPoint is a ValidatePolicyResourceType enum value + ValidatePolicyResourceTypeAwsS3AccessPoint = "AWS::S3::AccessPoint" + + // ValidatePolicyResourceTypeAwsS3MultiRegionAccessPoint is a ValidatePolicyResourceType enum value + ValidatePolicyResourceTypeAwsS3MultiRegionAccessPoint = "AWS::S3::MultiRegionAccessPoint" + + // ValidatePolicyResourceTypeAwsS3objectLambdaAccessPoint is a ValidatePolicyResourceType enum value + ValidatePolicyResourceTypeAwsS3objectLambdaAccessPoint = "AWS::S3ObjectLambda::AccessPoint" +) + +// ValidatePolicyResourceType_Values returns all elements of the ValidatePolicyResourceType enum +func ValidatePolicyResourceType_Values() []string { + return []string{ + ValidatePolicyResourceTypeAwsS3Bucket, + ValidatePolicyResourceTypeAwsS3AccessPoint, + ValidatePolicyResourceTypeAwsS3MultiRegionAccessPoint, + ValidatePolicyResourceTypeAwsS3objectLambdaAccessPoint, + } +} + const ( // ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value ValidationExceptionReasonUnknownOperation = "unknownOperation" diff --git a/service/backupgateway/api.go b/service/backupgateway/api.go new file mode 100644 index 00000000000..ec43791766b --- /dev/null +++ b/service/backupgateway/api.go @@ -0,0 +1,3943 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package backupgateway + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" +) + +const opAssociateGatewayToServer = "AssociateGatewayToServer" + +// AssociateGatewayToServerRequest generates a "aws/request.Request" representing the +// client's request for the AssociateGatewayToServer 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 AssociateGatewayToServer for more information on using the AssociateGatewayToServer +// 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 AssociateGatewayToServerRequest method. +// req, resp := client.AssociateGatewayToServerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/AssociateGatewayToServer +func (c *BackupGateway) AssociateGatewayToServerRequest(input *AssociateGatewayToServerInput) (req *request.Request, output *AssociateGatewayToServerOutput) { + op := &request.Operation{ + Name: opAssociateGatewayToServer, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &AssociateGatewayToServerInput{} + } + + output = &AssociateGatewayToServerOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateGatewayToServer API operation for AWS Backup Gateway. +// +// Associates a backup gateway with your server. After you complete the association +// process, you can back up and restore your VMs through the gateway. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup Gateway's +// API operation AssociateGatewayToServer for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation did not succeed because a validation error occurred. +// +// * ConflictException +// The operation cannot proceed because it is not supported. +// +// * InternalServerException +// The operation did not succeed because an internal error occurred. Try again +// later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/AssociateGatewayToServer +func (c *BackupGateway) AssociateGatewayToServer(input *AssociateGatewayToServerInput) (*AssociateGatewayToServerOutput, error) { + req, out := c.AssociateGatewayToServerRequest(input) + return out, req.Send() +} + +// AssociateGatewayToServerWithContext is the same as AssociateGatewayToServer with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateGatewayToServer 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 *BackupGateway) AssociateGatewayToServerWithContext(ctx aws.Context, input *AssociateGatewayToServerInput, opts ...request.Option) (*AssociateGatewayToServerOutput, error) { + req, out := c.AssociateGatewayToServerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateGateway = "CreateGateway" + +// CreateGatewayRequest generates a "aws/request.Request" representing the +// client's request for the CreateGateway 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 CreateGateway for more information on using the CreateGateway +// 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 CreateGatewayRequest method. +// req, resp := client.CreateGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/CreateGateway +func (c *BackupGateway) CreateGatewayRequest(input *CreateGatewayInput) (req *request.Request, output *CreateGatewayOutput) { + op := &request.Operation{ + Name: opCreateGateway, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateGatewayInput{} + } + + output = &CreateGatewayOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateGateway API operation for AWS Backup Gateway. +// +// Creates a backup gateway. After you create a gateway, you can associate it +// with a server using the AssociateGatewayToServer operation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup Gateway's +// API operation CreateGateway for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation did not succeed because a validation error occurred. +// +// * InternalServerException +// The operation did not succeed because an internal error occurred. Try again +// later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/CreateGateway +func (c *BackupGateway) CreateGateway(input *CreateGatewayInput) (*CreateGatewayOutput, error) { + req, out := c.CreateGatewayRequest(input) + return out, req.Send() +} + +// CreateGatewayWithContext is the same as CreateGateway with the addition of +// the ability to pass a context and additional request options. +// +// See CreateGateway 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 *BackupGateway) CreateGatewayWithContext(ctx aws.Context, input *CreateGatewayInput, opts ...request.Option) (*CreateGatewayOutput, error) { + req, out := c.CreateGatewayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteGateway = "DeleteGateway" + +// DeleteGatewayRequest generates a "aws/request.Request" representing the +// client's request for the DeleteGateway 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 DeleteGateway for more information on using the DeleteGateway +// 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 DeleteGatewayRequest method. +// req, resp := client.DeleteGatewayRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/DeleteGateway +func (c *BackupGateway) DeleteGatewayRequest(input *DeleteGatewayInput) (req *request.Request, output *DeleteGatewayOutput) { + op := &request.Operation{ + Name: opDeleteGateway, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteGatewayInput{} + } + + output = &DeleteGatewayOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteGateway API operation for AWS Backup Gateway. +// +// Deletes a backup gateway. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup Gateway's +// API operation DeleteGateway for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation did not succeed because a validation error occurred. +// +// * InternalServerException +// The operation did not succeed because an internal error occurred. Try again +// later. +// +// * ResourceNotFoundException +// A resource that is required for the action wasn't found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/DeleteGateway +func (c *BackupGateway) DeleteGateway(input *DeleteGatewayInput) (*DeleteGatewayOutput, error) { + req, out := c.DeleteGatewayRequest(input) + return out, req.Send() +} + +// DeleteGatewayWithContext is the same as DeleteGateway with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteGateway 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 *BackupGateway) DeleteGatewayWithContext(ctx aws.Context, input *DeleteGatewayInput, opts ...request.Option) (*DeleteGatewayOutput, error) { + req, out := c.DeleteGatewayRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteHypervisor = "DeleteHypervisor" + +// DeleteHypervisorRequest generates a "aws/request.Request" representing the +// client's request for the DeleteHypervisor 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 DeleteHypervisor for more information on using the DeleteHypervisor +// 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 DeleteHypervisorRequest method. +// req, resp := client.DeleteHypervisorRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/DeleteHypervisor +func (c *BackupGateway) DeleteHypervisorRequest(input *DeleteHypervisorInput) (req *request.Request, output *DeleteHypervisorOutput) { + op := &request.Operation{ + Name: opDeleteHypervisor, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteHypervisorInput{} + } + + output = &DeleteHypervisorOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteHypervisor API operation for AWS Backup Gateway. +// +// Deletes a hypervisor. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup Gateway's +// API operation DeleteHypervisor for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation did not succeed because a validation error occurred. +// +// * InternalServerException +// The operation did not succeed because an internal error occurred. Try again +// later. +// +// * AccessDeniedException +// The operation cannot proceed because you have insufficient permissions. +// +// * ResourceNotFoundException +// A resource that is required for the action wasn't found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/DeleteHypervisor +func (c *BackupGateway) DeleteHypervisor(input *DeleteHypervisorInput) (*DeleteHypervisorOutput, error) { + req, out := c.DeleteHypervisorRequest(input) + return out, req.Send() +} + +// DeleteHypervisorWithContext is the same as DeleteHypervisor with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteHypervisor 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 *BackupGateway) DeleteHypervisorWithContext(ctx aws.Context, input *DeleteHypervisorInput, opts ...request.Option) (*DeleteHypervisorOutput, error) { + req, out := c.DeleteHypervisorRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateGatewayFromServer = "DisassociateGatewayFromServer" + +// DisassociateGatewayFromServerRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateGatewayFromServer 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 DisassociateGatewayFromServer for more information on using the DisassociateGatewayFromServer +// 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 DisassociateGatewayFromServerRequest method. +// req, resp := client.DisassociateGatewayFromServerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/DisassociateGatewayFromServer +func (c *BackupGateway) DisassociateGatewayFromServerRequest(input *DisassociateGatewayFromServerInput) (req *request.Request, output *DisassociateGatewayFromServerOutput) { + op := &request.Operation{ + Name: opDisassociateGatewayFromServer, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DisassociateGatewayFromServerInput{} + } + + output = &DisassociateGatewayFromServerOutput{} + req = c.newRequest(op, input, output) + return +} + +// DisassociateGatewayFromServer API operation for AWS Backup Gateway. +// +// Disassociates a backup gateway from the specified server. After the disassociation +// process finishes, the gateway can no longer access the virtual machines on +// the server. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup Gateway's +// API operation DisassociateGatewayFromServer for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation did not succeed because a validation error occurred. +// +// * ConflictException +// The operation cannot proceed because it is not supported. +// +// * InternalServerException +// The operation did not succeed because an internal error occurred. Try again +// later. +// +// * ResourceNotFoundException +// A resource that is required for the action wasn't found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/DisassociateGatewayFromServer +func (c *BackupGateway) DisassociateGatewayFromServer(input *DisassociateGatewayFromServerInput) (*DisassociateGatewayFromServerOutput, error) { + req, out := c.DisassociateGatewayFromServerRequest(input) + return out, req.Send() +} + +// DisassociateGatewayFromServerWithContext is the same as DisassociateGatewayFromServer with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateGatewayFromServer 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 *BackupGateway) DisassociateGatewayFromServerWithContext(ctx aws.Context, input *DisassociateGatewayFromServerInput, opts ...request.Option) (*DisassociateGatewayFromServerOutput, error) { + req, out := c.DisassociateGatewayFromServerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opImportHypervisorConfiguration = "ImportHypervisorConfiguration" + +// ImportHypervisorConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the ImportHypervisorConfiguration 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 ImportHypervisorConfiguration for more information on using the ImportHypervisorConfiguration +// 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 ImportHypervisorConfigurationRequest method. +// req, resp := client.ImportHypervisorConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/ImportHypervisorConfiguration +func (c *BackupGateway) ImportHypervisorConfigurationRequest(input *ImportHypervisorConfigurationInput) (req *request.Request, output *ImportHypervisorConfigurationOutput) { + op := &request.Operation{ + Name: opImportHypervisorConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ImportHypervisorConfigurationInput{} + } + + output = &ImportHypervisorConfigurationOutput{} + req = c.newRequest(op, input, output) + return +} + +// ImportHypervisorConfiguration API operation for AWS Backup Gateway. +// +// Connect to a hypervisor by importing its configuration. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup Gateway's +// API operation ImportHypervisorConfiguration for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation did not succeed because a validation error occurred. +// +// * InternalServerException +// The operation did not succeed because an internal error occurred. Try again +// later. +// +// * AccessDeniedException +// The operation cannot proceed because you have insufficient permissions. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/ImportHypervisorConfiguration +func (c *BackupGateway) ImportHypervisorConfiguration(input *ImportHypervisorConfigurationInput) (*ImportHypervisorConfigurationOutput, error) { + req, out := c.ImportHypervisorConfigurationRequest(input) + return out, req.Send() +} + +// ImportHypervisorConfigurationWithContext is the same as ImportHypervisorConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See ImportHypervisorConfiguration 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 *BackupGateway) ImportHypervisorConfigurationWithContext(ctx aws.Context, input *ImportHypervisorConfigurationInput, opts ...request.Option) (*ImportHypervisorConfigurationOutput, error) { + req, out := c.ImportHypervisorConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListGateways = "ListGateways" + +// ListGatewaysRequest generates a "aws/request.Request" representing the +// client's request for the ListGateways 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 ListGateways for more information on using the ListGateways +// 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 ListGatewaysRequest method. +// req, resp := client.ListGatewaysRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/ListGateways +func (c *BackupGateway) ListGatewaysRequest(input *ListGatewaysInput) (req *request.Request, output *ListGatewaysOutput) { + op := &request.Operation{ + Name: opListGateways, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListGatewaysInput{} + } + + output = &ListGatewaysOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListGateways API operation for AWS Backup Gateway. +// +// Lists backup gateways owned by an Amazon Web Services account in an Amazon +// Web Services Region. The returned list is ordered by gateway Amazon Resource +// Name (ARN). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup Gateway's +// API operation ListGateways for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation did not succeed because a validation error occurred. +// +// * InternalServerException +// The operation did not succeed because an internal error occurred. Try again +// later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/ListGateways +func (c *BackupGateway) ListGateways(input *ListGatewaysInput) (*ListGatewaysOutput, error) { + req, out := c.ListGatewaysRequest(input) + return out, req.Send() +} + +// ListGatewaysWithContext is the same as ListGateways with the addition of +// the ability to pass a context and additional request options. +// +// See ListGateways 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 *BackupGateway) ListGatewaysWithContext(ctx aws.Context, input *ListGatewaysInput, opts ...request.Option) (*ListGatewaysOutput, error) { + req, out := c.ListGatewaysRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListGatewaysPages iterates over the pages of a ListGateways operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListGateways 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 ListGateways operation. +// pageNum := 0 +// err := client.ListGatewaysPages(params, +// func(page *backupgateway.ListGatewaysOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *BackupGateway) ListGatewaysPages(input *ListGatewaysInput, fn func(*ListGatewaysOutput, bool) bool) error { + return c.ListGatewaysPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListGatewaysPagesWithContext same as ListGatewaysPages 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 *BackupGateway) ListGatewaysPagesWithContext(ctx aws.Context, input *ListGatewaysInput, fn func(*ListGatewaysOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListGatewaysInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListGatewaysRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListGatewaysOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListHypervisors = "ListHypervisors" + +// ListHypervisorsRequest generates a "aws/request.Request" representing the +// client's request for the ListHypervisors 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 ListHypervisors for more information on using the ListHypervisors +// 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 ListHypervisorsRequest method. +// req, resp := client.ListHypervisorsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/ListHypervisors +func (c *BackupGateway) ListHypervisorsRequest(input *ListHypervisorsInput) (req *request.Request, output *ListHypervisorsOutput) { + op := &request.Operation{ + Name: opListHypervisors, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListHypervisorsInput{} + } + + output = &ListHypervisorsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListHypervisors API operation for AWS Backup Gateway. +// +// Lists your hypervisors. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup Gateway's +// API operation ListHypervisors for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation did not succeed because a validation error occurred. +// +// * InternalServerException +// The operation did not succeed because an internal error occurred. Try again +// later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/ListHypervisors +func (c *BackupGateway) ListHypervisors(input *ListHypervisorsInput) (*ListHypervisorsOutput, error) { + req, out := c.ListHypervisorsRequest(input) + return out, req.Send() +} + +// ListHypervisorsWithContext is the same as ListHypervisors with the addition of +// the ability to pass a context and additional request options. +// +// See ListHypervisors 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 *BackupGateway) ListHypervisorsWithContext(ctx aws.Context, input *ListHypervisorsInput, opts ...request.Option) (*ListHypervisorsOutput, error) { + req, out := c.ListHypervisorsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListHypervisorsPages iterates over the pages of a ListHypervisors operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListHypervisors 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 ListHypervisors operation. +// pageNum := 0 +// err := client.ListHypervisorsPages(params, +// func(page *backupgateway.ListHypervisorsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *BackupGateway) ListHypervisorsPages(input *ListHypervisorsInput, fn func(*ListHypervisorsOutput, bool) bool) error { + return c.ListHypervisorsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListHypervisorsPagesWithContext same as ListHypervisorsPages 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 *BackupGateway) ListHypervisorsPagesWithContext(ctx aws.Context, input *ListHypervisorsInput, fn func(*ListHypervisorsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListHypervisorsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListHypervisorsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListHypervisorsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/ListTagsForResource +func (c *BackupGateway) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for AWS Backup Gateway. +// +// Lists the tags applied to the resource identified by its Amazon Resource +// Name (ARN). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup Gateway's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation did not succeed because a validation error occurred. +// +// * InternalServerException +// The operation did not succeed because an internal error occurred. Try again +// later. +// +// * ResourceNotFoundException +// A resource that is required for the action wasn't found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/ListTagsForResource +func (c *BackupGateway) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *BackupGateway) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListVirtualMachines = "ListVirtualMachines" + +// ListVirtualMachinesRequest generates a "aws/request.Request" representing the +// client's request for the ListVirtualMachines 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 ListVirtualMachines for more information on using the ListVirtualMachines +// 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 ListVirtualMachinesRequest method. +// req, resp := client.ListVirtualMachinesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/ListVirtualMachines +func (c *BackupGateway) ListVirtualMachinesRequest(input *ListVirtualMachinesInput) (req *request.Request, output *ListVirtualMachinesOutput) { + op := &request.Operation{ + Name: opListVirtualMachines, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListVirtualMachinesInput{} + } + + output = &ListVirtualMachinesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListVirtualMachines API operation for AWS Backup Gateway. +// +// Lists your virtual machines. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup Gateway's +// API operation ListVirtualMachines for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation did not succeed because a validation error occurred. +// +// * InternalServerException +// The operation did not succeed because an internal error occurred. Try again +// later. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/ListVirtualMachines +func (c *BackupGateway) ListVirtualMachines(input *ListVirtualMachinesInput) (*ListVirtualMachinesOutput, error) { + req, out := c.ListVirtualMachinesRequest(input) + return out, req.Send() +} + +// ListVirtualMachinesWithContext is the same as ListVirtualMachines with the addition of +// the ability to pass a context and additional request options. +// +// See ListVirtualMachines 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 *BackupGateway) ListVirtualMachinesWithContext(ctx aws.Context, input *ListVirtualMachinesInput, opts ...request.Option) (*ListVirtualMachinesOutput, error) { + req, out := c.ListVirtualMachinesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListVirtualMachinesPages iterates over the pages of a ListVirtualMachines operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListVirtualMachines 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 ListVirtualMachines operation. +// pageNum := 0 +// err := client.ListVirtualMachinesPages(params, +// func(page *backupgateway.ListVirtualMachinesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *BackupGateway) ListVirtualMachinesPages(input *ListVirtualMachinesInput, fn func(*ListVirtualMachinesOutput, bool) bool) error { + return c.ListVirtualMachinesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListVirtualMachinesPagesWithContext same as ListVirtualMachinesPages 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 *BackupGateway) ListVirtualMachinesPagesWithContext(ctx aws.Context, input *ListVirtualMachinesInput, fn func(*ListVirtualMachinesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListVirtualMachinesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListVirtualMachinesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListVirtualMachinesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opPutMaintenanceStartTime = "PutMaintenanceStartTime" + +// PutMaintenanceStartTimeRequest generates a "aws/request.Request" representing the +// client's request for the PutMaintenanceStartTime 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 PutMaintenanceStartTime for more information on using the PutMaintenanceStartTime +// 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 PutMaintenanceStartTimeRequest method. +// req, resp := client.PutMaintenanceStartTimeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/PutMaintenanceStartTime +func (c *BackupGateway) PutMaintenanceStartTimeRequest(input *PutMaintenanceStartTimeInput) (req *request.Request, output *PutMaintenanceStartTimeOutput) { + op := &request.Operation{ + Name: opPutMaintenanceStartTime, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutMaintenanceStartTimeInput{} + } + + output = &PutMaintenanceStartTimeOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutMaintenanceStartTime API operation for AWS Backup Gateway. +// +// Set the maintenance start time for a gateway. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup Gateway's +// API operation PutMaintenanceStartTime for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation did not succeed because a validation error occurred. +// +// * ConflictException +// The operation cannot proceed because it is not supported. +// +// * InternalServerException +// The operation did not succeed because an internal error occurred. Try again +// later. +// +// * ResourceNotFoundException +// A resource that is required for the action wasn't found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/PutMaintenanceStartTime +func (c *BackupGateway) PutMaintenanceStartTime(input *PutMaintenanceStartTimeInput) (*PutMaintenanceStartTimeOutput, error) { + req, out := c.PutMaintenanceStartTimeRequest(input) + return out, req.Send() +} + +// PutMaintenanceStartTimeWithContext is the same as PutMaintenanceStartTime with the addition of +// the ability to pass a context and additional request options. +// +// See PutMaintenanceStartTime 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 *BackupGateway) PutMaintenanceStartTimeWithContext(ctx aws.Context, input *PutMaintenanceStartTimeInput, opts ...request.Option) (*PutMaintenanceStartTimeOutput, error) { + req, out := c.PutMaintenanceStartTimeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/TagResource +func (c *BackupGateway) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// TagResource API operation for AWS Backup Gateway. +// +// Tag the resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup Gateway's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation did not succeed because a validation error occurred. +// +// * InternalServerException +// The operation did not succeed because an internal error occurred. Try again +// later. +// +// * ResourceNotFoundException +// A resource that is required for the action wasn't found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/TagResource +func (c *BackupGateway) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *BackupGateway) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTestHypervisorConfiguration = "TestHypervisorConfiguration" + +// TestHypervisorConfigurationRequest generates a "aws/request.Request" representing the +// client's request for the TestHypervisorConfiguration 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 TestHypervisorConfiguration for more information on using the TestHypervisorConfiguration +// 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 TestHypervisorConfigurationRequest method. +// req, resp := client.TestHypervisorConfigurationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/TestHypervisorConfiguration +func (c *BackupGateway) TestHypervisorConfigurationRequest(input *TestHypervisorConfigurationInput) (req *request.Request, output *TestHypervisorConfigurationOutput) { + op := &request.Operation{ + Name: opTestHypervisorConfiguration, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &TestHypervisorConfigurationInput{} + } + + output = &TestHypervisorConfigurationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TestHypervisorConfiguration API operation for AWS Backup Gateway. +// +// Tests your hypervisor configuration to validate that backup gateway can connect +// with the hypervisor and its resources. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup Gateway's +// API operation TestHypervisorConfiguration for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation did not succeed because a validation error occurred. +// +// * ConflictException +// The operation cannot proceed because it is not supported. +// +// * InternalServerException +// The operation did not succeed because an internal error occurred. Try again +// later. +// +// * ResourceNotFoundException +// A resource that is required for the action wasn't found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/TestHypervisorConfiguration +func (c *BackupGateway) TestHypervisorConfiguration(input *TestHypervisorConfigurationInput) (*TestHypervisorConfigurationOutput, error) { + req, out := c.TestHypervisorConfigurationRequest(input) + return out, req.Send() +} + +// TestHypervisorConfigurationWithContext is the same as TestHypervisorConfiguration with the addition of +// the ability to pass a context and additional request options. +// +// See TestHypervisorConfiguration 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 *BackupGateway) TestHypervisorConfigurationWithContext(ctx aws.Context, input *TestHypervisorConfigurationInput, opts ...request.Option) (*TestHypervisorConfigurationOutput, error) { + req, out := c.TestHypervisorConfigurationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/UntagResource +func (c *BackupGateway) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// UntagResource API operation for AWS Backup Gateway. +// +// Removes tags from the resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup Gateway's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation did not succeed because a validation error occurred. +// +// * InternalServerException +// The operation did not succeed because an internal error occurred. Try again +// later. +// +// * ResourceNotFoundException +// A resource that is required for the action wasn't found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/UntagResource +func (c *BackupGateway) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *BackupGateway) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateGatewayInformation = "UpdateGatewayInformation" + +// UpdateGatewayInformationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateGatewayInformation 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 UpdateGatewayInformation for more information on using the UpdateGatewayInformation +// 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 UpdateGatewayInformationRequest method. +// req, resp := client.UpdateGatewayInformationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/UpdateGatewayInformation +func (c *BackupGateway) UpdateGatewayInformationRequest(input *UpdateGatewayInformationInput) (req *request.Request, output *UpdateGatewayInformationOutput) { + op := &request.Operation{ + Name: opUpdateGatewayInformation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateGatewayInformationInput{} + } + + output = &UpdateGatewayInformationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateGatewayInformation API operation for AWS Backup Gateway. +// +// Updates a gateway's name. Specify which gateway to update using the Amazon +// Resource Name (ARN) of the gateway in your request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup Gateway's +// API operation UpdateGatewayInformation for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation did not succeed because a validation error occurred. +// +// * ConflictException +// The operation cannot proceed because it is not supported. +// +// * InternalServerException +// The operation did not succeed because an internal error occurred. Try again +// later. +// +// * ResourceNotFoundException +// A resource that is required for the action wasn't found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/UpdateGatewayInformation +func (c *BackupGateway) UpdateGatewayInformation(input *UpdateGatewayInformationInput) (*UpdateGatewayInformationOutput, error) { + req, out := c.UpdateGatewayInformationRequest(input) + return out, req.Send() +} + +// UpdateGatewayInformationWithContext is the same as UpdateGatewayInformation with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateGatewayInformation 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 *BackupGateway) UpdateGatewayInformationWithContext(ctx aws.Context, input *UpdateGatewayInformationInput, opts ...request.Option) (*UpdateGatewayInformationOutput, error) { + req, out := c.UpdateGatewayInformationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateHypervisor = "UpdateHypervisor" + +// UpdateHypervisorRequest generates a "aws/request.Request" representing the +// client's request for the UpdateHypervisor 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 UpdateHypervisor for more information on using the UpdateHypervisor +// 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 UpdateHypervisorRequest method. +// req, resp := client.UpdateHypervisorRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/UpdateHypervisor +func (c *BackupGateway) UpdateHypervisorRequest(input *UpdateHypervisorInput) (req *request.Request, output *UpdateHypervisorOutput) { + op := &request.Operation{ + Name: opUpdateHypervisor, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateHypervisorInput{} + } + + output = &UpdateHypervisorOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateHypervisor API operation for AWS Backup Gateway. +// +// Updates a hypervisor metadata, including its host, username, and password. +// Specify which hypervisor to update using the Amazon Resource Name (ARN) of +// the hypervisor in your request. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Backup Gateway's +// API operation UpdateHypervisor for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The operation did not succeed because a validation error occurred. +// +// * InternalServerException +// The operation did not succeed because an internal error occurred. Try again +// later. +// +// * AccessDeniedException +// The operation cannot proceed because you have insufficient permissions. +// +// * ResourceNotFoundException +// A resource that is required for the action wasn't found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01/UpdateHypervisor +func (c *BackupGateway) UpdateHypervisor(input *UpdateHypervisorInput) (*UpdateHypervisorOutput, error) { + req, out := c.UpdateHypervisorRequest(input) + return out, req.Send() +} + +// UpdateHypervisorWithContext is the same as UpdateHypervisor with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateHypervisor 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 *BackupGateway) UpdateHypervisorWithContext(ctx aws.Context, input *UpdateHypervisorInput, opts ...request.Option) (*UpdateHypervisorOutput, error) { + req, out := c.UpdateHypervisorRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// The operation cannot proceed because you have insufficient permissions. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A description of why you have insufficient permissions. + // + // ErrorCode is a required field + ErrorCode *string `type:"string" required:"true"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +type AssociateGatewayToServerInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation + // to return a list of gateways for your account and Amazon Web Services Region. + // + // GatewayArn is a required field + GatewayArn *string `min:"50" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the server that hosts your virtual machines. + // + // ServerArn is a required field + ServerArn *string `min:"50" 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 AssociateGatewayToServerInput) 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 AssociateGatewayToServerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateGatewayToServerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateGatewayToServerInput"} + if s.GatewayArn == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayArn")) + } + if s.GatewayArn != nil && len(*s.GatewayArn) < 50 { + invalidParams.Add(request.NewErrParamMinLen("GatewayArn", 50)) + } + if s.ServerArn == nil { + invalidParams.Add(request.NewErrParamRequired("ServerArn")) + } + if s.ServerArn != nil && len(*s.ServerArn) < 50 { + invalidParams.Add(request.NewErrParamMinLen("ServerArn", 50)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGatewayArn sets the GatewayArn field's value. +func (s *AssociateGatewayToServerInput) SetGatewayArn(v string) *AssociateGatewayToServerInput { + s.GatewayArn = &v + return s +} + +// SetServerArn sets the ServerArn field's value. +func (s *AssociateGatewayToServerInput) SetServerArn(v string) *AssociateGatewayToServerInput { + s.ServerArn = &v + return s +} + +type AssociateGatewayToServerOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of a gateway. + GatewayArn *string `min:"50" 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 AssociateGatewayToServerOutput) 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 AssociateGatewayToServerOutput) GoString() string { + return s.String() +} + +// SetGatewayArn sets the GatewayArn field's value. +func (s *AssociateGatewayToServerOutput) SetGatewayArn(v string) *AssociateGatewayToServerOutput { + s.GatewayArn = &v + return s +} + +// The operation cannot proceed because it is not supported. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A description of why the operation is not supported. + // + // ErrorCode is a required field + ErrorCode *string `type:"string" required:"true"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateGatewayInput struct { + _ struct{} `type:"structure"` + + // The activation key of the created gateway. + // + // ActivationKey is a required field + ActivationKey *string `min:"1" type:"string" required:"true"` + + // The display name of the created gateway. + // + // GatewayDisplayName is a required field + GatewayDisplayName *string `min:"1" type:"string" required:"true"` + + // The type of created gateway. + // + // GatewayType is a required field + GatewayType *string `type:"string" required:"true" enum:"GatewayType"` + + // A list of up to 50 tags to assign to the gateway. Each tag is a key-value + // pair. + Tags []*Tag `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateGatewayInput) 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 CreateGatewayInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateGatewayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateGatewayInput"} + if s.ActivationKey == nil { + invalidParams.Add(request.NewErrParamRequired("ActivationKey")) + } + if s.ActivationKey != nil && len(*s.ActivationKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ActivationKey", 1)) + } + if s.GatewayDisplayName == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayDisplayName")) + } + if s.GatewayDisplayName != nil && len(*s.GatewayDisplayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GatewayDisplayName", 1)) + } + if s.GatewayType == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayType")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActivationKey sets the ActivationKey field's value. +func (s *CreateGatewayInput) SetActivationKey(v string) *CreateGatewayInput { + s.ActivationKey = &v + return s +} + +// SetGatewayDisplayName sets the GatewayDisplayName field's value. +func (s *CreateGatewayInput) SetGatewayDisplayName(v string) *CreateGatewayInput { + s.GatewayDisplayName = &v + return s +} + +// SetGatewayType sets the GatewayType field's value. +func (s *CreateGatewayInput) SetGatewayType(v string) *CreateGatewayInput { + s.GatewayType = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateGatewayInput) SetTags(v []*Tag) *CreateGatewayInput { + s.Tags = v + return s +} + +type CreateGatewayOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the gateway you create. + GatewayArn *string `min:"50" 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 CreateGatewayOutput) 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 CreateGatewayOutput) GoString() string { + return s.String() +} + +// SetGatewayArn sets the GatewayArn field's value. +func (s *CreateGatewayOutput) SetGatewayArn(v string) *CreateGatewayOutput { + s.GatewayArn = &v + return s +} + +type DeleteGatewayInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the gateway to delete. + // + // GatewayArn is a required field + GatewayArn *string `min:"50" 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 DeleteGatewayInput) 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 DeleteGatewayInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteGatewayInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteGatewayInput"} + if s.GatewayArn == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayArn")) + } + if s.GatewayArn != nil && len(*s.GatewayArn) < 50 { + invalidParams.Add(request.NewErrParamMinLen("GatewayArn", 50)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGatewayArn sets the GatewayArn field's value. +func (s *DeleteGatewayInput) SetGatewayArn(v string) *DeleteGatewayInput { + s.GatewayArn = &v + return s +} + +type DeleteGatewayOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the gateway you deleted. + GatewayArn *string `min:"50" 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 DeleteGatewayOutput) 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 DeleteGatewayOutput) GoString() string { + return s.String() +} + +// SetGatewayArn sets the GatewayArn field's value. +func (s *DeleteGatewayOutput) SetGatewayArn(v string) *DeleteGatewayOutput { + s.GatewayArn = &v + return s +} + +type DeleteHypervisorInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the hypervisor to delete. + // + // HypervisorArn is a required field + HypervisorArn *string `min:"50" 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 DeleteHypervisorInput) 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 DeleteHypervisorInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteHypervisorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteHypervisorInput"} + if s.HypervisorArn == nil { + invalidParams.Add(request.NewErrParamRequired("HypervisorArn")) + } + if s.HypervisorArn != nil && len(*s.HypervisorArn) < 50 { + invalidParams.Add(request.NewErrParamMinLen("HypervisorArn", 50)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHypervisorArn sets the HypervisorArn field's value. +func (s *DeleteHypervisorInput) SetHypervisorArn(v string) *DeleteHypervisorInput { + s.HypervisorArn = &v + return s +} + +type DeleteHypervisorOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the hypervisor you deleted. + HypervisorArn *string `min:"50" 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 DeleteHypervisorOutput) 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 DeleteHypervisorOutput) GoString() string { + return s.String() +} + +// SetHypervisorArn sets the HypervisorArn field's value. +func (s *DeleteHypervisorOutput) SetHypervisorArn(v string) *DeleteHypervisorOutput { + s.HypervisorArn = &v + return s +} + +type DisassociateGatewayFromServerInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the gateway to disassociate. + // + // GatewayArn is a required field + GatewayArn *string `min:"50" 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 DisassociateGatewayFromServerInput) 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 DisassociateGatewayFromServerInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateGatewayFromServerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateGatewayFromServerInput"} + if s.GatewayArn == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayArn")) + } + if s.GatewayArn != nil && len(*s.GatewayArn) < 50 { + invalidParams.Add(request.NewErrParamMinLen("GatewayArn", 50)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGatewayArn sets the GatewayArn field's value. +func (s *DisassociateGatewayFromServerInput) SetGatewayArn(v string) *DisassociateGatewayFromServerInput { + s.GatewayArn = &v + return s +} + +type DisassociateGatewayFromServerOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the gateway you disassociated. + GatewayArn *string `min:"50" 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 DisassociateGatewayFromServerOutput) 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 DisassociateGatewayFromServerOutput) GoString() string { + return s.String() +} + +// SetGatewayArn sets the GatewayArn field's value. +func (s *DisassociateGatewayFromServerOutput) SetGatewayArn(v string) *DisassociateGatewayFromServerOutput { + s.GatewayArn = &v + return s +} + +// A gateway is an Backup Gateway appliance that runs on the customer's network +// to provide seamless connectivity to backup storage in the Amazon Web Services +// Cloud. +type Gateway struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation + // to return a list of gateways for your account and Amazon Web Services Region. + GatewayArn *string `min:"50" type:"string"` + + // The display name of the gateway. + GatewayDisplayName *string `min:"1" type:"string"` + + // The type of the gateway. + GatewayType *string `type:"string" enum:"GatewayType"` + + // The hypervisor ID of the gateway. + HypervisorId *string `min:"1" type:"string"` + + // The last time Backup gateway communicated with the gateway, in Unix format + // and UTC time. + LastSeenTime *time.Time `type:"timestamp"` +} + +// 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 Gateway) 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 Gateway) GoString() string { + return s.String() +} + +// SetGatewayArn sets the GatewayArn field's value. +func (s *Gateway) SetGatewayArn(v string) *Gateway { + s.GatewayArn = &v + return s +} + +// SetGatewayDisplayName sets the GatewayDisplayName field's value. +func (s *Gateway) SetGatewayDisplayName(v string) *Gateway { + s.GatewayDisplayName = &v + return s +} + +// SetGatewayType sets the GatewayType field's value. +func (s *Gateway) SetGatewayType(v string) *Gateway { + s.GatewayType = &v + return s +} + +// SetHypervisorId sets the HypervisorId field's value. +func (s *Gateway) SetHypervisorId(v string) *Gateway { + s.HypervisorId = &v + return s +} + +// SetLastSeenTime sets the LastSeenTime field's value. +func (s *Gateway) SetLastSeenTime(v time.Time) *Gateway { + s.LastSeenTime = &v + return s +} + +// Represents the hypervisor's permissions to which the gateway will connect. +// +// A hypervisor is hardware, software, or firmware that creates and manages +// virtual machines, and allocates resources to them. +type Hypervisor struct { + _ struct{} `type:"structure"` + + // The server host of the hypervisor. This can be either an IP address or a + // fully-qualified domain name (FQDN). + Host *string `min:"3" type:"string"` + + // The Amazon Resource Name (ARN) of the hypervisor. + HypervisorArn *string `min:"50" type:"string"` + + // The Amazon Resource Name (ARN) of the Key Management Service used to encrypt + // the hypervisor. + KmsKeyArn *string `min:"50" type:"string"` + + // The name of the hypervisor. + Name *string `min:"1" type:"string"` + + // The state of the hypervisor. + State *string `type:"string" enum:"HypervisorState"` +} + +// 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 Hypervisor) 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 Hypervisor) GoString() string { + return s.String() +} + +// SetHost sets the Host field's value. +func (s *Hypervisor) SetHost(v string) *Hypervisor { + s.Host = &v + return s +} + +// SetHypervisorArn sets the HypervisorArn field's value. +func (s *Hypervisor) SetHypervisorArn(v string) *Hypervisor { + s.HypervisorArn = &v + return s +} + +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *Hypervisor) SetKmsKeyArn(v string) *Hypervisor { + s.KmsKeyArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *Hypervisor) SetName(v string) *Hypervisor { + s.Name = &v + return s +} + +// SetState sets the State field's value. +func (s *Hypervisor) SetState(v string) *Hypervisor { + s.State = &v + return s +} + +type ImportHypervisorConfigurationInput struct { + _ struct{} `type:"structure"` + + // The server host of the hypervisor. This can be either an IP address or a + // fully-qualified domain name (FQDN). + // + // Host is a required field + Host *string `min:"3" type:"string" required:"true"` + + // The Key Management Service for the hypervisor. + KmsKeyArn *string `min:"50" type:"string"` + + // The name of the hypervisor. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The password for the hypervisor. + // + // Password is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ImportHypervisorConfigurationInput's + // String and GoString methods. + Password *string `min:"1" type:"string" sensitive:"true"` + + // The tags of the hypervisor configuration to import. + Tags []*Tag `type:"list"` + + // The username for the hypervisor. + // + // Username is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by ImportHypervisorConfigurationInput's + // String and GoString methods. + Username *string `min:"1" type:"string" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ImportHypervisorConfigurationInput) 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 ImportHypervisorConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImportHypervisorConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportHypervisorConfigurationInput"} + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) + } + if s.Host != nil && len(*s.Host) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Host", 3)) + } + if s.KmsKeyArn != nil && len(*s.KmsKeyArn) < 50 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyArn", 50)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Password != nil && len(*s.Password) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Password", 1)) + } + if s.Username != nil && len(*s.Username) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Username", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHost sets the Host field's value. +func (s *ImportHypervisorConfigurationInput) SetHost(v string) *ImportHypervisorConfigurationInput { + s.Host = &v + return s +} + +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *ImportHypervisorConfigurationInput) SetKmsKeyArn(v string) *ImportHypervisorConfigurationInput { + s.KmsKeyArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *ImportHypervisorConfigurationInput) SetName(v string) *ImportHypervisorConfigurationInput { + s.Name = &v + return s +} + +// SetPassword sets the Password field's value. +func (s *ImportHypervisorConfigurationInput) SetPassword(v string) *ImportHypervisorConfigurationInput { + s.Password = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ImportHypervisorConfigurationInput) SetTags(v []*Tag) *ImportHypervisorConfigurationInput { + s.Tags = v + return s +} + +// SetUsername sets the Username field's value. +func (s *ImportHypervisorConfigurationInput) SetUsername(v string) *ImportHypervisorConfigurationInput { + s.Username = &v + return s +} + +type ImportHypervisorConfigurationOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the hypervisor you disassociated. + HypervisorArn *string `min:"50" 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 ImportHypervisorConfigurationOutput) 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 ImportHypervisorConfigurationOutput) GoString() string { + return s.String() +} + +// SetHypervisorArn sets the HypervisorArn field's value. +func (s *ImportHypervisorConfigurationOutput) SetHypervisorArn(v string) *ImportHypervisorConfigurationOutput { + s.HypervisorArn = &v + return s +} + +// The operation did not succeed because an internal error occurred. Try again +// later. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A description of which internal error occured. + ErrorCode *string `type:"string"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) 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 InternalServerException) GoString() string { + return s.String() +} + +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" +} + +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil +} + +func (s *InternalServerException) 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 *InternalServerException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListGatewaysInput struct { + _ struct{} `type:"structure"` + + // The maximum number of gateways to list. + MaxResults *int64 `min:"1" type:"integer"` + + // The next item following a partial list of returned resources. For example, + // if a request is made to return MaxResults number of resources, NextToken + // allows you to return more items in your list starting at the location pointed + // to by the next token. + 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 ListGatewaysInput) 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 ListGatewaysInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListGatewaysInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListGatewaysInput"} + 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 +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListGatewaysInput) SetMaxResults(v int64) *ListGatewaysInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListGatewaysInput) SetNextToken(v string) *ListGatewaysInput { + s.NextToken = &v + return s +} + +type ListGatewaysOutput struct { + _ struct{} `type:"structure"` + + // A list of your gateways. + Gateways []*Gateway `type:"list"` + + // The next item following a partial list of returned resources. For example, + // if a request is made to return maxResults number of resources, NextToken + // allows you to return more items in your list starting at the location pointed + // to by the next token. + 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 ListGatewaysOutput) 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 ListGatewaysOutput) GoString() string { + return s.String() +} + +// SetGateways sets the Gateways field's value. +func (s *ListGatewaysOutput) SetGateways(v []*Gateway) *ListGatewaysOutput { + s.Gateways = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListGatewaysOutput) SetNextToken(v string) *ListGatewaysOutput { + s.NextToken = &v + return s +} + +type ListHypervisorsInput struct { + _ struct{} `type:"structure"` + + // The maximum number of hypervisors to list. + MaxResults *int64 `min:"1" type:"integer"` + + // The next item following a partial list of returned resources. For example, + // if a request is made to return maxResults number of resources, NextToken + // allows you to return more items in your list starting at the location pointed + // to by the next token. + 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 ListHypervisorsInput) 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 ListHypervisorsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListHypervisorsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListHypervisorsInput"} + 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 +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListHypervisorsInput) SetMaxResults(v int64) *ListHypervisorsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListHypervisorsInput) SetNextToken(v string) *ListHypervisorsInput { + s.NextToken = &v + return s +} + +type ListHypervisorsOutput struct { + _ struct{} `type:"structure"` + + // A list of your Hypervisor objects, ordered by their Amazon Resource Names + // (ARNs). + Hypervisors []*Hypervisor `type:"list"` + + // The next item following a partial list of returned resources. For example, + // if a request is made to return maxResults number of resources, NextToken + // allows you to return more items in your list starting at the location pointed + // to by the next token. + 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 ListHypervisorsOutput) 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 ListHypervisorsOutput) GoString() string { + return s.String() +} + +// SetHypervisors sets the Hypervisors field's value. +func (s *ListHypervisorsOutput) SetHypervisors(v []*Hypervisor) *ListHypervisorsOutput { + s.Hypervisors = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListHypervisorsOutput) SetNextToken(v string) *ListHypervisorsOutput { + s.NextToken = &v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource's tags to list. + // + // ResourceArn is a required field + ResourceArn *string `min:"50" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 50 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 50)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource's tags that you listed. + ResourceArn *string `min:"50" type:"string"` + + // A list of the resource's tags. + Tags []*Tag `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceOutput) SetResourceArn(v string) *ListTagsForResourceOutput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +type ListVirtualMachinesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of virtual machines to list. + MaxResults *int64 `min:"1" type:"integer"` + + // The next item following a partial list of returned resources. For example, + // if a request is made to return maxResults number of resources, NextToken + // allows you to return more items in your list starting at the location pointed + // to by the next token. + 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 ListVirtualMachinesInput) 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 ListVirtualMachinesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListVirtualMachinesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListVirtualMachinesInput"} + 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 +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListVirtualMachinesInput) SetMaxResults(v int64) *ListVirtualMachinesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualMachinesInput) SetNextToken(v string) *ListVirtualMachinesInput { + s.NextToken = &v + return s +} + +type ListVirtualMachinesOutput struct { + _ struct{} `type:"structure"` + + // The next item following a partial list of returned resources. For example, + // if a request is made to return maxResults number of resources, NextToken + // allows you to return more items in your list starting at the location pointed + // to by the next token. + NextToken *string `min:"1" type:"string"` + + // A list of your VirtualMachine objects, ordered by their Amazon Resource Names + // (ARNs). + VirtualMachines []*VirtualMachine `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 ListVirtualMachinesOutput) 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 ListVirtualMachinesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListVirtualMachinesOutput) SetNextToken(v string) *ListVirtualMachinesOutput { + s.NextToken = &v + return s +} + +// SetVirtualMachines sets the VirtualMachines field's value. +func (s *ListVirtualMachinesOutput) SetVirtualMachines(v []*VirtualMachine) *ListVirtualMachinesOutput { + s.VirtualMachines = v + return s +} + +type PutMaintenanceStartTimeInput struct { + _ struct{} `type:"structure"` + + // The day of the month start maintenance on a gateway. + // + // Valid values range from Sunday to Saturday. + DayOfMonth *int64 `min:"1" type:"integer"` + + // The day of the week to start maintenance on a gateway. + DayOfWeek *int64 `type:"integer"` + + // The Amazon Resource Name (ARN) for the gateway, used to specify its maintenance + // start time. + // + // GatewayArn is a required field + GatewayArn *string `min:"50" type:"string" required:"true"` + + // The hour of the day to start maintenance on a gateway. + // + // HourOfDay is a required field + HourOfDay *int64 `type:"integer" required:"true"` + + // The minute of the hour to start maintenance on a gateway. + // + // MinuteOfHour is a required field + MinuteOfHour *int64 `type:"integer" 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 PutMaintenanceStartTimeInput) 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 PutMaintenanceStartTimeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutMaintenanceStartTimeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutMaintenanceStartTimeInput"} + if s.DayOfMonth != nil && *s.DayOfMonth < 1 { + invalidParams.Add(request.NewErrParamMinValue("DayOfMonth", 1)) + } + if s.GatewayArn == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayArn")) + } + if s.GatewayArn != nil && len(*s.GatewayArn) < 50 { + invalidParams.Add(request.NewErrParamMinLen("GatewayArn", 50)) + } + if s.HourOfDay == nil { + invalidParams.Add(request.NewErrParamRequired("HourOfDay")) + } + if s.MinuteOfHour == nil { + invalidParams.Add(request.NewErrParamRequired("MinuteOfHour")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDayOfMonth sets the DayOfMonth field's value. +func (s *PutMaintenanceStartTimeInput) SetDayOfMonth(v int64) *PutMaintenanceStartTimeInput { + s.DayOfMonth = &v + return s +} + +// SetDayOfWeek sets the DayOfWeek field's value. +func (s *PutMaintenanceStartTimeInput) SetDayOfWeek(v int64) *PutMaintenanceStartTimeInput { + s.DayOfWeek = &v + return s +} + +// SetGatewayArn sets the GatewayArn field's value. +func (s *PutMaintenanceStartTimeInput) SetGatewayArn(v string) *PutMaintenanceStartTimeInput { + s.GatewayArn = &v + return s +} + +// SetHourOfDay sets the HourOfDay field's value. +func (s *PutMaintenanceStartTimeInput) SetHourOfDay(v int64) *PutMaintenanceStartTimeInput { + s.HourOfDay = &v + return s +} + +// SetMinuteOfHour sets the MinuteOfHour field's value. +func (s *PutMaintenanceStartTimeInput) SetMinuteOfHour(v int64) *PutMaintenanceStartTimeInput { + s.MinuteOfHour = &v + return s +} + +type PutMaintenanceStartTimeOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of a gateway for which you set the maintenance + // start time. + GatewayArn *string `min:"50" 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 PutMaintenanceStartTimeOutput) 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 PutMaintenanceStartTimeOutput) GoString() string { + return s.String() +} + +// SetGatewayArn sets the GatewayArn field's value. +func (s *PutMaintenanceStartTimeOutput) SetGatewayArn(v string) *PutMaintenanceStartTimeOutput { + s.GatewayArn = &v + return s +} + +// A resource that is required for the action wasn't found. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A description of which resource wasn't found. + ErrorCode *string `type:"string"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// A key-value pair you can use to manage, filter, and search for your resources. +// Allowed characters include UTF-8 letters, numbers, spaces, and the following +// characters: + - = . _ : /. +type Tag struct { + _ struct{} `type:"structure"` + + // The key part of a tag's key-value pair. The key can't start with aws:. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The key part of a value's key-value pair. + // + // Value is a required field + Value *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource to tag. + // + // ResourceARN is a required field + ResourceARN *string `min:"50" type:"string" required:"true"` + + // A list of tags to assign to the resource. + // + // Tags is a required field + Tags []*Tag `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 50 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 50)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput { + s.ResourceARN = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource you tagged. + ResourceARN *string `min:"50" 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 TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *TagResourceOutput) SetResourceARN(v string) *TagResourceOutput { + s.ResourceARN = &v + return s +} + +type TestHypervisorConfigurationInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the gateway to the hypervisor to test. + // + // GatewayArn is a required field + GatewayArn *string `min:"50" type:"string" required:"true"` + + // The server host of the hypervisor. This can be either an IP address or a + // fully-qualified domain name (FQDN). + // + // Host is a required field + Host *string `min:"3" type:"string" required:"true"` + + // The password for the hypervisor. + // + // Password is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by TestHypervisorConfigurationInput's + // String and GoString methods. + Password *string `min:"1" type:"string" sensitive:"true"` + + // The username for the hypervisor. + // + // Username is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by TestHypervisorConfigurationInput's + // String and GoString methods. + Username *string `min:"1" type:"string" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TestHypervisorConfigurationInput) 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 TestHypervisorConfigurationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TestHypervisorConfigurationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TestHypervisorConfigurationInput"} + if s.GatewayArn == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayArn")) + } + if s.GatewayArn != nil && len(*s.GatewayArn) < 50 { + invalidParams.Add(request.NewErrParamMinLen("GatewayArn", 50)) + } + if s.Host == nil { + invalidParams.Add(request.NewErrParamRequired("Host")) + } + if s.Host != nil && len(*s.Host) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Host", 3)) + } + if s.Password != nil && len(*s.Password) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Password", 1)) + } + if s.Username != nil && len(*s.Username) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Username", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGatewayArn sets the GatewayArn field's value. +func (s *TestHypervisorConfigurationInput) SetGatewayArn(v string) *TestHypervisorConfigurationInput { + s.GatewayArn = &v + return s +} + +// SetHost sets the Host field's value. +func (s *TestHypervisorConfigurationInput) SetHost(v string) *TestHypervisorConfigurationInput { + s.Host = &v + return s +} + +// SetPassword sets the Password field's value. +func (s *TestHypervisorConfigurationInput) SetPassword(v string) *TestHypervisorConfigurationInput { + s.Password = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *TestHypervisorConfigurationInput) SetUsername(v string) *TestHypervisorConfigurationInput { + s.Username = &v + return s +} + +type TestHypervisorConfigurationOutput 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 TestHypervisorConfigurationOutput) 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 TestHypervisorConfigurationOutput) GoString() string { + return s.String() +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource from which to remove tags. + // + // ResourceARN is a required field + ResourceARN *string `min:"50" type:"string" required:"true"` + + // The list of tag keys specifying which tags to remove. + // + // TagKeys is a required field + TagKeys []*string `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 50 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 50)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput { + s.ResourceARN = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource from which you removed tags. + ResourceARN *string `min:"50" 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 UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *UntagResourceOutput) SetResourceARN(v string) *UntagResourceOutput { + s.ResourceARN = &v + return s +} + +type UpdateGatewayInformationInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the gateway to update. + // + // GatewayArn is a required field + GatewayArn *string `min:"50" type:"string" required:"true"` + + // The updated display name of the gateway. + GatewayDisplayName *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 UpdateGatewayInformationInput) 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 UpdateGatewayInformationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateGatewayInformationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateGatewayInformationInput"} + if s.GatewayArn == nil { + invalidParams.Add(request.NewErrParamRequired("GatewayArn")) + } + if s.GatewayArn != nil && len(*s.GatewayArn) < 50 { + invalidParams.Add(request.NewErrParamMinLen("GatewayArn", 50)) + } + if s.GatewayDisplayName != nil && len(*s.GatewayDisplayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GatewayDisplayName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGatewayArn sets the GatewayArn field's value. +func (s *UpdateGatewayInformationInput) SetGatewayArn(v string) *UpdateGatewayInformationInput { + s.GatewayArn = &v + return s +} + +// SetGatewayDisplayName sets the GatewayDisplayName field's value. +func (s *UpdateGatewayInformationInput) SetGatewayDisplayName(v string) *UpdateGatewayInformationInput { + s.GatewayDisplayName = &v + return s +} + +type UpdateGatewayInformationOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the gateway you updated. + GatewayArn *string `min:"50" 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 UpdateGatewayInformationOutput) 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 UpdateGatewayInformationOutput) GoString() string { + return s.String() +} + +// SetGatewayArn sets the GatewayArn field's value. +func (s *UpdateGatewayInformationOutput) SetGatewayArn(v string) *UpdateGatewayInformationOutput { + s.GatewayArn = &v + return s +} + +type UpdateHypervisorInput struct { + _ struct{} `type:"structure"` + + // The updated host of the hypervisor. This can be either an IP address or a + // fully-qualified domain name (FQDN). + Host *string `min:"3" type:"string"` + + // The Amazon Resource Name (ARN) of the hypervisor to update. + // + // HypervisorArn is a required field + HypervisorArn *string `min:"50" type:"string" required:"true"` + + // The updated password for the hypervisor. + // + // Password is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UpdateHypervisorInput's + // String and GoString methods. + Password *string `min:"1" type:"string" sensitive:"true"` + + // The updated username for the hypervisor. + // + // Username is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UpdateHypervisorInput's + // String and GoString methods. + Username *string `min:"1" type:"string" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateHypervisorInput) 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 UpdateHypervisorInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateHypervisorInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateHypervisorInput"} + if s.Host != nil && len(*s.Host) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Host", 3)) + } + if s.HypervisorArn == nil { + invalidParams.Add(request.NewErrParamRequired("HypervisorArn")) + } + if s.HypervisorArn != nil && len(*s.HypervisorArn) < 50 { + invalidParams.Add(request.NewErrParamMinLen("HypervisorArn", 50)) + } + if s.Password != nil && len(*s.Password) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Password", 1)) + } + if s.Username != nil && len(*s.Username) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Username", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetHost sets the Host field's value. +func (s *UpdateHypervisorInput) SetHost(v string) *UpdateHypervisorInput { + s.Host = &v + return s +} + +// SetHypervisorArn sets the HypervisorArn field's value. +func (s *UpdateHypervisorInput) SetHypervisorArn(v string) *UpdateHypervisorInput { + s.HypervisorArn = &v + return s +} + +// SetPassword sets the Password field's value. +func (s *UpdateHypervisorInput) SetPassword(v string) *UpdateHypervisorInput { + s.Password = &v + return s +} + +// SetUsername sets the Username field's value. +func (s *UpdateHypervisorInput) SetUsername(v string) *UpdateHypervisorInput { + s.Username = &v + return s +} + +type UpdateHypervisorOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the hypervisor you updated. + HypervisorArn *string `min:"50" 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 UpdateHypervisorOutput) 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 UpdateHypervisorOutput) GoString() string { + return s.String() +} + +// SetHypervisorArn sets the HypervisorArn field's value. +func (s *UpdateHypervisorOutput) SetHypervisorArn(v string) *UpdateHypervisorOutput { + s.HypervisorArn = &v + return s +} + +// The operation did not succeed because a validation error occurred. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A description of what caused the validation error. + ErrorCode *string `type:"string"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} + +// A virtual machine that is on a hypervisor. +type VirtualMachine struct { + _ struct{} `type:"structure"` + + // The host name of the virtual machine. + HostName *string `min:"1" type:"string"` + + // The ID of the virtual machine's hypervisor. + HypervisorId *string `type:"string"` + + // The most recent date a virtual machine was backed up, in Unix format and + // UTC time. + LastBackupDate *time.Time `type:"timestamp"` + + // The name of the virtual machine. + Name *string `min:"1" type:"string"` + + // The path of the virtual machine. + Path *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the virtual machine. + ResourceArn *string `min:"50" 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 VirtualMachine) 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 VirtualMachine) GoString() string { + return s.String() +} + +// SetHostName sets the HostName field's value. +func (s *VirtualMachine) SetHostName(v string) *VirtualMachine { + s.HostName = &v + return s +} + +// SetHypervisorId sets the HypervisorId field's value. +func (s *VirtualMachine) SetHypervisorId(v string) *VirtualMachine { + s.HypervisorId = &v + return s +} + +// SetLastBackupDate sets the LastBackupDate field's value. +func (s *VirtualMachine) SetLastBackupDate(v time.Time) *VirtualMachine { + s.LastBackupDate = &v + return s +} + +// SetName sets the Name field's value. +func (s *VirtualMachine) SetName(v string) *VirtualMachine { + s.Name = &v + return s +} + +// SetPath sets the Path field's value. +func (s *VirtualMachine) SetPath(v string) *VirtualMachine { + s.Path = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *VirtualMachine) SetResourceArn(v string) *VirtualMachine { + s.ResourceArn = &v + return s +} + +const ( + // GatewayTypeBackupVm is a GatewayType enum value + GatewayTypeBackupVm = "BACKUP_VM" +) + +// GatewayType_Values returns all elements of the GatewayType enum +func GatewayType_Values() []string { + return []string{ + GatewayTypeBackupVm, + } +} + +const ( + // HypervisorStatePending is a HypervisorState enum value + HypervisorStatePending = "PENDING" + + // HypervisorStateOnline is a HypervisorState enum value + HypervisorStateOnline = "ONLINE" + + // HypervisorStateOffline is a HypervisorState enum value + HypervisorStateOffline = "OFFLINE" + + // HypervisorStateError is a HypervisorState enum value + HypervisorStateError = "ERROR" +) + +// HypervisorState_Values returns all elements of the HypervisorState enum +func HypervisorState_Values() []string { + return []string{ + HypervisorStatePending, + HypervisorStateOnline, + HypervisorStateOffline, + HypervisorStateError, + } +} diff --git a/service/backupgateway/backupgatewayiface/interface.go b/service/backupgateway/backupgatewayiface/interface.go new file mode 100644 index 00000000000..4ee65dcb2b3 --- /dev/null +++ b/service/backupgateway/backupgatewayiface/interface.go @@ -0,0 +1,137 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package backupgatewayiface provides an interface to enable mocking the AWS Backup Gateway service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package backupgatewayiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/backupgateway" +) + +// BackupGatewayAPI provides an interface to enable mocking the +// backupgateway.BackupGateway service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // AWS Backup Gateway. +// func myFunc(svc backupgatewayiface.BackupGatewayAPI) bool { +// // Make svc.AssociateGatewayToServer request +// } +// +// func main() { +// sess := session.New() +// svc := backupgateway.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockBackupGatewayClient struct { +// backupgatewayiface.BackupGatewayAPI +// } +// func (m *mockBackupGatewayClient) AssociateGatewayToServer(input *backupgateway.AssociateGatewayToServerInput) (*backupgateway.AssociateGatewayToServerOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockBackupGatewayClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type BackupGatewayAPI interface { + AssociateGatewayToServer(*backupgateway.AssociateGatewayToServerInput) (*backupgateway.AssociateGatewayToServerOutput, error) + AssociateGatewayToServerWithContext(aws.Context, *backupgateway.AssociateGatewayToServerInput, ...request.Option) (*backupgateway.AssociateGatewayToServerOutput, error) + AssociateGatewayToServerRequest(*backupgateway.AssociateGatewayToServerInput) (*request.Request, *backupgateway.AssociateGatewayToServerOutput) + + CreateGateway(*backupgateway.CreateGatewayInput) (*backupgateway.CreateGatewayOutput, error) + CreateGatewayWithContext(aws.Context, *backupgateway.CreateGatewayInput, ...request.Option) (*backupgateway.CreateGatewayOutput, error) + CreateGatewayRequest(*backupgateway.CreateGatewayInput) (*request.Request, *backupgateway.CreateGatewayOutput) + + DeleteGateway(*backupgateway.DeleteGatewayInput) (*backupgateway.DeleteGatewayOutput, error) + DeleteGatewayWithContext(aws.Context, *backupgateway.DeleteGatewayInput, ...request.Option) (*backupgateway.DeleteGatewayOutput, error) + DeleteGatewayRequest(*backupgateway.DeleteGatewayInput) (*request.Request, *backupgateway.DeleteGatewayOutput) + + DeleteHypervisor(*backupgateway.DeleteHypervisorInput) (*backupgateway.DeleteHypervisorOutput, error) + DeleteHypervisorWithContext(aws.Context, *backupgateway.DeleteHypervisorInput, ...request.Option) (*backupgateway.DeleteHypervisorOutput, error) + DeleteHypervisorRequest(*backupgateway.DeleteHypervisorInput) (*request.Request, *backupgateway.DeleteHypervisorOutput) + + DisassociateGatewayFromServer(*backupgateway.DisassociateGatewayFromServerInput) (*backupgateway.DisassociateGatewayFromServerOutput, error) + DisassociateGatewayFromServerWithContext(aws.Context, *backupgateway.DisassociateGatewayFromServerInput, ...request.Option) (*backupgateway.DisassociateGatewayFromServerOutput, error) + DisassociateGatewayFromServerRequest(*backupgateway.DisassociateGatewayFromServerInput) (*request.Request, *backupgateway.DisassociateGatewayFromServerOutput) + + ImportHypervisorConfiguration(*backupgateway.ImportHypervisorConfigurationInput) (*backupgateway.ImportHypervisorConfigurationOutput, error) + ImportHypervisorConfigurationWithContext(aws.Context, *backupgateway.ImportHypervisorConfigurationInput, ...request.Option) (*backupgateway.ImportHypervisorConfigurationOutput, error) + ImportHypervisorConfigurationRequest(*backupgateway.ImportHypervisorConfigurationInput) (*request.Request, *backupgateway.ImportHypervisorConfigurationOutput) + + ListGateways(*backupgateway.ListGatewaysInput) (*backupgateway.ListGatewaysOutput, error) + ListGatewaysWithContext(aws.Context, *backupgateway.ListGatewaysInput, ...request.Option) (*backupgateway.ListGatewaysOutput, error) + ListGatewaysRequest(*backupgateway.ListGatewaysInput) (*request.Request, *backupgateway.ListGatewaysOutput) + + ListGatewaysPages(*backupgateway.ListGatewaysInput, func(*backupgateway.ListGatewaysOutput, bool) bool) error + ListGatewaysPagesWithContext(aws.Context, *backupgateway.ListGatewaysInput, func(*backupgateway.ListGatewaysOutput, bool) bool, ...request.Option) error + + ListHypervisors(*backupgateway.ListHypervisorsInput) (*backupgateway.ListHypervisorsOutput, error) + ListHypervisorsWithContext(aws.Context, *backupgateway.ListHypervisorsInput, ...request.Option) (*backupgateway.ListHypervisorsOutput, error) + ListHypervisorsRequest(*backupgateway.ListHypervisorsInput) (*request.Request, *backupgateway.ListHypervisorsOutput) + + ListHypervisorsPages(*backupgateway.ListHypervisorsInput, func(*backupgateway.ListHypervisorsOutput, bool) bool) error + ListHypervisorsPagesWithContext(aws.Context, *backupgateway.ListHypervisorsInput, func(*backupgateway.ListHypervisorsOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*backupgateway.ListTagsForResourceInput) (*backupgateway.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *backupgateway.ListTagsForResourceInput, ...request.Option) (*backupgateway.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*backupgateway.ListTagsForResourceInput) (*request.Request, *backupgateway.ListTagsForResourceOutput) + + ListVirtualMachines(*backupgateway.ListVirtualMachinesInput) (*backupgateway.ListVirtualMachinesOutput, error) + ListVirtualMachinesWithContext(aws.Context, *backupgateway.ListVirtualMachinesInput, ...request.Option) (*backupgateway.ListVirtualMachinesOutput, error) + ListVirtualMachinesRequest(*backupgateway.ListVirtualMachinesInput) (*request.Request, *backupgateway.ListVirtualMachinesOutput) + + ListVirtualMachinesPages(*backupgateway.ListVirtualMachinesInput, func(*backupgateway.ListVirtualMachinesOutput, bool) bool) error + ListVirtualMachinesPagesWithContext(aws.Context, *backupgateway.ListVirtualMachinesInput, func(*backupgateway.ListVirtualMachinesOutput, bool) bool, ...request.Option) error + + PutMaintenanceStartTime(*backupgateway.PutMaintenanceStartTimeInput) (*backupgateway.PutMaintenanceStartTimeOutput, error) + PutMaintenanceStartTimeWithContext(aws.Context, *backupgateway.PutMaintenanceStartTimeInput, ...request.Option) (*backupgateway.PutMaintenanceStartTimeOutput, error) + PutMaintenanceStartTimeRequest(*backupgateway.PutMaintenanceStartTimeInput) (*request.Request, *backupgateway.PutMaintenanceStartTimeOutput) + + TagResource(*backupgateway.TagResourceInput) (*backupgateway.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *backupgateway.TagResourceInput, ...request.Option) (*backupgateway.TagResourceOutput, error) + TagResourceRequest(*backupgateway.TagResourceInput) (*request.Request, *backupgateway.TagResourceOutput) + + TestHypervisorConfiguration(*backupgateway.TestHypervisorConfigurationInput) (*backupgateway.TestHypervisorConfigurationOutput, error) + TestHypervisorConfigurationWithContext(aws.Context, *backupgateway.TestHypervisorConfigurationInput, ...request.Option) (*backupgateway.TestHypervisorConfigurationOutput, error) + TestHypervisorConfigurationRequest(*backupgateway.TestHypervisorConfigurationInput) (*request.Request, *backupgateway.TestHypervisorConfigurationOutput) + + UntagResource(*backupgateway.UntagResourceInput) (*backupgateway.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *backupgateway.UntagResourceInput, ...request.Option) (*backupgateway.UntagResourceOutput, error) + UntagResourceRequest(*backupgateway.UntagResourceInput) (*request.Request, *backupgateway.UntagResourceOutput) + + UpdateGatewayInformation(*backupgateway.UpdateGatewayInformationInput) (*backupgateway.UpdateGatewayInformationOutput, error) + UpdateGatewayInformationWithContext(aws.Context, *backupgateway.UpdateGatewayInformationInput, ...request.Option) (*backupgateway.UpdateGatewayInformationOutput, error) + UpdateGatewayInformationRequest(*backupgateway.UpdateGatewayInformationInput) (*request.Request, *backupgateway.UpdateGatewayInformationOutput) + + UpdateHypervisor(*backupgateway.UpdateHypervisorInput) (*backupgateway.UpdateHypervisorOutput, error) + UpdateHypervisorWithContext(aws.Context, *backupgateway.UpdateHypervisorInput, ...request.Option) (*backupgateway.UpdateHypervisorOutput, error) + UpdateHypervisorRequest(*backupgateway.UpdateHypervisorInput) (*request.Request, *backupgateway.UpdateHypervisorOutput) +} + +var _ BackupGatewayAPI = (*backupgateway.BackupGateway)(nil) diff --git a/service/backupgateway/doc.go b/service/backupgateway/doc.go new file mode 100644 index 00000000000..e90ca1554c2 --- /dev/null +++ b/service/backupgateway/doc.go @@ -0,0 +1,40 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package backupgateway provides the client and types for making API +// requests to AWS Backup Gateway. +// +// Backup gateway connects Backup to your hypervisor, so you can create, store, +// and restore backups of your virtual machines (VMs) anywhere, whether on-premises +// or in the VMware Cloud (VMC) on Amazon Web Services. +// +// Add on-premises resources by connecting to a hypervisor through a gateway. +// Backup will automatically discover the resources in your hypervisor. +// +// Use Backup to assign virtual or on-premises resources to a backup plan, or +// run on-demand backups. Once you have backed up your resources, you can view +// them and restore them like any resource supported by Backup. +// +// To download the Amazon Web Services software to get started, navigate to +// the Backup console, choose Gateways, then choose Create gateway. +// +// See https://docs.aws.amazon.com/goto/WebAPI/backup-gateway-2021-01-01 for more information on this service. +// +// See backupgateway package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/backupgateway/ +// +// Using the Client +// +// To contact AWS Backup Gateway with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the AWS Backup Gateway client BackupGateway for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/backupgateway/#New +package backupgateway diff --git a/service/backupgateway/errors.go b/service/backupgateway/errors.go new file mode 100644 index 00000000000..628fde19044 --- /dev/null +++ b/service/backupgateway/errors.go @@ -0,0 +1,49 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package backupgateway + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // The operation cannot proceed because you have insufficient permissions. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // The operation cannot proceed because it is not supported. + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // The operation did not succeed because an internal error occurred. Try again + // later. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // A resource that is required for the action wasn't found. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // The operation did not succeed because a validation error occurred. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ValidationException": newErrorValidationException, +} diff --git a/service/backupgateway/service.go b/service/backupgateway/service.go new file mode 100644 index 00000000000..26a9e7a928d --- /dev/null +++ b/service/backupgateway/service.go @@ -0,0 +1,107 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package backupgateway + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" +) + +// BackupGateway provides the API operation methods for making requests to +// AWS Backup Gateway. See this package's package overview docs +// for details on the service. +// +// BackupGateway methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type BackupGateway struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "Backup Gateway" // Name of service. + EndpointsID = "backup-gateway" // ID to lookup a service endpoint with. + ServiceID = "Backup Gateway" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the BackupGateway client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// mySession := session.Must(session.NewSession()) +// +// // Create a BackupGateway client from just a session. +// svc := backupgateway.New(mySession) +// +// // Create a BackupGateway client with additional configuration +// svc := backupgateway.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *BackupGateway { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "backup-gateway" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *BackupGateway { + svc := &BackupGateway{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2021-01-01", + ResolvedRegion: resolvedRegion, + JSONVersion: "1.0", + TargetPrefix: "BackupOnPremises_v20210101", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(jsonrpc.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a BackupGateway operation and runs any +// custom request initialization. +func (c *BackupGateway) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/ec2/api.go b/service/ec2/api.go index 45bb8a41139..23894cefb6d 100644 --- a/service/ec2/api.go +++ b/service/ec2/api.go @@ -38133,6 +38133,20 @@ func (c *EC2) ModifySubnetAttributeRequest(input *ModifySubnetAttributeInput) (r // // Modifies a subnet attribute. You can only modify one attribute at a time. // +// Use this action to modify subnets on Amazon Web Services Outposts. +// +// * To modify a subnet on an Outpost rack, set both MapCustomerOwnedIpOnLaunch +// and CustomerOwnedIpv4Pool. These two parameters act as a single attribute. +// +// * To modify a subnet on an Outpost server, set either EnableLniAtDeviceIndex +// or DisableLniAtDeviceIndex. +// +// For more information about Amazon Web Services Outposts, see the following: +// +// * Outpost servers (https://docs.aws.amazon.com/outposts/latest/userguide/how-servers-work.html) +// +// * Outpost racks (https://docs.aws.amazon.com/outposts/latest/userguide/how-racks-work.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. @@ -117556,10 +117570,20 @@ type ModifySubnetAttributeInput struct { // You must set this value when you specify true for MapCustomerOwnedIpOnLaunch. CustomerOwnedIpv4Pool *string `type:"string"` + // Specify true to indicate that local network interfaces at the current position + // should be disabled. + DisableLniAtDeviceIndex *AttributeBooleanValue `type:"structure"` + // Indicates whether DNS queries made to the Amazon-provided DNS Resolver in // this subnet should return synthetic IPv6 addresses for IPv4-only destinations. EnableDns64 *AttributeBooleanValue `type:"structure"` + // Indicates the device position for local network interfaces in this subnet. + // For example, 1 indicates local network interfaces in this subnet are the + // secondary network interface (eth1). A local network interface cannot be the + // primary network interface (eth0). + EnableLniAtDeviceIndex *int64 `type:"integer"` + // Indicates whether to respond to DNS queries for instance hostnames with DNS // AAAA records. EnableResourceNameDnsAAAARecordOnLaunch *AttributeBooleanValue `type:"structure"` @@ -117635,12 +117659,24 @@ func (s *ModifySubnetAttributeInput) SetCustomerOwnedIpv4Pool(v string) *ModifyS return s } +// SetDisableLniAtDeviceIndex sets the DisableLniAtDeviceIndex field's value. +func (s *ModifySubnetAttributeInput) SetDisableLniAtDeviceIndex(v *AttributeBooleanValue) *ModifySubnetAttributeInput { + s.DisableLniAtDeviceIndex = v + return s +} + // SetEnableDns64 sets the EnableDns64 field's value. func (s *ModifySubnetAttributeInput) SetEnableDns64(v *AttributeBooleanValue) *ModifySubnetAttributeInput { s.EnableDns64 = v return s } +// SetEnableLniAtDeviceIndex sets the EnableLniAtDeviceIndex field's value. +func (s *ModifySubnetAttributeInput) SetEnableLniAtDeviceIndex(v int64) *ModifySubnetAttributeInput { + s.EnableLniAtDeviceIndex = &v + return s +} + // SetEnableResourceNameDnsAAAARecordOnLaunch sets the EnableResourceNameDnsAAAARecordOnLaunch field's value. func (s *ModifySubnetAttributeInput) SetEnableResourceNameDnsAAAARecordOnLaunch(v *AttributeBooleanValue) *ModifySubnetAttributeInput { s.EnableResourceNameDnsAAAARecordOnLaunch = v @@ -139412,6 +139448,11 @@ type Subnet struct { // this subnet should return synthetic IPv6 addresses for IPv4-only destinations. EnableDns64 *bool `locationName:"enableDns64" type:"boolean"` + // Indicates the device position for local network interfaces in this subnet. + // For example, 1 indicates local network interfaces in this subnet are the + // secondary network interface (eth1). + EnableLniAtDeviceIndex *int64 `locationName:"enableLniAtDeviceIndex" type:"integer"` + // Information about the IPv6 CIDR blocks associated with the subnet. Ipv6CidrBlockAssociationSet []*SubnetIpv6CidrBlockAssociation `locationName:"ipv6CidrBlockAssociationSet" locationNameList:"item" type:"list"` @@ -139519,6 +139560,12 @@ func (s *Subnet) SetEnableDns64(v bool) *Subnet { return s } +// SetEnableLniAtDeviceIndex sets the EnableLniAtDeviceIndex field's value. +func (s *Subnet) SetEnableLniAtDeviceIndex(v int64) *Subnet { + s.EnableLniAtDeviceIndex = &v + return s +} + // SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value. func (s *Subnet) SetIpv6CidrBlockAssociationSet(v []*SubnetIpv6CidrBlockAssociation) *Subnet { s.Ipv6CidrBlockAssociationSet = v @@ -151603,6 +151650,42 @@ const ( // InstanceTypeVt124xlarge is a InstanceType enum value InstanceTypeVt124xlarge = "vt1.24xlarge" + // InstanceTypeIm4gn16xlarge is a InstanceType enum value + InstanceTypeIm4gn16xlarge = "im4gn.16xlarge" + + // InstanceTypeIm4gn2xlarge is a InstanceType enum value + InstanceTypeIm4gn2xlarge = "im4gn.2xlarge" + + // InstanceTypeIm4gn4xlarge is a InstanceType enum value + InstanceTypeIm4gn4xlarge = "im4gn.4xlarge" + + // InstanceTypeIm4gn8xlarge is a InstanceType enum value + InstanceTypeIm4gn8xlarge = "im4gn.8xlarge" + + // InstanceTypeIm4gnLarge is a InstanceType enum value + InstanceTypeIm4gnLarge = "im4gn.large" + + // InstanceTypeIm4gnXlarge is a InstanceType enum value + InstanceTypeIm4gnXlarge = "im4gn.xlarge" + + // InstanceTypeIs4gen2xlarge is a InstanceType enum value + InstanceTypeIs4gen2xlarge = "is4gen.2xlarge" + + // InstanceTypeIs4gen4xlarge is a InstanceType enum value + InstanceTypeIs4gen4xlarge = "is4gen.4xlarge" + + // InstanceTypeIs4gen8xlarge is a InstanceType enum value + InstanceTypeIs4gen8xlarge = "is4gen.8xlarge" + + // InstanceTypeIs4genLarge is a InstanceType enum value + InstanceTypeIs4genLarge = "is4gen.large" + + // InstanceTypeIs4genMedium is a InstanceType enum value + InstanceTypeIs4genMedium = "is4gen.medium" + + // InstanceTypeIs4genXlarge is a InstanceType enum value + InstanceTypeIs4genXlarge = "is4gen.xlarge" + // InstanceTypeG5gXlarge is a InstanceType enum value InstanceTypeG5gXlarge = "g5g.xlarge" @@ -152089,6 +152172,18 @@ func InstanceType_Values() []string { InstanceTypeVt13xlarge, InstanceTypeVt16xlarge, InstanceTypeVt124xlarge, + InstanceTypeIm4gn16xlarge, + InstanceTypeIm4gn2xlarge, + InstanceTypeIm4gn4xlarge, + InstanceTypeIm4gn8xlarge, + InstanceTypeIm4gnLarge, + InstanceTypeIm4gnXlarge, + InstanceTypeIs4gen2xlarge, + InstanceTypeIs4gen4xlarge, + InstanceTypeIs4gen8xlarge, + InstanceTypeIs4genLarge, + InstanceTypeIs4genMedium, + InstanceTypeIs4genXlarge, InstanceTypeG5gXlarge, InstanceTypeG5g2xlarge, InstanceTypeG5g4xlarge, diff --git a/service/fsx/api.go b/service/fsx/api.go index a02c51ad492..2586522f796 100644 --- a/service/fsx/api.go +++ b/service/fsx/api.go @@ -260,13 +260,16 @@ func (c *FSx) CopyBackupRequest(input *CopyBackupInput) (req *request.Request, o // Amazon Web Services Region (in-Region copy). You can have up to five backup // copy requests in progress to a single destination Region per account. // -// You can use cross-Region backup copies for cross-region disaster recovery. -// You periodically take backups and copy them to another Region so that in -// the event of a disaster in the primary Region, you can restore from backup +// You can use cross-Region backup copies for cross-Region disaster recovery. +// You can periodically take backups and copy them to another Region so that +// in the event of a disaster in the primary Region, you can restore from backup // and recover availability quickly in the other Region. You can make cross-Region -// copies only within your Amazon Web Services partition. +// copies only within your Amazon Web Services partition. A partition is a grouping +// of Regions. Amazon Web Services currently has three partitions: aws (Standard +// Regions), aws-cn (China Regions), and aws-us-gov (Amazon Web Services GovCloud +// [US] Regions). // -// You can also use backup copies to clone your file data set to another Region +// You can also use backup copies to clone your file dataset to another Region // or within the same Region. // // You can use the SourceRegion parameter to specify the Amazon Web Services @@ -276,9 +279,10 @@ func (c *FSx) CopyBackupRequest(input *CopyBackupInput) (req *request.Request, o // copy. If you don't specify a Region, the backup copy is created in the same // Region where the request is sent from (in-Region copy). // -// For more information on creating backup copies, see Copying backups (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html#copy-backups) -// in the Amazon FSx for Windows User Guide and Copying backups (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html#copy-backups) -// in the Amazon FSx for Lustre User Guide. +// For more information about creating backup copies, see Copying backups (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/using-backups.html#copy-backups) +// in the Amazon FSx for Windows User Guide, Copying backups (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html#copy-backups) +// in the Amazon FSx for Lustre User Guide, and Copying backups (https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/using-backups.html#copy-backups) +// in the Amazon FSx for OpenZFS User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -310,18 +314,18 @@ func (c *FSx) CopyBackupRequest(input *CopyBackupInput) (req *request.Request, o // A generic error indicating a server-side failure. // // * InvalidSourceKmsKey -// The Key Management Service (KMS) key of the source backup is invalid. +// The Key Management Service (KMS) key of the source backup is not valid. // // * InvalidDestinationKmsKey -// The Key Management Service (KMS) key of the destination backup is invalid. +// The Key Management Service (KMS) key of the destination backup is not valid. // // * InvalidRegion -// The Region provided for Source Region is invalid or is in a different Amazon +// The Region provided for SourceRegion is not valid or is in a different Amazon // Web Services partition. // // * SourceBackupUnavailable // The request was rejected because the lifecycle status of the source backup -// is not AVAILABLE. +// isn't AVAILABLE. // // * IncompatibleRegionForMultiAZ // Amazon FSx doesn't support Multi-AZ Windows File Server copy backup in the @@ -393,18 +397,18 @@ func (c *FSx) CreateBackupRequest(input *CreateBackupInput) (req *request.Reques // CreateBackup API operation for Amazon FSx. // -// Creates a backup of an existing Amazon FSx for Windows File Server or Amazon -// FSx for Lustre file system, or of an Amazon FSx for NetApp ONTAP volume. -// Creating regular backups is a best practice, enabling you to restore a file -// system or volume from a backup if an issue arises with the original file -// system or volume. +// 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 with the following configuration: +// file systems that have the following configuration: // -// * a Persistent deployment type +// * A Persistent deployment type // -// * is not linked to a data repository. +// * Are not linked to a data repository // // For more information about backups, see the following: // @@ -416,11 +420,15 @@ func (c *FSx) CreateBackupRequest(input *CreateBackupInput) (req *request.Reques // * For Amazon FSx for NetApp ONTAP, see Working with FSx for NetApp ONTAP // backups (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/using-backups.html). // -// If a backup with the specified client request token exists, and the parameters +// * For Amazon FSx for OpenZFS, see Working with FSx for OpenZFS backups +// (https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/using-backups.html). +// +// 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 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: +// 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: // // * Creates a new Amazon FSx backup with an assigned ID, and an initial // lifecycle state of CREATING. @@ -436,6 +444,7 @@ func (c *FSx) CreateBackupRequest(input *CreateBackupInput) (req *request.Reques // // The CreateBackup operation returns while the backup's lifecycle state is // still CREATING. You can check the backup creation status by calling the DescribeBackups +// (https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeBackups.html) // operation, which returns the backup state along with other information. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -497,6 +506,113 @@ func (c *FSx) CreateBackupWithContext(ctx aws.Context, input *CreateBackupInput, return out, req.Send() } +const opCreateDataRepositoryAssociation = "CreateDataRepositoryAssociation" + +// CreateDataRepositoryAssociationRequest generates a "aws/request.Request" representing the +// client's request for the CreateDataRepositoryAssociation 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 CreateDataRepositoryAssociation for more information on using the CreateDataRepositoryAssociation +// 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 CreateDataRepositoryAssociationRequest method. +// req, resp := client.CreateDataRepositoryAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateDataRepositoryAssociation +func (c *FSx) CreateDataRepositoryAssociationRequest(input *CreateDataRepositoryAssociationInput) (req *request.Request, output *CreateDataRepositoryAssociationOutput) { + op := &request.Operation{ + Name: opCreateDataRepositoryAssociation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateDataRepositoryAssociationInput{} + } + + output = &CreateDataRepositoryAssociationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateDataRepositoryAssociation API operation for Amazon FSx. +// +// 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 (https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.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 FSx's +// API operation CreateDataRepositoryAssociation for usage and error information. +// +// Returned Error Types: +// * BadRequest +// A generic error indicating a failure with a client request. +// +// * UnsupportedOperation +// The requested operation is not supported for this resource or API. +// +// * FileSystemNotFound +// No Amazon FSx file systems were found based upon supplied parameters. +// +// * IncompatibleParameterError +// The error returned when a second request is received with the same client +// request token but different parameters settings. A client request token should +// always uniquely identify a single request. +// +// * ServiceLimitExceeded +// An error indicating that a particular service limit was exceeded. You can +// increase some service limits by contacting Amazon Web Services Support. +// +// * InternalServerError +// A generic error indicating a server-side failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateDataRepositoryAssociation +func (c *FSx) CreateDataRepositoryAssociation(input *CreateDataRepositoryAssociationInput) (*CreateDataRepositoryAssociationOutput, error) { + req, out := c.CreateDataRepositoryAssociationRequest(input) + return out, req.Send() +} + +// CreateDataRepositoryAssociationWithContext is the same as CreateDataRepositoryAssociation with the addition of +// the ability to pass a context and additional request options. +// +// See CreateDataRepositoryAssociation 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 *FSx) CreateDataRepositoryAssociationWithContext(ctx aws.Context, input *CreateDataRepositoryAssociationInput, opts ...request.Option) (*CreateDataRepositoryAssociationOutput, error) { + req, out := c.CreateDataRepositoryAssociationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateDataRepositoryTask = "CreateDataRepositoryTask" // CreateDataRepositoryTaskRequest generates a "aws/request.Request" representing the @@ -543,14 +659,14 @@ func (c *FSx) CreateDataRepositoryTaskRequest(input *CreateDataRepositoryTaskInp // // 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 repository. An example of a data repository task is exporting +// 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 its linked data +// 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 (https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-repository-tasks.html). // To learn more about linking a data repository to your file system, see Linking -// your file system to an S3 bucket (https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-fs-linked-data-repo.html). +// your file system to an S3 bucket (https://docs.aws.amazon.com/fsx/latest/LustreGuide/create-dra-linked-data-repo.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 @@ -651,11 +767,29 @@ func (c *FSx) CreateFileSystemRequest(input *CreateFileSystemInput) (req *reques // CreateFileSystem API operation for Amazon FSx. // -// Creates a new, empty Amazon FSx file system. +// Creates a new, empty Amazon FSx file system. You can create the following +// supported Amazon FSx file systems using the CreateFileSystem API operation: +// +// * Amazon FSx for Lustre +// +// * Amazon FSx for NetApp ONTAP +// +// * Amazon FSx for Windows File Server +// +// 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 specified client request token exists and the parameters +// 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: @@ -671,15 +805,15 @@ func (c *FSx) CreateFileSystemRequest(input *CreateFileSystemInput) (req *reques // 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 +// 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. +// 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. +// the DescribeFileSystems (https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileSystems.html) +// operation, which returns the file system state along with other information. // // 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 @@ -789,37 +923,37 @@ func (c *FSx) CreateFileSystemFromBackupRequest(input *CreateFileSystemFromBacku // CreateFileSystemFromBackup API operation for Amazon FSx. // -// Creates a new Amazon FSx for Lustre or Amazon FSx for Windows File Server -// file system from an existing Amazon FSx backup. +// 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 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: +// 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: // // * Creates a new Amazon FSx file system from backup with an assigned ID, // and an initial lifecycle state of CREATING. // // * Returns the description of the file system. // -// Parameters like 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. +// 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 success as long -// as the parameters are the same. +// 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. +// calling the DescribeFileSystems (https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileSystems.html) +// operation, which returns the file system state along with other information. // // 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 @@ -882,6 +1016,122 @@ func (c *FSx) CreateFileSystemFromBackupWithContext(ctx aws.Context, input *Crea return out, req.Send() } +const opCreateSnapshot = "CreateSnapshot" + +// CreateSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the CreateSnapshot 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 CreateSnapshot for more information on using the CreateSnapshot +// 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 CreateSnapshotRequest method. +// req, resp := client.CreateSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateSnapshot +func (c *FSx) CreateSnapshotRequest(input *CreateSnapshotInput) (req *request.Request, output *CreateSnapshotOutput) { + op := &request.Operation{ + Name: opCreateSnapshot, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateSnapshotInput{} + } + + output = &CreateSnapshotOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateSnapshot API operation for Amazon FSx. +// +// 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: +// +// * Creates a new OpenZFS snapshot with an assigned ID, and an initial lifecycle +// state of CREATING. +// +// * Returns the description of the snapshot. +// +// 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 (https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeSnapshots.html) +// operation, which returns the snapshot state along with other information. +// +// 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 FSx's +// API operation CreateSnapshot for usage and error information. +// +// Returned Error Types: +// * BadRequest +// A generic error indicating a failure with a client request. +// +// * VolumeNotFound +// No Amazon FSx for NetApp ONTAP volumes were found based upon the supplied +// parameters. +// +// * ServiceLimitExceeded +// An error indicating that a particular service limit was exceeded. You can +// increase some service limits by contacting Amazon Web Services Support. +// +// * InternalServerError +// A generic error indicating a server-side failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/CreateSnapshot +func (c *FSx) CreateSnapshot(input *CreateSnapshotInput) (*CreateSnapshotOutput, error) { + req, out := c.CreateSnapshotRequest(input) + return out, req.Send() +} + +// CreateSnapshotWithContext is the same as CreateSnapshot with the addition of +// the ability to pass a context and additional request options. +// +// See CreateSnapshot 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 *FSx) CreateSnapshotWithContext(ctx aws.Context, input *CreateSnapshotInput, opts ...request.Option) (*CreateSnapshotOutput, error) { + req, out := c.CreateSnapshotRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateStorageVirtualMachine = "CreateStorageVirtualMachine" // CreateStorageVirtualMachineRequest generates a "aws/request.Request" representing the @@ -1027,7 +1277,8 @@ func (c *FSx) CreateVolumeRequest(input *CreateVolumeInput) (req *request.Reques // CreateVolume API operation for Amazon FSx. // -// Creates an Amazon FSx for NetApp ONTAP storage volume. +// Creates an Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS storage +// volume. // // 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 @@ -1234,10 +1485,10 @@ func (c *FSx) DeleteBackupRequest(input *DeleteBackupInput) (req *request.Reques // DeleteBackup API operation for Amazon FSx. // -// Deletes an Amazon FSx backup, deleting its contents. After deletion, the -// backup no longer exists, and its data is gone. +// Deletes an Amazon FSx backup. After deletion, the backup no longer exists, +// and its data is gone. // -// The DeleteBackup call returns instantly. The backup will not show up in later +// The DeleteBackup call returns instantly. The backup won't show up in later // DescribeBackups calls. // // The data in a deleted backup is also deleted and can't be recovered by any @@ -1297,6 +1548,105 @@ func (c *FSx) DeleteBackupWithContext(ctx aws.Context, input *DeleteBackupInput, return out, req.Send() } +const opDeleteDataRepositoryAssociation = "DeleteDataRepositoryAssociation" + +// DeleteDataRepositoryAssociationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDataRepositoryAssociation 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 DeleteDataRepositoryAssociation for more information on using the DeleteDataRepositoryAssociation +// 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 DeleteDataRepositoryAssociationRequest method. +// req, resp := client.DeleteDataRepositoryAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteDataRepositoryAssociation +func (c *FSx) DeleteDataRepositoryAssociationRequest(input *DeleteDataRepositoryAssociationInput) (req *request.Request, output *DeleteDataRepositoryAssociationOutput) { + op := &request.Operation{ + Name: opDeleteDataRepositoryAssociation, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteDataRepositoryAssociationInput{} + } + + output = &DeleteDataRepositoryAssociationOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteDataRepositoryAssociation API operation for Amazon FSx. +// +// Deletes a data repository association on an Amazon FSx for Lustre file system. +// Deleting the data repository association unlinks the file system from the +// Amazon S3 bucket. When deleting a data repository association, you have the +// option of deleting the data in the file system that corresponds to the data +// repository association. Data repository associations are supported only for +// file systems with the Persistent_2 deployment type. +// +// 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 FSx's +// API operation DeleteDataRepositoryAssociation for usage and error information. +// +// Returned Error Types: +// * BadRequest +// A generic error indicating a failure with a client request. +// +// * IncompatibleParameterError +// The error returned when a second request is received with the same client +// request token but different parameters settings. A client request token should +// always uniquely identify a single request. +// +// * DataRepositoryAssociationNotFound +// No data repository associations were found based upon the supplied parameters. +// +// * ServiceLimitExceeded +// An error indicating that a particular service limit was exceeded. You can +// increase some service limits by contacting Amazon Web Services Support. +// +// * InternalServerError +// A generic error indicating a server-side failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteDataRepositoryAssociation +func (c *FSx) DeleteDataRepositoryAssociation(input *DeleteDataRepositoryAssociationInput) (*DeleteDataRepositoryAssociationOutput, error) { + req, out := c.DeleteDataRepositoryAssociationRequest(input) + return out, req.Send() +} + +// DeleteDataRepositoryAssociationWithContext is the same as DeleteDataRepositoryAssociation with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDataRepositoryAssociation 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 *FSx) DeleteDataRepositoryAssociationWithContext(ctx aws.Context, input *DeleteDataRepositoryAssociationInput, opts ...request.Option) (*DeleteDataRepositoryAssociationOutput, error) { + req, out := c.DeleteDataRepositoryAssociationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteFileSystem = "DeleteFileSystem" // DeleteFileSystemRequest generates a "aws/request.Request" representing the @@ -1341,26 +1691,28 @@ func (c *FSx) DeleteFileSystemRequest(input *DeleteFileSystemInput) (req *reques // DeleteFileSystem API operation for Amazon FSx. // -// Deletes a file system, deleting its contents. After deletion, the file system -// no longer exists, and its data is gone. Any existing automatic backups will -// also be deleted. +// Deletes a file system. After deletion, the file system no longer exists, +// and its data is gone. Any existing automatic backups and snapshots are also +// deleted. // // To delete an Amazon FSx for NetApp ONTAP file system, first delete all the -// volumes and SVMs on the file system. Then provide a FileSystemId value to -// the DeleFileSystem operation. +// volumes and storage virtual machines (SVMs) on the file system. Then provide +// a FileSystemId value to the DeleFileSystem operation. // // By default, when you delete an Amazon FSx for Windows File Server file system, -// a final backup is created upon deletion. This final backup is not subject +// a final backup is created upon deletion. This final backup isn't subject // to the file system's retention policy, and must be manually deleted. // -// The DeleteFileSystem action returns while the file system has the DELETING +// The DeleteFileSystem operation returns while the file system has the DELETING // status. You can check the file system deletion status by calling the DescribeFileSystems -// action, which returns a list of file systems in your account. If you pass -// the file system ID for a deleted file system, the DescribeFileSystems returns -// a FileSystemNotFound error. +// (https://docs.aws.amazon.com/fsx/latest/APIReference/API_DescribeFileSystems.html) +// operation, which returns a list of file systems in your account. If you pass +// the file system ID for a deleted file system, the DescribeFileSystems operation +// returns a FileSystemNotFound error. // -// Deleting an Amazon FSx for Lustre file system will fail with a 400 BadRequest -// if a data repository task is in a PENDING or EXECUTING state. +// If a data repository task is in a PENDING or EXECUTING state, deleting an +// Amazon FSx for Lustre file system will fail with an HTTP status code 400 +// (Bad Request). // // The data in a deleted file system is also deleted and can't be recovered // by any means. @@ -1413,33 +1765,123 @@ func (c *FSx) DeleteFileSystemWithContext(ctx aws.Context, input *DeleteFileSyst return out, req.Send() } -const opDeleteStorageVirtualMachine = "DeleteStorageVirtualMachine" +const opDeleteSnapshot = "DeleteSnapshot" -// DeleteStorageVirtualMachineRequest generates a "aws/request.Request" representing the -// client's request for the DeleteStorageVirtualMachine operation. The "output" return +// DeleteSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the DeleteSnapshot 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 DeleteStorageVirtualMachine for more information on using the DeleteStorageVirtualMachine +// See DeleteSnapshot for more information on using the DeleteSnapshot // 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 DeleteStorageVirtualMachineRequest method. -// req, resp := client.DeleteStorageVirtualMachineRequest(params) +// // Example sending a request using the DeleteSnapshotRequest method. +// req, resp := client.DeleteSnapshotRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteStorageVirtualMachine -func (c *FSx) DeleteStorageVirtualMachineRequest(input *DeleteStorageVirtualMachineInput) (req *request.Request, output *DeleteStorageVirtualMachineOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteSnapshot +func (c *FSx) DeleteSnapshotRequest(input *DeleteSnapshotInput) (req *request.Request, output *DeleteSnapshotOutput) { + op := &request.Operation{ + Name: opDeleteSnapshot, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteSnapshotInput{} + } + + output = &DeleteSnapshotOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteSnapshot API operation for Amazon FSx. +// +// Deletes the Amazon FSx snapshot. After deletion, the snapshot no longer exists, +// and its data is gone. Deleting a snapshot doesn't affect snapshots stored +// in a file system backup. +// +// The DeleteSnapshot operation returns instantly. The snapshot appears with +// the lifecycle status of DELETING until the deletion is complete. +// +// 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 FSx's +// API operation DeleteSnapshot for usage and error information. +// +// Returned Error Types: +// * BadRequest +// A generic error indicating a failure with a client request. +// +// * InternalServerError +// A generic error indicating a server-side failure. +// +// * SnapshotNotFound +// No Amazon FSx snapshots were found based on the supplied parameters. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteSnapshot +func (c *FSx) DeleteSnapshot(input *DeleteSnapshotInput) (*DeleteSnapshotOutput, error) { + req, out := c.DeleteSnapshotRequest(input) + return out, req.Send() +} + +// DeleteSnapshotWithContext is the same as DeleteSnapshot with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteSnapshot 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 *FSx) DeleteSnapshotWithContext(ctx aws.Context, input *DeleteSnapshotInput, opts ...request.Option) (*DeleteSnapshotOutput, error) { + req, out := c.DeleteSnapshotRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteStorageVirtualMachine = "DeleteStorageVirtualMachine" + +// DeleteStorageVirtualMachineRequest generates a "aws/request.Request" representing the +// client's request for the DeleteStorageVirtualMachine 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 DeleteStorageVirtualMachine for more information on using the DeleteStorageVirtualMachine +// 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 DeleteStorageVirtualMachineRequest method. +// req, resp := client.DeleteStorageVirtualMachineRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteStorageVirtualMachine +func (c *FSx) DeleteStorageVirtualMachineRequest(input *DeleteStorageVirtualMachineInput) (req *request.Request, output *DeleteStorageVirtualMachineOutput) { op := &request.Operation{ Name: opDeleteStorageVirtualMachine, HTTPMethod: "POST", @@ -1549,10 +1991,7 @@ func (c *FSx) DeleteVolumeRequest(input *DeleteVolumeInput) (req *request.Reques // DeleteVolume API operation for Amazon FSx. // -// Deletes an Amazon FSx for NetApp ONTAP volume. When deleting a volume, you -// have the option of creating a final backup. If you create a final backup, -// you have the option to apply Tags to the backup. You need to have fsx:TagResource -// permission in order to apply tags to the backup. +// Deletes an Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS volume. // // 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 @@ -1649,7 +2088,7 @@ func (c *FSx) DescribeBackupsRequest(input *DescribeBackupsInput) (req *request. // DescribeBackups API operation for Amazon FSx. // -// Returns the description of specific Amazon FSx backups, if a BackupIds value +// Returns the description of a specific Amazon FSx backup, if a BackupIds value // is provided for that backup. Otherwise, it returns all backups owned by your // Amazon Web Services account in the Amazon Web Services Region of the endpoint // that you're calling. @@ -1657,21 +2096,21 @@ func (c *FSx) DescribeBackupsRequest(input *DescribeBackupsInput) (req *request. // When retrieving all backups, you can optionally specify the MaxResults parameter // to limit the number of backups in a response. If more backups remain, Amazon // FSx returns a NextToken value in the response. In this case, send a later -// request with the NextToken request parameter set to the value of NextToken -// from the last response. +// request with the NextToken request parameter set to the value of the NextToken +// value from the last response. // -// This action is used in an iterative process to retrieve a list of your backups. -// DescribeBackups is called first without a NextTokenvalue. Then the action -// continues to be called with the NextToken parameter set to the value of the -// last NextToken value until a response has no NextToken. +// This operation is used in an iterative process to retrieve a list of your +// backups. DescribeBackups is called first without a NextToken value. Then +// the operation continues to be called with the NextToken parameter set to +// the value of the last NextToken value until a response has no NextToken value. // -// When using this action, keep the following in mind: +// When using this operation, keep the following in mind: // -// * The implementation might return fewer than MaxResults backup descriptions -// while still including a NextToken value. +// * The operation might return fewer than the MaxResults value of backup +// descriptions while still including a NextToken value. // -// * The order of backups returned in the response of one DescribeBackups -// call and the order of backups returned across the responses of a multi-call +// * The order of the backups returned in the response of one DescribeBackups +// call and the order of the backups returned across the responses of a multi-call // iteration is unspecified. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1772,6 +2211,173 @@ func (c *FSx) DescribeBackupsPagesWithContext(ctx aws.Context, input *DescribeBa return p.Err() } +const opDescribeDataRepositoryAssociations = "DescribeDataRepositoryAssociations" + +// DescribeDataRepositoryAssociationsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDataRepositoryAssociations 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 DescribeDataRepositoryAssociations for more information on using the DescribeDataRepositoryAssociations +// 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 DescribeDataRepositoryAssociationsRequest method. +// req, resp := client.DescribeDataRepositoryAssociationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeDataRepositoryAssociations +func (c *FSx) DescribeDataRepositoryAssociationsRequest(input *DescribeDataRepositoryAssociationsInput) (req *request.Request, output *DescribeDataRepositoryAssociationsOutput) { + op := &request.Operation{ + Name: opDescribeDataRepositoryAssociations, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeDataRepositoryAssociationsInput{} + } + + output = &DescribeDataRepositoryAssociationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDataRepositoryAssociations API operation for Amazon FSx. +// +// Returns the description of specific Amazon FSx for Lustre data repository +// associations, if one or more AssociationIds values are provided in the request, +// or if filters are used in the request. Data repository associations are supported +// only for file systems with the Persistent_2 deployment type. +// +// You can use filters to narrow the response to include just data repository +// associations for specific file systems (use the file-system-id filter with +// the ID of the file system) or data repository associations for a specific +// repository type (use the data-repository-type filter with a value of S3). +// If you don't use filters, the response returns all data repository associations +// owned by your Amazon Web Services account in the Amazon Web Services Region +// of the endpoint that you're calling. +// +// When retrieving all data repository associations, you can paginate the response +// by using the optional MaxResults parameter to limit the number of data repository +// associations returned in a response. If more data repository associations +// remain, Amazon FSx returns a NextToken value in the response. In this case, +// send a later request with the NextToken request parameter set to the value +// of NextToken from the last response. +// +// 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 FSx's +// API operation DescribeDataRepositoryAssociations for usage and error information. +// +// Returned Error Types: +// * BadRequest +// A generic error indicating a failure with a client request. +// +// * FileSystemNotFound +// No Amazon FSx file systems were found based upon supplied parameters. +// +// * DataRepositoryAssociationNotFound +// No data repository associations were found based upon the supplied parameters. +// +// * InvalidDataRepositoryType +// You have filtered the response to a data repository type that is not supported. +// +// * InternalServerError +// A generic error indicating a server-side failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeDataRepositoryAssociations +func (c *FSx) DescribeDataRepositoryAssociations(input *DescribeDataRepositoryAssociationsInput) (*DescribeDataRepositoryAssociationsOutput, error) { + req, out := c.DescribeDataRepositoryAssociationsRequest(input) + return out, req.Send() +} + +// DescribeDataRepositoryAssociationsWithContext is the same as DescribeDataRepositoryAssociations with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDataRepositoryAssociations 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 *FSx) DescribeDataRepositoryAssociationsWithContext(ctx aws.Context, input *DescribeDataRepositoryAssociationsInput, opts ...request.Option) (*DescribeDataRepositoryAssociationsOutput, error) { + req, out := c.DescribeDataRepositoryAssociationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeDataRepositoryAssociationsPages iterates over the pages of a DescribeDataRepositoryAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeDataRepositoryAssociations 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 DescribeDataRepositoryAssociations operation. +// pageNum := 0 +// err := client.DescribeDataRepositoryAssociationsPages(params, +// func(page *fsx.DescribeDataRepositoryAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *FSx) DescribeDataRepositoryAssociationsPages(input *DescribeDataRepositoryAssociationsInput, fn func(*DescribeDataRepositoryAssociationsOutput, bool) bool) error { + return c.DescribeDataRepositoryAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeDataRepositoryAssociationsPagesWithContext same as DescribeDataRepositoryAssociationsPages 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 *FSx) DescribeDataRepositoryAssociationsPagesWithContext(ctx aws.Context, input *DescribeDataRepositoryAssociationsInput, fn func(*DescribeDataRepositoryAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeDataRepositoryAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeDataRepositoryAssociationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeDataRepositoryAssociationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opDescribeDataRepositoryTasks = "DescribeDataRepositoryTasks" // DescribeDataRepositoryTasksRequest generates a "aws/request.Request" representing the @@ -2138,12 +2744,12 @@ func (c *FSx) DescribeFileSystemsRequest(input *DescribeFileSystemsInput) (req * // in the response. In this case, send a later request with the NextToken request // parameter set to the value of NextToken from the last response. // -// This action is used in an iterative process to retrieve a list of your file -// system descriptions. DescribeFileSystems is called first without a NextTokenvalue. -// Then the action continues to be called with the NextToken parameter set to -// the value of the last NextToken value until a response has no NextToken. +// This operation is used in an iterative process to retrieve a list of your +// file system descriptions. DescribeFileSystems is called first without a NextTokenvalue. +// Then the operation continues to be called with the NextToken parameter set +// to the value of the last NextToken value until a response has no NextToken. // -// When using this action, keep the following in mind: +// When using this operation, keep the following in mind: // // * The implementation might return fewer than MaxResults file system descriptions // while still including a NextToken value. @@ -2243,35 +2849,35 @@ func (c *FSx) DescribeFileSystemsPagesWithContext(ctx aws.Context, input *Descri return p.Err() } -const opDescribeStorageVirtualMachines = "DescribeStorageVirtualMachines" +const opDescribeSnapshots = "DescribeSnapshots" -// DescribeStorageVirtualMachinesRequest generates a "aws/request.Request" representing the -// client's request for the DescribeStorageVirtualMachines operation. The "output" return +// DescribeSnapshotsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeSnapshots 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 DescribeStorageVirtualMachines for more information on using the DescribeStorageVirtualMachines +// See DescribeSnapshots for more information on using the DescribeSnapshots // 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 DescribeStorageVirtualMachinesRequest method. -// req, resp := client.DescribeStorageVirtualMachinesRequest(params) +// // Example sending a request using the DescribeSnapshotsRequest method. +// req, resp := client.DescribeSnapshotsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeStorageVirtualMachines -func (c *FSx) DescribeStorageVirtualMachinesRequest(input *DescribeStorageVirtualMachinesInput) (req *request.Request, output *DescribeStorageVirtualMachinesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeSnapshots +func (c *FSx) DescribeSnapshotsRequest(input *DescribeSnapshotsInput) (req *request.Request, output *DescribeSnapshotsOutput) { op := &request.Operation{ - Name: opDescribeStorageVirtualMachines, + Name: opDescribeSnapshots, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -2283,25 +2889,47 @@ func (c *FSx) DescribeStorageVirtualMachinesRequest(input *DescribeStorageVirtua } if input == nil { - input = &DescribeStorageVirtualMachinesInput{} + input = &DescribeSnapshotsInput{} } - output = &DescribeStorageVirtualMachinesOutput{} + output = &DescribeSnapshotsOutput{} req = c.newRequest(op, input, output) return } -// DescribeStorageVirtualMachines API operation for Amazon FSx. +// DescribeSnapshots API operation for Amazon FSx. // -// Describes one or more Amazon FSx for NetApp ONTAP storage virtual machines -// (SVMs). +// Returns the description of specific Amazon FSx snapshots, if a SnapshotIds +// value is provided. Otherwise, this operation returns all snapshots owned +// by your Amazon Web Services account in the Amazon Web Services Region of +// the endpoint that you're calling. +// +// When retrieving all snapshots, you can optionally specify the MaxResults +// parameter to limit the number of snapshots in a response. If more backups +// remain, Amazon FSx returns a NextToken value in the response. In this case, +// send a later request with the NextToken request parameter set to the value +// of NextToken from the last response. +// +// Use this operation in an iterative process to retrieve a list of your snapshots. +// DescribeSnapshots is called first without a NextToken value. Then the operation +// continues to be called with the NextToken parameter set to the value of the +// last NextToken value until a response has no NextToken value. +// +// When using this operation, keep the following in mind: +// +// * The operation might return fewer than the MaxResults value of snapshot +// descriptions while still including a NextToken value. +// +// * The order of snapshots returned in the response of one DescribeSnapshots +// call and the order of backups returned across the responses of a multi-call +// iteration is unspecified. // // 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 FSx's -// API operation DescribeStorageVirtualMachines for usage and error information. +// API operation DescribeSnapshots for usage and error information. // // Returned Error Types: // * BadRequest @@ -2310,68 +2938,68 @@ func (c *FSx) DescribeStorageVirtualMachinesRequest(input *DescribeStorageVirtua // * InternalServerError // A generic error indicating a server-side failure. // -// * StorageVirtualMachineNotFound -// No Amazon FSx for NetApp ONTAP SVMs were found based upon the supplied parameters. +// * SnapshotNotFound +// No Amazon FSx snapshots were found based on the supplied parameters. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeStorageVirtualMachines -func (c *FSx) DescribeStorageVirtualMachines(input *DescribeStorageVirtualMachinesInput) (*DescribeStorageVirtualMachinesOutput, error) { - req, out := c.DescribeStorageVirtualMachinesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeSnapshots +func (c *FSx) DescribeSnapshots(input *DescribeSnapshotsInput) (*DescribeSnapshotsOutput, error) { + req, out := c.DescribeSnapshotsRequest(input) return out, req.Send() } -// DescribeStorageVirtualMachinesWithContext is the same as DescribeStorageVirtualMachines with the addition of +// DescribeSnapshotsWithContext is the same as DescribeSnapshots with the addition of // the ability to pass a context and additional request options. // -// See DescribeStorageVirtualMachines for details on how to use this API operation. +// See DescribeSnapshots 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 *FSx) DescribeStorageVirtualMachinesWithContext(ctx aws.Context, input *DescribeStorageVirtualMachinesInput, opts ...request.Option) (*DescribeStorageVirtualMachinesOutput, error) { - req, out := c.DescribeStorageVirtualMachinesRequest(input) +func (c *FSx) DescribeSnapshotsWithContext(ctx aws.Context, input *DescribeSnapshotsInput, opts ...request.Option) (*DescribeSnapshotsOutput, error) { + req, out := c.DescribeSnapshotsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// DescribeStorageVirtualMachinesPages iterates over the pages of a DescribeStorageVirtualMachines operation, +// DescribeSnapshotsPages iterates over the pages of a DescribeSnapshots operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See DescribeStorageVirtualMachines method for more information on how to use this operation. +// See DescribeSnapshots 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 DescribeStorageVirtualMachines operation. +// // Example iterating over at most 3 pages of a DescribeSnapshots operation. // pageNum := 0 -// err := client.DescribeStorageVirtualMachinesPages(params, -// func(page *fsx.DescribeStorageVirtualMachinesOutput, lastPage bool) bool { +// err := client.DescribeSnapshotsPages(params, +// func(page *fsx.DescribeSnapshotsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *FSx) DescribeStorageVirtualMachinesPages(input *DescribeStorageVirtualMachinesInput, fn func(*DescribeStorageVirtualMachinesOutput, bool) bool) error { - return c.DescribeStorageVirtualMachinesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *FSx) DescribeSnapshotsPages(input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool) error { + return c.DescribeSnapshotsPagesWithContext(aws.BackgroundContext(), input, fn) } -// DescribeStorageVirtualMachinesPagesWithContext same as DescribeStorageVirtualMachinesPages except +// DescribeSnapshotsPagesWithContext same as DescribeSnapshotsPages 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 *FSx) DescribeStorageVirtualMachinesPagesWithContext(ctx aws.Context, input *DescribeStorageVirtualMachinesInput, fn func(*DescribeStorageVirtualMachinesOutput, bool) bool, opts ...request.Option) error { +func (c *FSx) DescribeSnapshotsPagesWithContext(ctx aws.Context, input *DescribeSnapshotsInput, fn func(*DescribeSnapshotsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *DescribeStorageVirtualMachinesInput + var inCpy *DescribeSnapshotsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.DescribeStorageVirtualMachinesRequest(inCpy) + req, _ := c.DescribeSnapshotsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2379,7 +3007,7 @@ func (c *FSx) DescribeStorageVirtualMachinesPagesWithContext(ctx aws.Context, in } for p.Next() { - if !fn(p.Page().(*DescribeStorageVirtualMachinesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*DescribeSnapshotsOutput), !p.HasNextPage()) { break } } @@ -2387,35 +3015,35 @@ func (c *FSx) DescribeStorageVirtualMachinesPagesWithContext(ctx aws.Context, in return p.Err() } -const opDescribeVolumes = "DescribeVolumes" +const opDescribeStorageVirtualMachines = "DescribeStorageVirtualMachines" -// DescribeVolumesRequest generates a "aws/request.Request" representing the -// client's request for the DescribeVolumes operation. The "output" return +// DescribeStorageVirtualMachinesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStorageVirtualMachines 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 DescribeVolumes for more information on using the DescribeVolumes +// See DescribeStorageVirtualMachines for more information on using the DescribeStorageVirtualMachines // 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 DescribeVolumesRequest method. -// req, resp := client.DescribeVolumesRequest(params) +// // Example sending a request using the DescribeStorageVirtualMachinesRequest method. +// req, resp := client.DescribeStorageVirtualMachinesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeVolumes -func (c *FSx) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeStorageVirtualMachines +func (c *FSx) DescribeStorageVirtualMachinesRequest(input *DescribeStorageVirtualMachinesInput) (req *request.Request, output *DescribeStorageVirtualMachinesOutput) { op := &request.Operation{ - Name: opDescribeVolumes, + Name: opDescribeStorageVirtualMachines, HTTPMethod: "POST", HTTPPath: "/", Paginator: &request.Paginator{ @@ -2427,17 +3055,162 @@ func (c *FSx) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request. } if input == nil { - input = &DescribeVolumesInput{} + input = &DescribeStorageVirtualMachinesInput{} } - output = &DescribeVolumesOutput{} + output = &DescribeStorageVirtualMachinesOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeStorageVirtualMachines API operation for Amazon FSx. +// +// Describes one or more Amazon FSx for NetApp ONTAP storage virtual machines +// (SVMs). +// +// 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 FSx's +// API operation DescribeStorageVirtualMachines for usage and error information. +// +// Returned Error Types: +// * BadRequest +// A generic error indicating a failure with a client request. +// +// * InternalServerError +// A generic error indicating a server-side failure. +// +// * StorageVirtualMachineNotFound +// No Amazon FSx for NetApp ONTAP SVMs were found based upon the supplied parameters. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeStorageVirtualMachines +func (c *FSx) DescribeStorageVirtualMachines(input *DescribeStorageVirtualMachinesInput) (*DescribeStorageVirtualMachinesOutput, error) { + req, out := c.DescribeStorageVirtualMachinesRequest(input) + return out, req.Send() +} + +// DescribeStorageVirtualMachinesWithContext is the same as DescribeStorageVirtualMachines with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeStorageVirtualMachines 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 *FSx) DescribeStorageVirtualMachinesWithContext(ctx aws.Context, input *DescribeStorageVirtualMachinesInput, opts ...request.Option) (*DescribeStorageVirtualMachinesOutput, error) { + req, out := c.DescribeStorageVirtualMachinesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// DescribeStorageVirtualMachinesPages iterates over the pages of a DescribeStorageVirtualMachines operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See DescribeStorageVirtualMachines 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 DescribeStorageVirtualMachines operation. +// pageNum := 0 +// err := client.DescribeStorageVirtualMachinesPages(params, +// func(page *fsx.DescribeStorageVirtualMachinesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *FSx) DescribeStorageVirtualMachinesPages(input *DescribeStorageVirtualMachinesInput, fn func(*DescribeStorageVirtualMachinesOutput, bool) bool) error { + return c.DescribeStorageVirtualMachinesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// DescribeStorageVirtualMachinesPagesWithContext same as DescribeStorageVirtualMachinesPages 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 *FSx) DescribeStorageVirtualMachinesPagesWithContext(ctx aws.Context, input *DescribeStorageVirtualMachinesInput, fn func(*DescribeStorageVirtualMachinesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *DescribeStorageVirtualMachinesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.DescribeStorageVirtualMachinesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*DescribeStorageVirtualMachinesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opDescribeVolumes = "DescribeVolumes" + +// DescribeVolumesRequest generates a "aws/request.Request" representing the +// client's request for the DescribeVolumes 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 DescribeVolumes for more information on using the DescribeVolumes +// 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 DescribeVolumesRequest method. +// req, resp := client.DescribeVolumesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DescribeVolumes +func (c *FSx) DescribeVolumesRequest(input *DescribeVolumesInput) (req *request.Request, output *DescribeVolumesOutput) { + op := &request.Operation{ + Name: opDescribeVolumes, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &DescribeVolumesInput{} + } + + output = &DescribeVolumesOutput{} req = c.newRequest(op, input, output) return } // DescribeVolumes API operation for Amazon FSx. // -// Describes one or more Amazon FSx for NetApp ONTAP volumes. +// Describes one or more Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS +// volumes. // // 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 @@ -2796,152 +3569,153 @@ func (c *FSx) ListTagsForResourcePagesWithContext(ctx aws.Context, input *ListTa return p.Err() } -const opTagResource = "TagResource" +const opReleaseFileSystemNfsV3Locks = "ReleaseFileSystemNfsV3Locks" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// ReleaseFileSystemNfsV3LocksRequest generates a "aws/request.Request" representing the +// client's request for the ReleaseFileSystemNfsV3Locks operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See TagResource for more information on using the TagResource +// See ReleaseFileSystemNfsV3Locks for more information on using the ReleaseFileSystemNfsV3Locks // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// // Example sending a request using the ReleaseFileSystemNfsV3LocksRequest method. +// req, resp := client.ReleaseFileSystemNfsV3LocksRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/TagResource -func (c *FSx) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/ReleaseFileSystemNfsV3Locks +func (c *FSx) ReleaseFileSystemNfsV3LocksRequest(input *ReleaseFileSystemNfsV3LocksInput) (req *request.Request, output *ReleaseFileSystemNfsV3LocksOutput) { op := &request.Operation{ - Name: opTagResource, + Name: opReleaseFileSystemNfsV3Locks, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &TagResourceInput{} + input = &ReleaseFileSystemNfsV3LocksInput{} } - output = &TagResourceOutput{} + output = &ReleaseFileSystemNfsV3LocksOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TagResource API operation for Amazon FSx. +// ReleaseFileSystemNfsV3Locks API operation for Amazon FSx. // -// Tags an Amazon FSx resource. +// Releases the file system lock from an Amazon FSx for OpenZFS file system. // // 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 FSx's -// API operation TagResource for usage and error information. +// API operation ReleaseFileSystemNfsV3Locks for usage and error information. // // Returned Error Types: // * BadRequest // A generic error indicating a failure with a client request. // -// * InternalServerError -// A generic error indicating a server-side failure. +// * IncompatibleParameterError +// The error returned when a second request is received with the same client +// request token but different parameters settings. A client request token should +// always uniquely identify a single request. // -// * ResourceNotFound -// The resource specified by the Amazon Resource Name (ARN) can't be found. +// * FileSystemNotFound +// No Amazon FSx file systems were found based upon supplied parameters. // -// * NotServiceResourceError -// The resource specified for the tagging operation is not a resource type owned -// by Amazon FSx. Use the API of the relevant service to perform the operation. +// * ServiceLimitExceeded +// An error indicating that a particular service limit was exceeded. You can +// increase some service limits by contacting Amazon Web Services Support. // -// * ResourceDoesNotSupportTagging -// The resource specified does not support tagging. +// * InternalServerError +// A generic error indicating a server-side failure. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/TagResource -func (c *FSx) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/ReleaseFileSystemNfsV3Locks +func (c *FSx) ReleaseFileSystemNfsV3Locks(input *ReleaseFileSystemNfsV3LocksInput) (*ReleaseFileSystemNfsV3LocksOutput, error) { + req, out := c.ReleaseFileSystemNfsV3LocksRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// ReleaseFileSystemNfsV3LocksWithContext is the same as ReleaseFileSystemNfsV3Locks with the addition of // the ability to pass a context and additional request options. // -// See TagResource for details on how to use this API operation. +// See ReleaseFileSystemNfsV3Locks 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 *FSx) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *FSx) ReleaseFileSystemNfsV3LocksWithContext(ctx aws.Context, input *ReleaseFileSystemNfsV3LocksInput, opts ...request.Option) (*ReleaseFileSystemNfsV3LocksOutput, error) { + req, out := c.ReleaseFileSystemNfsV3LocksRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUntagResource = "UntagResource" +const opRestoreVolumeFromSnapshot = "RestoreVolumeFromSnapshot" -// UntagResourceRequest generates a "aws/request.Request" representing the -// client's request for the UntagResource operation. The "output" return +// RestoreVolumeFromSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the RestoreVolumeFromSnapshot operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UntagResource for more information on using the UntagResource +// See RestoreVolumeFromSnapshot for more information on using the RestoreVolumeFromSnapshot // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UntagResourceRequest method. -// req, resp := client.UntagResourceRequest(params) +// // Example sending a request using the RestoreVolumeFromSnapshotRequest method. +// req, resp := client.RestoreVolumeFromSnapshotRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UntagResource -func (c *FSx) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/RestoreVolumeFromSnapshot +func (c *FSx) RestoreVolumeFromSnapshotRequest(input *RestoreVolumeFromSnapshotInput) (req *request.Request, output *RestoreVolumeFromSnapshotOutput) { op := &request.Operation{ - Name: opUntagResource, + Name: opRestoreVolumeFromSnapshot, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UntagResourceInput{} + input = &RestoreVolumeFromSnapshotInput{} } - output = &UntagResourceOutput{} + output = &RestoreVolumeFromSnapshotOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UntagResource API operation for Amazon FSx. +// RestoreVolumeFromSnapshot API operation for Amazon FSx. // -// This action removes a tag from an Amazon FSx resource. +// Returns an Amazon FSx for OpenZFS volume to the state saved by the specified +// snapshot. // // 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 FSx's -// API operation UntagResource for usage and error information. +// API operation RestoreVolumeFromSnapshot for usage and error information. // // Returned Error Types: // * BadRequest @@ -2950,233 +3724,272 @@ func (c *FSx) UntagResourceRequest(input *UntagResourceInput) (req *request.Requ // * InternalServerError // A generic error indicating a server-side failure. // -// * ResourceNotFound -// The resource specified by the Amazon Resource Name (ARN) can't be found. -// -// * NotServiceResourceError -// The resource specified for the tagging operation is not a resource type owned -// by Amazon FSx. Use the API of the relevant service to perform the operation. -// -// * ResourceDoesNotSupportTagging -// The resource specified does not support tagging. +// * VolumeNotFound +// No Amazon FSx for NetApp ONTAP volumes were found based upon the supplied +// parameters. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UntagResource -func (c *FSx) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/RestoreVolumeFromSnapshot +func (c *FSx) RestoreVolumeFromSnapshot(input *RestoreVolumeFromSnapshotInput) (*RestoreVolumeFromSnapshotOutput, error) { + req, out := c.RestoreVolumeFromSnapshotRequest(input) return out, req.Send() } -// UntagResourceWithContext is the same as UntagResource with the addition of +// RestoreVolumeFromSnapshotWithContext is the same as RestoreVolumeFromSnapshot with the addition of // the ability to pass a context and additional request options. // -// See UntagResource for details on how to use this API operation. +// See RestoreVolumeFromSnapshot 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 *FSx) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) +func (c *FSx) RestoreVolumeFromSnapshotWithContext(ctx aws.Context, input *RestoreVolumeFromSnapshotInput, opts ...request.Option) (*RestoreVolumeFromSnapshotOutput, error) { + req, out := c.RestoreVolumeFromSnapshotRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateFileSystem = "UpdateFileSystem" +const opTagResource = "TagResource" -// UpdateFileSystemRequest generates a "aws/request.Request" representing the -// client's request for the UpdateFileSystem operation. The "output" return +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See UpdateFileSystem for more information on using the UpdateFileSystem +// See TagResource for more information on using the TagResource // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the UpdateFileSystemRequest method. -// req, resp := client.UpdateFileSystemRequest(params) +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateFileSystem -func (c *FSx) UpdateFileSystemRequest(input *UpdateFileSystemInput) (req *request.Request, output *UpdateFileSystemOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/TagResource +func (c *FSx) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { op := &request.Operation{ - Name: opUpdateFileSystem, + Name: opTagResource, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateFileSystemInput{} + input = &TagResourceInput{} } - output = &UpdateFileSystemOutput{} + output = &TagResourceOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateFileSystem API operation for Amazon FSx. +// TagResource API operation for Amazon FSx. // -// Use this operation to update the configuration of an existing Amazon FSx -// file system. You can update multiple properties in a single request. +// Tags an Amazon FSx resource. // -// For Amazon FSx for Windows File Server file systems, you can update the following -// properties: +// 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. // -// * AuditLogConfiguration +// See the AWS API reference guide for Amazon FSx's +// API operation TagResource for usage and error information. // -// * AutomaticBackupRetentionDays -// -// * DailyAutomaticBackupStartTime -// -// * SelfManagedActiveDirectoryConfiguration +// Returned Error Types: +// * BadRequest +// A generic error indicating a failure with a client request. // -// * StorageCapacity +// * InternalServerError +// A generic error indicating a server-side failure. // -// * ThroughputCapacity +// * ResourceNotFound +// The resource specified by the Amazon Resource Name (ARN) can't be found. // -// * WeeklyMaintenanceStartTime +// * NotServiceResourceError +// The resource specified for the tagging operation is not a resource type owned +// by Amazon FSx. Use the API of the relevant service to perform the operation. // -// For Amazon FSx for Lustre file systems, you can update the following properties: +// * ResourceDoesNotSupportTagging +// The resource specified does not support tagging. // -// * AutoImportPolicy +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/TagResource +func (c *FSx) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. // -// * AutomaticBackupRetentionDays +// See TagResource for details on how to use this API operation. // -// * DailyAutomaticBackupStartTime +// 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 *FSx) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// * DataCompressionType +// 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. // -// * StorageCapacity +// See UntagResource for more information on using the UntagResource +// API call, and error handling. // -// * WeeklyMaintenanceStartTime +// 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. // -// For Amazon FSx for NetApp ONTAP file systems, you can update the following -// properties: // -// * AutomaticBackupRetentionDays +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) // -// * DailyAutomaticBackupStartTime +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } // -// * FsxAdminPassword +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UntagResource +func (c *FSx) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon FSx. // -// * WeeklyMaintenanceStartTime +// This action removes a tag from an Amazon FSx resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon FSx's -// API operation UpdateFileSystem for usage and error information. +// API operation UntagResource for usage and error information. // // Returned Error Types: // * BadRequest // A generic error indicating a failure with a client request. // -// * UnsupportedOperation -// The requested operation is not supported for this resource or API. -// -// * IncompatibleParameterError -// The error returned when a second request is received with the same client -// request token but different parameters settings. A client request token should -// always uniquely identify a single request. -// // * InternalServerError // A generic error indicating a server-side failure. // -// * FileSystemNotFound -// No Amazon FSx file systems were found based upon supplied parameters. +// * ResourceNotFound +// The resource specified by the Amazon Resource Name (ARN) can't be found. // -// * MissingFileSystemConfiguration -// A file system configuration is required for this operation. +// * NotServiceResourceError +// The resource specified for the tagging operation is not a resource type owned +// by Amazon FSx. Use the API of the relevant service to perform the operation. // -// * ServiceLimitExceeded -// An error indicating that a particular service limit was exceeded. You can -// increase some service limits by contacting Amazon Web Services Support. +// * ResourceDoesNotSupportTagging +// The resource specified does not support tagging. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateFileSystem -func (c *FSx) UpdateFileSystem(input *UpdateFileSystemInput) (*UpdateFileSystemOutput, error) { - req, out := c.UpdateFileSystemRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UntagResource +func (c *FSx) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) return out, req.Send() } -// UpdateFileSystemWithContext is the same as UpdateFileSystem with the addition of +// UntagResourceWithContext is the same as UntagResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateFileSystem for details on how to use this API operation. +// See UntagResource for details on how to use this API operation. // // The context must be non-nil and will be used for request cancellation. If // the context is nil a panic will occur. In the future the SDK may create // sub-contexts for http.Requests. See https://golang.org/pkg/context/ // for more information on using Contexts. -func (c *FSx) UpdateFileSystemWithContext(ctx aws.Context, input *UpdateFileSystemInput, opts ...request.Option) (*UpdateFileSystemOutput, error) { - req, out := c.UpdateFileSystemRequest(input) +func (c *FSx) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateStorageVirtualMachine = "UpdateStorageVirtualMachine" +const opUpdateDataRepositoryAssociation = "UpdateDataRepositoryAssociation" -// UpdateStorageVirtualMachineRequest generates a "aws/request.Request" representing the -// client's request for the UpdateStorageVirtualMachine operation. The "output" return +// UpdateDataRepositoryAssociationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDataRepositoryAssociation 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 UpdateStorageVirtualMachine for more information on using the UpdateStorageVirtualMachine +// See UpdateDataRepositoryAssociation for more information on using the UpdateDataRepositoryAssociation // 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 UpdateStorageVirtualMachineRequest method. -// req, resp := client.UpdateStorageVirtualMachineRequest(params) +// // Example sending a request using the UpdateDataRepositoryAssociationRequest method. +// req, resp := client.UpdateDataRepositoryAssociationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateStorageVirtualMachine -func (c *FSx) UpdateStorageVirtualMachineRequest(input *UpdateStorageVirtualMachineInput) (req *request.Request, output *UpdateStorageVirtualMachineOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateDataRepositoryAssociation +func (c *FSx) UpdateDataRepositoryAssociationRequest(input *UpdateDataRepositoryAssociationInput) (req *request.Request, output *UpdateDataRepositoryAssociationOutput) { op := &request.Operation{ - Name: opUpdateStorageVirtualMachine, + Name: opUpdateDataRepositoryAssociation, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateStorageVirtualMachineInput{} + input = &UpdateDataRepositoryAssociationInput{} } - output = &UpdateStorageVirtualMachineOutput{} + output = &UpdateDataRepositoryAssociationOutput{} req = c.newRequest(op, input, output) return } -// UpdateStorageVirtualMachine API operation for Amazon FSx. +// UpdateDataRepositoryAssociation API operation for Amazon FSx. // -// Updates an Amazon FSx for ONTAP storage virtual machine (SVM). +// 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. // // 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 FSx's -// API operation UpdateStorageVirtualMachine for usage and error information. +// API operation UpdateDataRepositoryAssociation for usage and error information. // // Returned Error Types: // * BadRequest @@ -3187,94 +4000,157 @@ func (c *FSx) UpdateStorageVirtualMachineRequest(input *UpdateStorageVirtualMach // request token but different parameters settings. A client request token should // always uniquely identify a single request. // -// * InternalServerError -// A generic error indicating a server-side failure. +// * DataRepositoryAssociationNotFound +// No data repository associations were found based upon the supplied parameters. // -// * StorageVirtualMachineNotFound -// No Amazon FSx for NetApp ONTAP SVMs were found based upon the supplied parameters. +// * ServiceLimitExceeded +// An error indicating that a particular service limit was exceeded. You can +// increase some service limits by contacting Amazon Web Services Support. // -// * UnsupportedOperation -// The requested operation is not supported for this resource or API. +// * InternalServerError +// A generic error indicating a server-side failure. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateStorageVirtualMachine -func (c *FSx) UpdateStorageVirtualMachine(input *UpdateStorageVirtualMachineInput) (*UpdateStorageVirtualMachineOutput, error) { - req, out := c.UpdateStorageVirtualMachineRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateDataRepositoryAssociation +func (c *FSx) UpdateDataRepositoryAssociation(input *UpdateDataRepositoryAssociationInput) (*UpdateDataRepositoryAssociationOutput, error) { + req, out := c.UpdateDataRepositoryAssociationRequest(input) return out, req.Send() } -// UpdateStorageVirtualMachineWithContext is the same as UpdateStorageVirtualMachine with the addition of +// UpdateDataRepositoryAssociationWithContext is the same as UpdateDataRepositoryAssociation with the addition of // the ability to pass a context and additional request options. // -// See UpdateStorageVirtualMachine for details on how to use this API operation. +// See UpdateDataRepositoryAssociation 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 *FSx) UpdateStorageVirtualMachineWithContext(ctx aws.Context, input *UpdateStorageVirtualMachineInput, opts ...request.Option) (*UpdateStorageVirtualMachineOutput, error) { - req, out := c.UpdateStorageVirtualMachineRequest(input) +func (c *FSx) UpdateDataRepositoryAssociationWithContext(ctx aws.Context, input *UpdateDataRepositoryAssociationInput, opts ...request.Option) (*UpdateDataRepositoryAssociationOutput, error) { + req, out := c.UpdateDataRepositoryAssociationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateVolume = "UpdateVolume" +const opUpdateFileSystem = "UpdateFileSystem" -// UpdateVolumeRequest generates a "aws/request.Request" representing the -// client's request for the UpdateVolume operation. The "output" return +// UpdateFileSystemRequest generates a "aws/request.Request" representing the +// client's request for the UpdateFileSystem 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 UpdateVolume for more information on using the UpdateVolume +// See UpdateFileSystem for more information on using the UpdateFileSystem // 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 UpdateVolumeRequest method. -// req, resp := client.UpdateVolumeRequest(params) +// // Example sending a request using the UpdateFileSystemRequest method. +// req, resp := client.UpdateFileSystemRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateVolume -func (c *FSx) UpdateVolumeRequest(input *UpdateVolumeInput) (req *request.Request, output *UpdateVolumeOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateFileSystem +func (c *FSx) UpdateFileSystemRequest(input *UpdateFileSystemInput) (req *request.Request, output *UpdateFileSystemOutput) { op := &request.Operation{ - Name: opUpdateVolume, + Name: opUpdateFileSystem, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &UpdateVolumeInput{} + input = &UpdateFileSystemInput{} } - output = &UpdateVolumeOutput{} + output = &UpdateFileSystemOutput{} req = c.newRequest(op, input, output) return } -// UpdateVolume API operation for Amazon FSx. +// UpdateFileSystem API operation for Amazon FSx. +// +// 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: +// +// * AuditLogConfiguration +// +// * AutomaticBackupRetentionDays +// +// * DailyAutomaticBackupStartTime +// +// * SelfManagedActiveDirectoryConfiguration +// +// * StorageCapacity +// +// * ThroughputCapacity +// +// * WeeklyMaintenanceStartTime +// +// For FSx for Lustre file systems, you can update the following properties: +// +// * AutoImportPolicy +// +// * AutomaticBackupRetentionDays +// +// * DailyAutomaticBackupStartTime +// +// * DataCompressionType +// +// * StorageCapacity +// +// * WeeklyMaintenanceStartTime +// +// For FSx for ONTAP file systems, you can update the following properties: +// +// * AutomaticBackupRetentionDays +// +// * DailyAutomaticBackupStartTime +// +// * FsxAdminPassword +// +// * WeeklyMaintenanceStartTime +// +// For the Amazon FSx for OpenZFS file systems, you can update the following +// properties: +// +// * AutomaticBackupRetentionDays +// +// * CopyTagsToBackups +// +// * CopyTagsToVolumes +// +// * DailyAutomaticBackupStartTime +// +// * DiskIopsConfiguration +// +// * ThroughputCapacity // -// Updates an Amazon FSx for NetApp ONTAP volume's configuration. +// * WeeklyMaintenanceStartTime // // 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 FSx's -// API operation UpdateVolume for usage and error information. +// API operation UpdateFileSystem for usage and error information. // // Returned Error Types: // * BadRequest // A generic error indicating a failure with a client request. // +// * UnsupportedOperation +// The requested operation is not supported for this resource or API. +// // * IncompatibleParameterError // The error returned when a second request is received with the same client // request token but different parameters settings. A client request token should @@ -3283,53 +4159,2167 @@ func (c *FSx) UpdateVolumeRequest(input *UpdateVolumeInput) (req *request.Reques // * InternalServerError // A generic error indicating a server-side failure. // -// * MissingVolumeConfiguration -// A volume configuration is required for this operation. +// * FileSystemNotFound +// No Amazon FSx file systems were found based upon supplied parameters. // -// * VolumeNotFound -// No Amazon FSx for NetApp ONTAP volumes were found based upon the supplied -// parameters. +// * MissingFileSystemConfiguration +// A file system configuration is required for this operation. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateVolume -func (c *FSx) UpdateVolume(input *UpdateVolumeInput) (*UpdateVolumeOutput, error) { - req, out := c.UpdateVolumeRequest(input) - return out, req.Send() -} +// * ServiceLimitExceeded +// An error indicating that a particular service limit was exceeded. You can +// increase some service limits by contacting Amazon Web Services Support. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateFileSystem +func (c *FSx) UpdateFileSystem(input *UpdateFileSystemInput) (*UpdateFileSystemOutput, error) { + req, out := c.UpdateFileSystemRequest(input) + return out, req.Send() +} + +// UpdateFileSystemWithContext is the same as UpdateFileSystem with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateFileSystem 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 *FSx) UpdateFileSystemWithContext(ctx aws.Context, input *UpdateFileSystemInput, opts ...request.Option) (*UpdateFileSystemOutput, error) { + req, out := c.UpdateFileSystemRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateSnapshot = "UpdateSnapshot" + +// UpdateSnapshotRequest generates a "aws/request.Request" representing the +// client's request for the UpdateSnapshot 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 UpdateSnapshot for more information on using the UpdateSnapshot +// 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 UpdateSnapshotRequest method. +// req, resp := client.UpdateSnapshotRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateSnapshot +func (c *FSx) UpdateSnapshotRequest(input *UpdateSnapshotInput) (req *request.Request, output *UpdateSnapshotOutput) { + op := &request.Operation{ + Name: opUpdateSnapshot, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateSnapshotInput{} + } + + output = &UpdateSnapshotOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateSnapshot API operation for Amazon FSx. +// +// Updates the name of a snapshot. +// +// 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 FSx's +// API operation UpdateSnapshot for usage and error information. +// +// Returned Error Types: +// * BadRequest +// A generic error indicating a failure with a client request. +// +// * SnapshotNotFound +// No Amazon FSx snapshots were found based on the supplied parameters. +// +// * InternalServerError +// A generic error indicating a server-side failure. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateSnapshot +func (c *FSx) UpdateSnapshot(input *UpdateSnapshotInput) (*UpdateSnapshotOutput, error) { + req, out := c.UpdateSnapshotRequest(input) + return out, req.Send() +} + +// UpdateSnapshotWithContext is the same as UpdateSnapshot with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateSnapshot 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 *FSx) UpdateSnapshotWithContext(ctx aws.Context, input *UpdateSnapshotInput, opts ...request.Option) (*UpdateSnapshotOutput, error) { + req, out := c.UpdateSnapshotRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateStorageVirtualMachine = "UpdateStorageVirtualMachine" + +// UpdateStorageVirtualMachineRequest generates a "aws/request.Request" representing the +// client's request for the UpdateStorageVirtualMachine 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 UpdateStorageVirtualMachine for more information on using the UpdateStorageVirtualMachine +// 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 UpdateStorageVirtualMachineRequest method. +// req, resp := client.UpdateStorageVirtualMachineRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateStorageVirtualMachine +func (c *FSx) UpdateStorageVirtualMachineRequest(input *UpdateStorageVirtualMachineInput) (req *request.Request, output *UpdateStorageVirtualMachineOutput) { + op := &request.Operation{ + Name: opUpdateStorageVirtualMachine, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateStorageVirtualMachineInput{} + } + + output = &UpdateStorageVirtualMachineOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateStorageVirtualMachine API operation for Amazon FSx. +// +// Updates an Amazon FSx for ONTAP storage virtual machine (SVM). +// +// 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 FSx's +// API operation UpdateStorageVirtualMachine for usage and error information. +// +// Returned Error Types: +// * BadRequest +// A generic error indicating a failure with a client request. +// +// * IncompatibleParameterError +// The error returned when a second request is received with the same client +// request token but different parameters settings. A client request token should +// always uniquely identify a single request. +// +// * InternalServerError +// A generic error indicating a server-side failure. +// +// * StorageVirtualMachineNotFound +// No Amazon FSx for NetApp ONTAP SVMs were found based upon the supplied parameters. +// +// * UnsupportedOperation +// The requested operation is not supported for this resource or API. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateStorageVirtualMachine +func (c *FSx) UpdateStorageVirtualMachine(input *UpdateStorageVirtualMachineInput) (*UpdateStorageVirtualMachineOutput, error) { + req, out := c.UpdateStorageVirtualMachineRequest(input) + return out, req.Send() +} + +// UpdateStorageVirtualMachineWithContext is the same as UpdateStorageVirtualMachine with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateStorageVirtualMachine 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 *FSx) UpdateStorageVirtualMachineWithContext(ctx aws.Context, input *UpdateStorageVirtualMachineInput, opts ...request.Option) (*UpdateStorageVirtualMachineOutput, error) { + req, out := c.UpdateStorageVirtualMachineRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateVolume = "UpdateVolume" + +// UpdateVolumeRequest generates a "aws/request.Request" representing the +// client's request for the UpdateVolume 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 UpdateVolume for more information on using the UpdateVolume +// 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 UpdateVolumeRequest method. +// req, resp := client.UpdateVolumeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateVolume +func (c *FSx) UpdateVolumeRequest(input *UpdateVolumeInput) (req *request.Request, output *UpdateVolumeOutput) { + op := &request.Operation{ + Name: opUpdateVolume, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateVolumeInput{} + } + + output = &UpdateVolumeOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateVolume API operation for Amazon FSx. +// +// Updates the configuration of an Amazon FSx for NetApp ONTAP or Amazon FSx +// for OpenZFS volume. +// +// 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 FSx's +// API operation UpdateVolume for usage and error information. +// +// Returned Error Types: +// * BadRequest +// A generic error indicating a failure with a client request. +// +// * IncompatibleParameterError +// The error returned when a second request is received with the same client +// request token but different parameters settings. A client request token should +// always uniquely identify a single request. +// +// * InternalServerError +// A generic error indicating a server-side failure. +// +// * MissingVolumeConfiguration +// A volume configuration is required for this operation. +// +// * VolumeNotFound +// No Amazon FSx for NetApp ONTAP volumes were found based upon the supplied +// parameters. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/UpdateVolume +func (c *FSx) UpdateVolume(input *UpdateVolumeInput) (*UpdateVolumeOutput, error) { + req, out := c.UpdateVolumeRequest(input) + return out, req.Send() +} + +// UpdateVolumeWithContext is the same as UpdateVolume with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateVolume 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 *FSx) UpdateVolumeWithContext(ctx aws.Context, input *UpdateVolumeInput, opts ...request.Option) (*UpdateVolumeOutput, error) { + req, out := c.UpdateVolumeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// The Microsoft Active Directory attributes of the Amazon FSx for Windows File +// Server file system. +type ActiveDirectoryBackupAttributes struct { + _ struct{} `type:"structure"` + + // The ID of the Amazon Web Services Managed Microsoft Active Directory instance + // to which the file system is joined. + ActiveDirectoryId *string `min:"12" type:"string"` + + // The fully qualified domain name of the self-managed Active Directory directory. + DomainName *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify + // Amazon Web Services resources. We require an ARN when you need to specify + // a resource unambiguously across all of Amazon Web Services. For more information, + // see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the Amazon Web Services General Reference. + ResourceARN *string `min:"8" 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 ActiveDirectoryBackupAttributes) 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 ActiveDirectoryBackupAttributes) GoString() string { + return s.String() +} + +// SetActiveDirectoryId sets the ActiveDirectoryId field's value. +func (s *ActiveDirectoryBackupAttributes) SetActiveDirectoryId(v string) *ActiveDirectoryBackupAttributes { + s.ActiveDirectoryId = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *ActiveDirectoryBackupAttributes) SetDomainName(v string) *ActiveDirectoryBackupAttributes { + s.DomainName = &v + return s +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *ActiveDirectoryBackupAttributes) SetResourceARN(v string) *ActiveDirectoryBackupAttributes { + s.ResourceARN = &v + return s +} + +// An Active Directory error. +type ActiveDirectoryError struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // The directory ID of the directory that an error pertains to. + // + // ActiveDirectoryId is a required field + ActiveDirectoryId *string `min:"12" type:"string" required:"true"` + + // A detailed error message. + Message_ *string `locationName:"Message" min:"1" type:"string"` + + // The type of Active Directory error. + Type *string `type:"string" enum:"ActiveDirectoryErrorType"` +} + +// 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 ActiveDirectoryError) 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 ActiveDirectoryError) GoString() string { + return s.String() +} + +func newErrorActiveDirectoryError(v protocol.ResponseMetadata) error { + return &ActiveDirectoryError{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ActiveDirectoryError) Code() string { + return "ActiveDirectoryError" +} + +// Message returns the exception's message. +func (s *ActiveDirectoryError) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ActiveDirectoryError) OrigErr() error { + return nil +} + +func (s *ActiveDirectoryError) 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 *ActiveDirectoryError) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ActiveDirectoryError) RequestID() string { + return s.RespMetadata.RequestID +} + +// Describes a specific Amazon FSx administrative action for the current Windows, +// Lustre, or OpenZFS file system. +type AdministrativeAction struct { + _ struct{} `type:"structure"` + + // Describes the type of administrative action, as follows: + // + // * FILE_SYSTEM_UPDATE - A file system update administrative action initiated + // from the Amazon FSx console, API (UpdateFileSystem), or CLI (update-file-system). + // + // * 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) + // 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. + // + // * FILE_SYSTEM_ALIAS_ASSOCIATION - A file system update to associate a + // new Domain Name System (DNS) alias with the file system. For more information, + // see AssociateFileSystemAliases (https://docs.aws.amazon.com/fsx/latest/APIReference/API_AssociateFileSystemAliases.html). + // + // * FILE_SYSTEM_ALIAS_DISASSOCIATION - A file system update to disassociate + // a DNS alias from the file system. For more information, see DisassociateFileSystemAliases + // (https://docs.aws.amazon.com/fsx/latest/APIReference/API_DisassociateFileSystemAliases.html). + // + // * VOLUME_UPDATE - A volume update to an Amazon FSx for NetApp ONTAP or + // Amazon FSx for OpenZFS volume initiated from the Amazon FSx console, API + // (UpdateVolume), or CLI (update-volume). + // + // * SNAPSHOT_UPDATE - A snapshot update to an Amazon FSx for OpenZFS volume + // initiated from the Amazon FSx console, API (UpdateSnapshot), or CLI (update-snapshot). + // + // * RELEASE_NFS_V3_LOCKS - Tracks the release of Network File System (NFS) + // V3 locks on an Amazon FSx for OpenZFS file system. + AdministrativeActionType *string `type:"string" enum:"AdministrativeActionType"` + + // Provides information about a failed administrative action. + FailureDetails *AdministrativeActionFailureDetails `type:"structure"` + + // The percentage-complete status of a STORAGE_OPTIMIZATION administrative action. + // Does not apply to any other administrative action type. + ProgressPercent *int64 `type:"integer"` + + // The time that the administrative action request was received. + RequestTime *time.Time `type:"timestamp"` + + // Describes the status of the administrative action, as follows: + // + // * FAILED - Amazon FSx failed to process the administrative action successfully. + // + // * IN_PROGRESS - Amazon FSx is processing the administrative action. + // + // * PENDING - Amazon FSx is waiting to process the administrative action. + // + // * COMPLETED - Amazon FSx has finished processing the administrative task. + // + // * UPDATED_OPTIMIZING - For a storage-capacity increase update, Amazon + // FSx has updated the file system with the new storage capacity, and is + // now performing the storage-optimization process. + Status *string `type:"string" enum:"Status"` + + // Describes the target value for the administration action, provided in the + // UpdateFileSystem operation. Returned for FILE_SYSTEM_UPDATE administrative + // actions. + TargetFileSystemValues *FileSystem `type:"structure"` + + // A snapshot of an Amazon FSx for OpenZFS volume. + TargetSnapshotValues *Snapshot `type:"structure"` + + // Describes an Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS volume. + TargetVolumeValues *Volume `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 AdministrativeAction) 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 AdministrativeAction) GoString() string { + return s.String() +} + +// SetAdministrativeActionType sets the AdministrativeActionType field's value. +func (s *AdministrativeAction) SetAdministrativeActionType(v string) *AdministrativeAction { + s.AdministrativeActionType = &v + return s +} + +// SetFailureDetails sets the FailureDetails field's value. +func (s *AdministrativeAction) SetFailureDetails(v *AdministrativeActionFailureDetails) *AdministrativeAction { + s.FailureDetails = v + return s +} + +// SetProgressPercent sets the ProgressPercent field's value. +func (s *AdministrativeAction) SetProgressPercent(v int64) *AdministrativeAction { + s.ProgressPercent = &v + return s +} + +// SetRequestTime sets the RequestTime field's value. +func (s *AdministrativeAction) SetRequestTime(v time.Time) *AdministrativeAction { + s.RequestTime = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AdministrativeAction) SetStatus(v string) *AdministrativeAction { + s.Status = &v + return s +} + +// SetTargetFileSystemValues sets the TargetFileSystemValues field's value. +func (s *AdministrativeAction) SetTargetFileSystemValues(v *FileSystem) *AdministrativeAction { + s.TargetFileSystemValues = v + return s +} + +// SetTargetSnapshotValues sets the TargetSnapshotValues field's value. +func (s *AdministrativeAction) SetTargetSnapshotValues(v *Snapshot) *AdministrativeAction { + s.TargetSnapshotValues = v + return s +} + +// SetTargetVolumeValues sets the TargetVolumeValues field's value. +func (s *AdministrativeAction) SetTargetVolumeValues(v *Volume) *AdministrativeAction { + s.TargetVolumeValues = v + return s +} + +// Provides information about a failed administrative action. +type AdministrativeActionFailureDetails struct { + _ struct{} `type:"structure"` + + // Error message providing details about the failed administrative action. + Message *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 AdministrativeActionFailureDetails) 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 AdministrativeActionFailureDetails) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *AdministrativeActionFailureDetails) SetMessage(v string) *AdministrativeActionFailureDetails { + s.Message = &v + return s +} + +// A DNS alias that is associated with the file system. You can use a DNS alias +// to access a file system using user-defined DNS names, in addition to the +// default DNS name that Amazon FSx assigns to the file system. For more information, +// see DNS aliases (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html) +// in the FSx for Windows File Server User Guide. +type Alias struct { + _ struct{} `type:"structure"` + + // Describes the state of the DNS alias. + // + // * AVAILABLE - The DNS alias is associated with an Amazon FSx file system. + // + // * CREATING - Amazon FSx is creating the DNS alias and associating it with + // the file system. + // + // * CREATE_FAILED - Amazon FSx was unable to associate the DNS alias with + // the file system. + // + // * DELETING - Amazon FSx is disassociating the DNS alias from the file + // system and deleting it. + // + // * DELETE_FAILED - Amazon FSx was unable to disassociate the DNS alias + // from the file system. + Lifecycle *string `type:"string" enum:"AliasLifecycle"` + + // The name of the DNS alias. The alias name has to meet the following requirements: + // + // * Formatted as a fully-qualified domain name (FQDN), hostname.domain, + // for example, accounting.example.com. + // + // * Can contain alphanumeric characters, the underscore (_), and the hyphen + // (-). + // + // * Cannot start or end with a hyphen. + // + // * Can start with a numeric. + // + // For DNS names, Amazon FSx stores alphabetic characters as lowercase letters + // (a-z), regardless of how you specify them: as uppercase letters, lowercase + // letters, or the corresponding letters in escape codes. + Name *string `min:"4" 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 Alias) 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 Alias) GoString() string { + return s.String() +} + +// SetLifecycle sets the Lifecycle field's value. +func (s *Alias) SetLifecycle(v string) *Alias { + s.Lifecycle = &v + return s +} + +// SetName sets the Name field's value. +func (s *Alias) SetName(v string) *Alias { + s.Name = &v + return s +} + +// The request object specifying one or more DNS alias names to associate with +// an Amazon FSx for Windows File Server file system. +type AssociateFileSystemAliasesInput struct { + _ struct{} `type:"structure"` + + // An array of one or more DNS alias names to associate with the file system. + // The alias name has to comply with the following formatting requirements: + // + // * Formatted as a fully-qualified domain name (FQDN), hostname.domain , + // for example, accounting.corp.example.com. + // + // * Can contain alphanumeric characters and the hyphen (-). + // + // * Cannot start or end with a hyphen. + // + // * Can start with a numeric. + // + // For DNS alias names, Amazon FSx stores alphabetic characters as lowercase + // letters (a-z), regardless of how you specify them: as uppercase letters, + // lowercase letters, or the corresponding letters in escape codes. + // + // Aliases is a required field + Aliases []*string `type:"list" required:"true"` + + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // Specifies the file system with which you want to associate one or more DNS + // aliases. + // + // FileSystemId is a required field + FileSystemId *string `min:"11" 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 AssociateFileSystemAliasesInput) 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 AssociateFileSystemAliasesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateFileSystemAliasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateFileSystemAliasesInput"} + if s.Aliases == nil { + invalidParams.Add(request.NewErrParamRequired("Aliases")) + } + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.FileSystemId == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemId")) + } + if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAliases sets the Aliases field's value. +func (s *AssociateFileSystemAliasesInput) SetAliases(v []*string) *AssociateFileSystemAliasesInput { + s.Aliases = v + return s +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *AssociateFileSystemAliasesInput) SetClientRequestToken(v string) *AssociateFileSystemAliasesInput { + s.ClientRequestToken = &v + return s +} + +// SetFileSystemId sets the FileSystemId field's value. +func (s *AssociateFileSystemAliasesInput) SetFileSystemId(v string) *AssociateFileSystemAliasesInput { + s.FileSystemId = &v + return s +} + +// The system generated response showing the DNS aliases that Amazon FSx is +// attempting to associate with the file system. Use the API operation to monitor +// the status of the aliases Amazon FSx is associating with the file system. +// It can take up to 2.5 minutes for the alias status to change from CREATING +// to AVAILABLE. +type AssociateFileSystemAliasesOutput struct { + _ struct{} `type:"structure"` + + // An array of the DNS aliases that Amazon FSx is associating with the file + // system. + Aliases []*Alias `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 AssociateFileSystemAliasesOutput) 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 AssociateFileSystemAliasesOutput) GoString() string { + return s.String() +} + +// SetAliases sets the Aliases field's value. +func (s *AssociateFileSystemAliasesOutput) SetAliases(v []*Alias) *AssociateFileSystemAliasesOutput { + s.Aliases = v + return s +} + +// Describes a data repository association's automatic export policy. The AutoExportPolicy +// defines the types of updated objects on the file system that will be automatically +// exported to the data repository. As you create, modify, or delete files, +// Amazon FSx automatically exports the defined changes asynchronously once +// your application finishes modifying the file. +// +// This AutoExportPolicy is supported only for file systems with the Persistent_2 +// deployment type. +type AutoExportPolicy struct { + _ struct{} `type:"structure"` + + // The AutoExportPolicy can have the following event values: + // + // * NEW - Amazon FSx automatically exports new files and directories to + // the data repository as they are added to the file system. + // + // * CHANGED - Amazon FSx automatically exports changes to files and directories + // on the file system to the data repository. + // + // * DELETED - Files and directories are automatically deleted on the data + // repository when they are deleted on the file system. + // + // You can define any combination of event types for your AutoExportPolicy. + Events []*string `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 AutoExportPolicy) 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 AutoExportPolicy) GoString() string { + return s.String() +} + +// SetEvents sets the Events field's value. +func (s *AutoExportPolicy) SetEvents(v []*string) *AutoExportPolicy { + s.Events = v + return s +} + +// Describes the data repository association's automatic import policy. The +// AutoImportPolicy defines how Amazon FSx keeps your file metadata and directory +// listings up to date by importing changes to your file system as you modify +// objects in a linked S3 bucket. +// +// This AutoImportPolicy is supported only for file systems with the Persistent_2 +// deployment type. +type AutoImportPolicy struct { + _ struct{} `type:"structure"` + + // The AutoImportPolicy can have the following event values: + // + // * NEW - Amazon FSx automatically imports metadata of files added to the + // linked S3 bucket that do not currently exist in the FSx file system. + // + // * CHANGED - Amazon FSx automatically updates file metadata and invalidates + // existing file content on the file system as files change in the data repository. + // + // * DELETED - Amazon FSx automatically deletes files on the file system + // as corresponding files are deleted in the data repository. + // + // You can define any combination of event types for your AutoImportPolicy. + Events []*string `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 AutoImportPolicy) 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 AutoImportPolicy) GoString() string { + return s.String() +} + +// SetEvents sets the Events field's value. +func (s *AutoImportPolicy) SetEvents(v []*string) *AutoImportPolicy { + s.Events = v + return s +} + +// A backup of an Amazon FSx for Windows File Server, Amazon FSx for Lustre +// file system, Amazon FSx for NetApp ONTAP volume, or Amazon FSx for OpenZFS +// file system. +type Backup struct { + _ struct{} `type:"structure"` + + // The ID of the backup. + // + // BackupId is a required field + BackupId *string `min:"12" type:"string" required:"true"` + + // The time when a particular backup was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // The configuration of the self-managed Microsoft Active Directory directory + // to which the Windows File Server instance is joined. + DirectoryInformation *ActiveDirectoryBackupAttributes `type:"structure"` + + // Details explaining any failures that occurred when creating a backup. + FailureDetails *BackupFailureDetails `type:"structure"` + + // The metadata of the file system associated with the backup. This metadata + // is persisted even if the file system is deleted. + // + // FileSystem is a required field + FileSystem *FileSystem `type:"structure" required:"true"` + + // The ID of the Key Management Service (KMS) key used to encrypt the backup + // of the Amazon FSx file system's data at rest. + KmsKeyId *string `min:"1" type:"string"` + + // The lifecycle status of the backup. + // + // * AVAILABLE - The backup is fully available. + // + // * PENDING - For user-initiated backups on Lustre file systems only; Amazon + // FSx hasn't started creating the backup. + // + // * CREATING - Amazon FSx is creating the backup. + // + // * TRANSFERRING - For user-initiated backups on Lustre file systems only; + // Amazon FSx is transferring the backup to Amazon S3. + // + // * COPYING - Amazon FSx is copying the backup. + // + // * DELETED - Amazon FSx deleted the backup and it's no longer available. + // + // * FAILED - Amazon FSx couldn't finish the backup. + // + // Lifecycle is a required field + Lifecycle *string `type:"string" required:"true" enum:"BackupLifecycle"` + + // An Amazon Web Services account ID. This ID is a 12-digit number that you + // use to construct Amazon Resource Names (ARNs) for resources. + OwnerId *string `min:"12" type:"string"` + + // The current percent of progress of an asynchronous task. + ProgressPercent *int64 `type:"integer"` + + // The Amazon Resource Name (ARN) for the backup resource. + ResourceARN *string `min:"8" type:"string"` + + // Specifies the resource type that's backed up. + ResourceType *string `type:"string" enum:"ResourceType"` + + // The ID of the source backup. Specifies the backup that you are copying. + SourceBackupId *string `min:"12" type:"string"` + + // The source Region of the backup. Specifies the Region from where this backup + // is copied. + SourceBackupRegion *string `min:"1" type:"string"` + + // The tags associated with a particular file system. + Tags []*Tag `min:"1" type:"list"` + + // The type of the file-system backup. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"BackupType"` + + // Describes an Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS volume. + Volume *Volume `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 Backup) 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 Backup) GoString() string { + return s.String() +} + +// SetBackupId sets the BackupId field's value. +func (s *Backup) SetBackupId(v string) *Backup { + s.BackupId = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *Backup) SetCreationTime(v time.Time) *Backup { + s.CreationTime = &v + return s +} + +// SetDirectoryInformation sets the DirectoryInformation field's value. +func (s *Backup) SetDirectoryInformation(v *ActiveDirectoryBackupAttributes) *Backup { + s.DirectoryInformation = v + return s +} + +// SetFailureDetails sets the FailureDetails field's value. +func (s *Backup) SetFailureDetails(v *BackupFailureDetails) *Backup { + s.FailureDetails = v + return s +} + +// SetFileSystem sets the FileSystem field's value. +func (s *Backup) SetFileSystem(v *FileSystem) *Backup { + s.FileSystem = v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *Backup) SetKmsKeyId(v string) *Backup { + s.KmsKeyId = &v + return s +} + +// SetLifecycle sets the Lifecycle field's value. +func (s *Backup) SetLifecycle(v string) *Backup { + s.Lifecycle = &v + return s +} + +// SetOwnerId sets the OwnerId field's value. +func (s *Backup) SetOwnerId(v string) *Backup { + s.OwnerId = &v + return s +} + +// SetProgressPercent sets the ProgressPercent field's value. +func (s *Backup) SetProgressPercent(v int64) *Backup { + s.ProgressPercent = &v + return s +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *Backup) SetResourceARN(v string) *Backup { + s.ResourceARN = &v + return s +} + +// SetResourceType sets the ResourceType field's value. +func (s *Backup) SetResourceType(v string) *Backup { + s.ResourceType = &v + return s +} + +// SetSourceBackupId sets the SourceBackupId field's value. +func (s *Backup) SetSourceBackupId(v string) *Backup { + s.SourceBackupId = &v + return s +} + +// SetSourceBackupRegion sets the SourceBackupRegion field's value. +func (s *Backup) SetSourceBackupRegion(v string) *Backup { + s.SourceBackupRegion = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *Backup) SetTags(v []*Tag) *Backup { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *Backup) SetType(v string) *Backup { + s.Type = &v + return s +} + +// SetVolume sets the Volume field's value. +func (s *Backup) SetVolume(v *Volume) *Backup { + s.Volume = v + return s +} + +// You can't delete a backup while it's being copied. +type BackupBeingCopied struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // The ID of the source backup. Specifies the backup that you are copying. + BackupId *string `min:"12" type:"string"` + + // A detailed error message. + Message_ *string `locationName:"Message" 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 BackupBeingCopied) 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 BackupBeingCopied) GoString() string { + return s.String() +} + +func newErrorBackupBeingCopied(v protocol.ResponseMetadata) error { + return &BackupBeingCopied{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *BackupBeingCopied) Code() string { + return "BackupBeingCopied" +} + +// Message returns the exception's message. +func (s *BackupBeingCopied) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *BackupBeingCopied) OrigErr() error { + return nil +} + +func (s *BackupBeingCopied) 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 *BackupBeingCopied) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *BackupBeingCopied) RequestID() string { + return s.RespMetadata.RequestID +} + +// If backup creation fails, this structure contains the details of that failure. +type BackupFailureDetails struct { + _ struct{} `type:"structure"` + + // A message describing the backup-creation failure. + Message *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 BackupFailureDetails) 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 BackupFailureDetails) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *BackupFailureDetails) SetMessage(v string) *BackupFailureDetails { + s.Message = &v + return s +} + +// Another backup is already under way. Wait for completion before initiating +// additional backups of this file system. +type BackupInProgress struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A detailed error message. + Message_ *string `locationName:"Message" 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 BackupInProgress) 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 BackupInProgress) GoString() string { + return s.String() +} + +func newErrorBackupInProgress(v protocol.ResponseMetadata) error { + return &BackupInProgress{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *BackupInProgress) Code() string { + return "BackupInProgress" +} + +// Message returns the exception's message. +func (s *BackupInProgress) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *BackupInProgress) OrigErr() error { + return nil +} + +func (s *BackupInProgress) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *BackupInProgress) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *BackupInProgress) RequestID() string { + return s.RespMetadata.RequestID +} + +// No Amazon FSx backups were found based upon the supplied parameters. +type BackupNotFound struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A detailed error message. + Message_ *string `locationName:"Message" 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 BackupNotFound) 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 BackupNotFound) GoString() string { + return s.String() +} + +func newErrorBackupNotFound(v protocol.ResponseMetadata) error { + return &BackupNotFound{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *BackupNotFound) Code() string { + return "BackupNotFound" +} + +// Message returns the exception's message. +func (s *BackupNotFound) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *BackupNotFound) OrigErr() error { + return nil +} + +func (s *BackupNotFound) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *BackupNotFound) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *BackupNotFound) RequestID() string { + return s.RespMetadata.RequestID +} + +// You can't delete a backup while it's being used to restore a file system. +type BackupRestoring struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // The ID of a file system being restored from the backup. + FileSystemId *string `min:"11" type:"string"` + + // A detailed error message. + Message_ *string `locationName:"Message" 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 BackupRestoring) 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 BackupRestoring) GoString() string { + return s.String() +} + +func newErrorBackupRestoring(v protocol.ResponseMetadata) error { + return &BackupRestoring{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *BackupRestoring) Code() string { + return "BackupRestoring" +} + +// Message returns the exception's message. +func (s *BackupRestoring) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *BackupRestoring) OrigErr() error { + return nil +} + +func (s *BackupRestoring) 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 *BackupRestoring) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *BackupRestoring) RequestID() string { + return s.RespMetadata.RequestID +} + +// A generic error indicating a failure with a client request. +type BadRequest struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A detailed error message. + Message_ *string `locationName:"Message" 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 BadRequest) 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 BadRequest) GoString() string { + return s.String() +} + +func newErrorBadRequest(v protocol.ResponseMetadata) error { + return &BadRequest{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *BadRequest) Code() string { + return "BadRequest" +} + +// Message returns the exception's message. +func (s *BadRequest) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *BadRequest) OrigErr() error { + return nil +} + +func (s *BadRequest) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *BadRequest) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *BadRequest) RequestID() string { + return s.RespMetadata.RequestID +} + +// Cancels a data repository task. +type CancelDataRepositoryTaskInput struct { + _ struct{} `type:"structure"` + + // Specifies the data repository task to cancel. + // + // TaskId is a required field + TaskId *string `min:"12" 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 CancelDataRepositoryTaskInput) 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 CancelDataRepositoryTaskInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelDataRepositoryTaskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelDataRepositoryTaskInput"} + if s.TaskId == nil { + invalidParams.Add(request.NewErrParamRequired("TaskId")) + } + if s.TaskId != nil && len(*s.TaskId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("TaskId", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTaskId sets the TaskId field's value. +func (s *CancelDataRepositoryTaskInput) SetTaskId(v string) *CancelDataRepositoryTaskInput { + s.TaskId = &v + return s +} + +type CancelDataRepositoryTaskOutput struct { + _ struct{} `type:"structure"` + + // The lifecycle status of the data repository task, as follows: + // + // * PENDING - Amazon FSx has not started the task. + // + // * EXECUTING - Amazon FSx is processing the task. + // + // * FAILED - Amazon FSx was not able to complete the task. For example, + // there may be files the task failed to process. The DataRepositoryTaskFailureDetails + // property provides more information about task failures. + // + // * SUCCEEDED - FSx completed the task successfully. + // + // * CANCELED - Amazon FSx canceled the task and it did not complete. + // + // * CANCELING - FSx is in process of canceling the task. + Lifecycle *string `type:"string" enum:"DataRepositoryTaskLifecycle"` + + // The ID of the task being canceled. + TaskId *string `min:"12" 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 CancelDataRepositoryTaskOutput) 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 CancelDataRepositoryTaskOutput) GoString() string { + return s.String() +} + +// SetLifecycle sets the Lifecycle field's value. +func (s *CancelDataRepositoryTaskOutput) SetLifecycle(v string) *CancelDataRepositoryTaskOutput { + s.Lifecycle = &v + return s +} + +// SetTaskId sets the TaskId field's value. +func (s *CancelDataRepositoryTaskOutput) SetTaskId(v string) *CancelDataRepositoryTaskOutput { + s.TaskId = &v + return s +} + +// Provides a report detailing the data repository task results of the files +// processed that match the criteria specified in the report Scope parameter. +// FSx delivers the report to the file system's linked data repository in Amazon +// S3, using the path specified in the report Path parameter. You can specify +// whether or not a report gets generated for a task using the Enabled parameter. +type CompletionReport struct { + _ struct{} `type:"structure"` + + // Set Enabled to True to generate a CompletionReport when the task completes. + // If set to true, then you need to provide a report Scope, Path, and Format. + // Set Enabled to False if you do not want a CompletionReport generated when + // the task completes. + // + // Enabled is a required field + Enabled *bool `type:"boolean" required:"true"` + + // Required if Enabled is set to true. Specifies the format of the CompletionReport. + // REPORT_CSV_20191124 is the only format currently supported. When Format is + // set to REPORT_CSV_20191124, the CompletionReport is provided in CSV format, + // and is delivered to {path}/task-{id}/failures.csv. + Format *string `type:"string" enum:"ReportFormat"` + + // Required if Enabled is set to true. Specifies the location of the report + // on the file system's linked S3 data repository. An absolute path that defines + // where the completion report will be stored in the destination location. The + // Path you provide must be located within the file system’s ExportPath. An + // example Path value is "s3://myBucket/myExportPath/optionalPrefix". The report + // provides the following information for each file in the report: FilePath, + // FileStatus, and ErrorCode. To learn more about a file system's ExportPath, + // see . + Path *string `min:"3" type:"string"` + + // Required if Enabled is set to true. Specifies the scope of the CompletionReport; + // FAILED_FILES_ONLY is the only scope currently supported. When Scope is set + // to FAILED_FILES_ONLY, the CompletionReport only contains information about + // files that the data repository task failed to process. + Scope *string `type:"string" enum:"ReportScope"` +} + +// 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 CompletionReport) 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 CompletionReport) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CompletionReport) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CompletionReport"} + if s.Enabled == nil { + invalidParams.Add(request.NewErrParamRequired("Enabled")) + } + if s.Path != nil && len(*s.Path) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Path", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *CompletionReport) SetEnabled(v bool) *CompletionReport { + s.Enabled = &v + return s +} + +// SetFormat sets the Format field's value. +func (s *CompletionReport) SetFormat(v string) *CompletionReport { + s.Format = &v + return s +} + +// SetPath sets the Path field's value. +func (s *CompletionReport) SetPath(v string) *CompletionReport { + s.Path = &v + return s +} + +// SetScope sets the Scope field's value. +func (s *CompletionReport) SetScope(v string) *CompletionReport { + s.Scope = &v + return s +} + +type CopyBackupInput struct { + _ struct{} `type:"structure"` + + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // A Boolean flag indicating whether tags from the source backup should be copied + // to the backup copy. This value defaults to false. + // + // If you set CopyTags to true and the source backup has existing tags, you + // can use the Tags parameter to create new tags, provided that the sum of the + // source backup tags and the new tags doesn't exceed 50. Both sets of tags + // are merged. If there are tag conflicts (for example, two tags with the same + // key but different values), the tags created with the Tags parameter take + // precedence. + CopyTags *bool `type:"boolean"` + + // The ID of the Key Management Service (KMS) key used to encrypt the file system's + // data for Amazon FSx for Windows File Server file systems, Amazon FSx for + // NetApp ONTAP file systems, and Amazon FSx for Lustre PERSISTENT_1 and PERSISTENT_2 + // file systems at rest. If this ID isn't specified, the key managed by Amazon + // FSx is used. The Amazon FSx for Lustre SCRATCH_1 and SCRATCH_2 file systems + // are always encrypted at rest using Amazon FSx-managed keys. For more information, + // see Encrypt (https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) + // in the Key Management Service API Reference. + KmsKeyId *string `min:"1" type:"string"` + + // The ID of the source backup. Specifies the ID of the backup that's being + // copied. + // + // SourceBackupId is a required field + SourceBackupId *string `min:"12" type:"string" required:"true"` + + // The source Amazon Web Services Region of the backup. Specifies the Amazon + // Web Services Region from which the backup is being copied. The source and + // destination Regions must be in the same Amazon Web Services partition. If + // you don't specify a Region, SourceRegion defaults to the Region where the + // request is sent from (in-Region copy). + SourceRegion *string `min:"1" type:"string"` + + // A list of Tag values, with a maximum of 50 elements. + Tags []*Tag `min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CopyBackupInput) 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 CopyBackupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CopyBackupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CopyBackupInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + } + if s.SourceBackupId == nil { + invalidParams.Add(request.NewErrParamRequired("SourceBackupId")) + } + if s.SourceBackupId != nil && len(*s.SourceBackupId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("SourceBackupId", 12)) + } + if s.SourceRegion != nil && len(*s.SourceRegion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SourceRegion", 1)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CopyBackupInput) SetClientRequestToken(v string) *CopyBackupInput { + s.ClientRequestToken = &v + return s +} + +// SetCopyTags sets the CopyTags field's value. +func (s *CopyBackupInput) SetCopyTags(v bool) *CopyBackupInput { + s.CopyTags = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CopyBackupInput) SetKmsKeyId(v string) *CopyBackupInput { + s.KmsKeyId = &v + return s +} + +// SetSourceBackupId sets the SourceBackupId field's value. +func (s *CopyBackupInput) SetSourceBackupId(v string) *CopyBackupInput { + s.SourceBackupId = &v + return s +} + +// SetSourceRegion sets the SourceRegion field's value. +func (s *CopyBackupInput) SetSourceRegion(v string) *CopyBackupInput { + s.SourceRegion = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CopyBackupInput) SetTags(v []*Tag) *CopyBackupInput { + s.Tags = v + return s +} + +type CopyBackupOutput struct { + _ struct{} `type:"structure"` + + // A backup of an Amazon FSx for Windows File Server, Amazon FSx for Lustre + // file system, Amazon FSx for NetApp ONTAP volume, or Amazon FSx for OpenZFS + // file system. + Backup *Backup `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 CopyBackupOutput) 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 CopyBackupOutput) GoString() string { + return s.String() +} + +// SetBackup sets the Backup field's value. +func (s *CopyBackupOutput) SetBackup(v *Backup) *CopyBackupOutput { + s.Backup = v + return s +} + +// The request object for the CreateBackup operation. +type CreateBackupInput struct { + _ struct{} `type:"structure"` + + // (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to + // ensure idempotent creation. This string is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The ID of the file system to back up. + FileSystemId *string `min:"11" type:"string"` + + // (Optional) The tags to apply to the backup at backup creation. The key value + // of the Name tag appears in the console as the backup name. If you have set + // CopyTagsToBackups to true, and you specify one or more tags using the CreateBackup + // operation, no existing file system tags are copied from the file system to + // the backup. + Tags []*Tag `min:"1" type:"list"` + + // (Optional) The ID of the FSx for ONTAP volume to back up. + VolumeId *string `min:"23" 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 CreateBackupInput) 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 CreateBackupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateBackupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateBackupInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.VolumeId != nil && len(*s.VolumeId) < 23 { + invalidParams.Add(request.NewErrParamMinLen("VolumeId", 23)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateBackupInput) SetClientRequestToken(v string) *CreateBackupInput { + s.ClientRequestToken = &v + return s +} + +// SetFileSystemId sets the FileSystemId field's value. +func (s *CreateBackupInput) SetFileSystemId(v string) *CreateBackupInput { + s.FileSystemId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateBackupInput) SetTags(v []*Tag) *CreateBackupInput { + s.Tags = v + return s +} + +// SetVolumeId sets the VolumeId field's value. +func (s *CreateBackupInput) SetVolumeId(v string) *CreateBackupInput { + s.VolumeId = &v + return s +} + +// The response object for the CreateBackup operation. +type CreateBackupOutput struct { + _ struct{} `type:"structure"` + + // A description of the backup. + Backup *Backup `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 CreateBackupOutput) 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 CreateBackupOutput) GoString() string { + return s.String() +} + +// SetBackup sets the Backup field's value. +func (s *CreateBackupOutput) SetBackup(v *Backup) *CreateBackupOutput { + s.Backup = v + return s +} + +type CreateDataRepositoryAssociationInput struct { + _ struct{} `type:"structure"` + + // Set to true to run an import data repository task to import metadata from + // the data repository to the file system after the data repository association + // is created. Default is false. + BatchImportMetaDataOnCreate *bool `type:"boolean"` + + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The path to the Amazon S3 data repository that will be linked to the file + // system. The path can be an S3 bucket or prefix in the format s3://myBucket/myPrefix/. + // This path specifies where in the S3 data repository files will be imported + // from or exported to. + // + // DataRepositoryPath is a required field + DataRepositoryPath *string `min:"3" type:"string" required:"true"` + + // The globally unique ID of the file system, assigned by Amazon FSx. + // + // FileSystemId is a required field + FileSystemId *string `min:"11" type:"string" required:"true"` + + // A path on the file system that points to a high-level directory (such as + // /ns1/) or subdirectory (such as /ns1/subdir/) that will be mapped 1-1 with + // DataRepositoryPath. The leading forward slash in the name is required. Two + // data repository associations cannot have overlapping file system paths. For + // example, if a data repository is associated with file system path /ns1/, + // then you cannot link another data repository with file system path /ns1/ns2. + // + // This path specifies where in your file system files will be exported from + // or imported to. This file system directory can be linked to only one Amazon + // S3 bucket, and no other S3 bucket can be linked to the directory. + // + // FileSystemPath is a required field + FileSystemPath *string `min:"1" type:"string" required:"true"` + + // For files imported from a data repository, this value determines the stripe + // count and maximum amount of data per file (in MiB) stored on a single physical + // disk. The maximum number of disks that a single file can be striped across + // is limited by the total number of disks that make up the file system. + // + // The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 + // MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB. + ImportedFileChunkSize *int64 `min:"1" type:"integer"` + + // The configuration for an Amazon S3 data repository linked to an Amazon FSx + // Lustre file system with a data repository association. The configuration + // defines which file events (new, changed, or deleted files or directories) + // are automatically imported from the linked data repository to the file system + // or automatically exported from the file system to the data repository. + S3 *S3DataRepositoryConfiguration `type:"structure"` + + // A list of Tag values, with a maximum of 50 elements. + Tags []*Tag `min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateDataRepositoryAssociationInput) 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 CreateDataRepositoryAssociationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDataRepositoryAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDataRepositoryAssociationInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.DataRepositoryPath == nil { + invalidParams.Add(request.NewErrParamRequired("DataRepositoryPath")) + } + if s.DataRepositoryPath != nil && len(*s.DataRepositoryPath) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DataRepositoryPath", 3)) + } + if s.FileSystemId == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemId")) + } + if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) + } + if s.FileSystemPath == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemPath")) + } + if s.FileSystemPath != nil && len(*s.FileSystemPath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemPath", 1)) + } + if s.ImportedFileChunkSize != nil && *s.ImportedFileChunkSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("ImportedFileChunkSize", 1)) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } -// UpdateVolumeWithContext is the same as UpdateVolume with the addition of -// the ability to pass a context and additional request options. -// -// See UpdateVolume 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 *FSx) UpdateVolumeWithContext(ctx aws.Context, input *UpdateVolumeInput, opts ...request.Option) (*UpdateVolumeOutput, error) { - req, out := c.UpdateVolumeRequest(input) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return out, req.Send() + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// The Microsoft AD attributes of the Amazon FSx for Windows File Server file -// system. -type ActiveDirectoryBackupAttributes struct { - _ struct{} `type:"structure"` +// SetBatchImportMetaDataOnCreate sets the BatchImportMetaDataOnCreate field's value. +func (s *CreateDataRepositoryAssociationInput) SetBatchImportMetaDataOnCreate(v bool) *CreateDataRepositoryAssociationInput { + s.BatchImportMetaDataOnCreate = &v + return s +} - // The ID of the Amazon Web Services Managed Microsoft Active Directory instance - // to which the file system is joined. - ActiveDirectoryId *string `min:"12" type:"string"` +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateDataRepositoryAssociationInput) SetClientRequestToken(v string) *CreateDataRepositoryAssociationInput { + s.ClientRequestToken = &v + return s +} - // The fully qualified domain name of the self-managed AD directory. - DomainName *string `min:"1" type:"string"` +// SetDataRepositoryPath sets the DataRepositoryPath field's value. +func (s *CreateDataRepositoryAssociationInput) SetDataRepositoryPath(v string) *CreateDataRepositoryAssociationInput { + s.DataRepositoryPath = &v + return s +} - // The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify - // Amazon Web Services resources. We require an ARN when you need to specify - // a resource unambiguously across all of Amazon Web Services. For more information, - // see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the Amazon Web Services General Reference. - ResourceARN *string `min:"8" type:"string"` +// SetFileSystemId sets the FileSystemId field's value. +func (s *CreateDataRepositoryAssociationInput) SetFileSystemId(v string) *CreateDataRepositoryAssociationInput { + s.FileSystemId = &v + return s +} + +// SetFileSystemPath sets the FileSystemPath field's value. +func (s *CreateDataRepositoryAssociationInput) SetFileSystemPath(v string) *CreateDataRepositoryAssociationInput { + s.FileSystemPath = &v + return s +} + +// SetImportedFileChunkSize sets the ImportedFileChunkSize field's value. +func (s *CreateDataRepositoryAssociationInput) SetImportedFileChunkSize(v int64) *CreateDataRepositoryAssociationInput { + s.ImportedFileChunkSize = &v + return s +} + +// SetS3 sets the S3 field's value. +func (s *CreateDataRepositoryAssociationInput) SetS3(v *S3DataRepositoryConfiguration) *CreateDataRepositoryAssociationInput { + s.S3 = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDataRepositoryAssociationInput) SetTags(v []*Tag) *CreateDataRepositoryAssociationInput { + s.Tags = v + return s +} + +type CreateDataRepositoryAssociationOutput struct { + _ struct{} `type:"structure"` + + // The response object returned after the data repository association is created. + Association *DataRepositoryAssociation `type:"structure"` } // String returns the string representation. @@ -3337,7 +6327,7 @@ type ActiveDirectoryBackupAttributes 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 ActiveDirectoryBackupAttributes) String() string { +func (s CreateDataRepositoryAssociationOutput) String() string { return awsutil.Prettify(s) } @@ -3346,43 +6336,52 @@ func (s ActiveDirectoryBackupAttributes) 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 ActiveDirectoryBackupAttributes) GoString() string { +func (s CreateDataRepositoryAssociationOutput) GoString() string { return s.String() } -// SetActiveDirectoryId sets the ActiveDirectoryId field's value. -func (s *ActiveDirectoryBackupAttributes) SetActiveDirectoryId(v string) *ActiveDirectoryBackupAttributes { - s.ActiveDirectoryId = &v +// SetAssociation sets the Association field's value. +func (s *CreateDataRepositoryAssociationOutput) SetAssociation(v *DataRepositoryAssociation) *CreateDataRepositoryAssociationOutput { + s.Association = v return s } -// SetDomainName sets the DomainName field's value. -func (s *ActiveDirectoryBackupAttributes) SetDomainName(v string) *ActiveDirectoryBackupAttributes { - s.DomainName = &v - return s -} +type CreateDataRepositoryTaskInput struct { + _ struct{} `type:"structure"` -// SetResourceARN sets the ResourceARN field's value. -func (s *ActiveDirectoryBackupAttributes) SetResourceARN(v string) *ActiveDirectoryBackupAttributes { - s.ResourceARN = &v - return s -} + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` -// An Active Directory error. -type ActiveDirectoryError struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The globally unique ID of the file system, assigned by Amazon FSx. + // + // FileSystemId is a required field + FileSystemId *string `min:"11" type:"string" required:"true"` - // The directory ID of the directory that an error pertains to. + // (Optional) The path or paths on the Amazon FSx file system to use when the + // data repository task is processed. The default path is the file system root + // directory. The paths you provide need to be relative to the mount point of + // the file system. If the mount point is /mnt/fsx and /mnt/fsx/path1 is a directory + // or file on the file system you want to export, then the path to provide is + // path1. If a path that you provide isn't valid, the task fails. + Paths []*string `type:"list"` + + // Defines whether or not Amazon FSx provides a CompletionReport once the task + // has completed. A CompletionReport provides a detailed report on the files + // that Amazon FSx processed that meet the criteria specified by the Scope parameter. + // For more information, see Working with Task Completion Reports (https://docs.aws.amazon.com/fsx/latest/LustreGuide/task-completion-report.html). // - // ActiveDirectoryId is a required field - ActiveDirectoryId *string `min:"12" type:"string" required:"true"` + // Report is a required field + Report *CompletionReport `type:"structure" required:"true"` - // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` + // A list of Tag values, with a maximum of 50 elements. + Tags []*Tag `min:"1" type:"list"` - // The type of Active Directory error. - Type *string `type:"string" enum:"ActiveDirectoryErrorType"` + // Specifies the type of data repository task to create. + // + // Type is a required field + Type *string `type:"string" required:"true" enum:"DataRepositoryTaskType"` } // String returns the string representation. @@ -3390,7 +6389,7 @@ type ActiveDirectoryError 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 ActiveDirectoryError) String() string { +func (s CreateDataRepositoryTaskInput) String() string { return awsutil.Prettify(s) } @@ -3399,115 +6398,214 @@ func (s ActiveDirectoryError) 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 ActiveDirectoryError) GoString() string { +func (s CreateDataRepositoryTaskInput) GoString() string { return s.String() } -func newErrorActiveDirectoryError(v protocol.ResponseMetadata) error { - return &ActiveDirectoryError{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDataRepositoryTaskInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDataRepositoryTaskInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.FileSystemId == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemId")) + } + if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) } + if s.Report == nil { + invalidParams.Add(request.NewErrParamRequired("Report")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Report != nil { + if err := s.Report.Validate(); err != nil { + invalidParams.AddNested("Report", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// Code returns the exception type name. -func (s *ActiveDirectoryError) Code() string { - return "ActiveDirectoryError" +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateDataRepositoryTaskInput) SetClientRequestToken(v string) *CreateDataRepositoryTaskInput { + s.ClientRequestToken = &v + return s } -// Message returns the exception's message. -func (s *ActiveDirectoryError) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetFileSystemId sets the FileSystemId field's value. +func (s *CreateDataRepositoryTaskInput) SetFileSystemId(v string) *CreateDataRepositoryTaskInput { + s.FileSystemId = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ActiveDirectoryError) OrigErr() error { - return nil +// SetPaths sets the Paths field's value. +func (s *CreateDataRepositoryTaskInput) SetPaths(v []*string) *CreateDataRepositoryTaskInput { + s.Paths = v + return s +} + +// SetReport sets the Report field's value. +func (s *CreateDataRepositoryTaskInput) SetReport(v *CompletionReport) *CreateDataRepositoryTaskInput { + s.Report = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateDataRepositoryTaskInput) SetTags(v []*Tag) *CreateDataRepositoryTaskInput { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *CreateDataRepositoryTaskInput) SetType(v string) *CreateDataRepositoryTaskInput { + s.Type = &v + return s +} + +type CreateDataRepositoryTaskOutput struct { + _ struct{} `type:"structure"` + + // The description of the data repository task that you just created. + DataRepositoryTask *DataRepositoryTask `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 CreateDataRepositoryTaskOutput) 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 CreateDataRepositoryTaskOutput) GoString() string { + return s.String() } -func (s *ActiveDirectoryError) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetDataRepositoryTask sets the DataRepositoryTask field's value. +func (s *CreateDataRepositoryTaskOutput) SetDataRepositoryTask(v *DataRepositoryTask) *CreateDataRepositoryTaskOutput { + s.DataRepositoryTask = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ActiveDirectoryError) StatusCode() int { - return s.RespMetadata.StatusCode -} +// The request object for the CreateFileSystemFromBackup operation. +type CreateFileSystemFromBackupInput struct { + _ struct{} `type:"structure"` -// RequestID returns the service's response RequestID for request. -func (s *ActiveDirectoryError) RequestID() string { - return s.RespMetadata.RequestID -} + // The ID of the source backup. Specifies the backup that you are copying. + // + // BackupId is a required field + BackupId *string `min:"12" type:"string" required:"true"` -// Describes a specific Amazon FSx administrative action for the current Windows -// or Lustre file system. -type AdministrativeAction struct { - _ struct{} `type:"structure"` + // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent + // creation. This string is automatically filled on your behalf when you use + // the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // Describes the type of administrative action, as follows: + // 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. // - // * FILE_SYSTEM_UPDATE - A file system update administrative action initiated - // by the user from the Amazon FSx console, API (UpdateFileSystem), or CLI - // (update-file-system). + // 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. + FileSystemTypeVersion *string `min:"1" type:"string"` + + // The ID of the Key Management Service (KMS) key used to encrypt the file system's + // data for Amazon FSx for Windows File Server file systems, Amazon FSx for + // NetApp ONTAP file systems, and Amazon FSx for Lustre PERSISTENT_1 and PERSISTENT_2 + // file systems at rest. If this ID isn't specified, the key managed by Amazon + // FSx is used. The Amazon FSx for Lustre SCRATCH_1 and SCRATCH_2 file systems + // are always encrypted at rest using Amazon FSx-managed keys. For more information, + // see Encrypt (https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) + // in the Key Management Service API Reference. + KmsKeyId *string `min:"1" type:"string"` + + // The Lustre configuration for the file system being created. // - // * STORAGE_OPTIMIZATION - Once the FILE_SYSTEM_UPDATE task to increase - // a file system's storage capacity completes 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. You can track the storage optimization progress using the ProgressPercent - // property. When STORAGE_OPTIMIZATION completes 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 and 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. + // The following parameters are not supported for file systems with the Persistent_2 + // deployment type. Instead, use CreateDataRepositoryAssociation to create a + // data repository association to link your Lustre file system to a data repository. // - // * FILE_SYSTEM_ALIAS_ASSOCIATION - A file system update to associate a - // new DNS alias with the file system. For more information, see . + // * AutoImportPolicy // - // * FILE_SYSTEM_ALIAS_DISASSOCIATION - A file system update to disassociate - // a DNS alias from the file system. For more information, see . - AdministrativeActionType *string `type:"string" enum:"AdministrativeActionType"` - - // Provides information about a failed administrative action. - FailureDetails *AdministrativeActionFailureDetails `type:"structure"` + // * ExportPath + // + // * ImportedChunkSize + // + // * ImportPath + LustreConfiguration *CreateFileSystemLustreConfiguration `type:"structure"` - // Provides the percent complete of a STORAGE_OPTIMIZATION administrative action. - // Does not apply to any other administrative action type. - ProgressPercent *int64 `type:"integer"` + // The OpenZFS configuration for the file system that's being created. + OpenZFSConfiguration *CreateFileSystemOpenZFSConfiguration `type:"structure"` - // Time that the administrative action request was received. - RequestTime *time.Time `type:"timestamp"` + // A list of IDs for the security groups that apply to the specified network + // interfaces created for file system access. These security groups apply to + // all network interfaces. This value isn't returned in later DescribeFileSystem + // requests. + SecurityGroupIds []*string `type:"list"` - // Describes the status of the administrative action, as follows: + // Sets the storage type for the Windows or OpenZFS file system that you're + // creating from a backup. Valid values are SSD and HDD. // - // * FAILED - Amazon FSx failed to process the administrative action successfully. + // * Set to SSD to use solid state drive storage. SSD is supported on all + // Windows and OpenZFS deployment types. // - // * IN_PROGRESS - Amazon FSx is processing the administrative action. + // * Set to HDD to use hard disk drive storage. HDD is supported on SINGLE_AZ_2 + // and MULTI_AZ_1 FSx for Windows File Server file system deployment types. // - // * PENDING - Amazon FSx is waiting to process the administrative action. + // The default value is SSD. // - // * COMPLETED - Amazon FSx has finished processing the administrative task. + // 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. + StorageType *string `type:"string" enum:"StorageType"` + + // Specifies the IDs of the subnets that the file system will be accessible + // from. For Windows MULTI_AZ_1 file system deployment types, provide exactly + // two subnet IDs, one for the preferred file server and one for the standby + // file server. You specify one of these subnets as the preferred subnet using + // the WindowsConfiguration > PreferredSubnetID property. // - // * UPDATED_OPTIMIZING - For a storage capacity increase update, Amazon - // FSx has updated the file system with the new storage capacity, and is - // now performing the storage optimization process. 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 and 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. - Status *string `type:"string" enum:"Status"` + // Windows SINGLE_AZ_1 and SINGLE_AZ_2 file system deployment types, Lustre + // file systems, and OpenZFS file systems provide exactly one subnet ID. The + // file server is launched in that subnet's Availability Zone. + // + // SubnetIds is a required field + SubnetIds []*string `type:"list" required:"true"` - // Describes the target value for the administration action, provided in the - // UpdateFileSystem operation. Returned for FILE_SYSTEM_UPDATE administrative - // actions. - TargetFileSystemValues *FileSystem `type:"structure"` + // The tags to be applied to the file system at file system creation. The key + // value of the Name tag appears in the console as the file system name. + Tags []*Tag `min:"1" type:"list"` - // Describes an Amazon FSx for NetApp ONTAP volume. - TargetVolumeValues *Volume `type:"structure"` + // The configuration for this Microsoft Windows file system. + WindowsConfiguration *CreateFileSystemWindowsConfiguration `type:"structure"` } // String returns the string representation. @@ -3515,7 +6613,7 @@ type AdministrativeAction 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 AdministrativeAction) String() string { +func (s CreateFileSystemFromBackupInput) String() string { return awsutil.Prettify(s) } @@ -3524,125 +6622,138 @@ func (s AdministrativeAction) 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 AdministrativeAction) GoString() string { +func (s CreateFileSystemFromBackupInput) GoString() string { return s.String() } -// SetAdministrativeActionType sets the AdministrativeActionType field's value. -func (s *AdministrativeAction) SetAdministrativeActionType(v string) *AdministrativeAction { - s.AdministrativeActionType = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFileSystemFromBackupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemFromBackupInput"} + if s.BackupId == nil { + invalidParams.Add(request.NewErrParamRequired("BackupId")) + } + if s.BackupId != nil && len(*s.BackupId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("BackupId", 12)) + } + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.FileSystemTypeVersion != nil && len(*s.FileSystemTypeVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemTypeVersion", 1)) + } + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + } + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.LustreConfiguration != nil { + if err := s.LustreConfiguration.Validate(); err != nil { + invalidParams.AddNested("LustreConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.OpenZFSConfiguration != nil { + if err := s.OpenZFSConfiguration.Validate(); err != nil { + invalidParams.AddNested("OpenZFSConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.WindowsConfiguration != nil { + if err := s.WindowsConfiguration.Validate(); err != nil { + invalidParams.AddNested("WindowsConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetFailureDetails sets the FailureDetails field's value. -func (s *AdministrativeAction) SetFailureDetails(v *AdministrativeActionFailureDetails) *AdministrativeAction { - s.FailureDetails = v +// SetBackupId sets the BackupId field's value. +func (s *CreateFileSystemFromBackupInput) SetBackupId(v string) *CreateFileSystemFromBackupInput { + s.BackupId = &v return s } -// SetProgressPercent sets the ProgressPercent field's value. -func (s *AdministrativeAction) SetProgressPercent(v int64) *AdministrativeAction { - s.ProgressPercent = &v +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateFileSystemFromBackupInput) SetClientRequestToken(v string) *CreateFileSystemFromBackupInput { + s.ClientRequestToken = &v return s } -// SetRequestTime sets the RequestTime field's value. -func (s *AdministrativeAction) SetRequestTime(v time.Time) *AdministrativeAction { - s.RequestTime = &v +// SetFileSystemTypeVersion sets the FileSystemTypeVersion field's value. +func (s *CreateFileSystemFromBackupInput) SetFileSystemTypeVersion(v string) *CreateFileSystemFromBackupInput { + s.FileSystemTypeVersion = &v return s } -// SetStatus sets the Status field's value. -func (s *AdministrativeAction) SetStatus(v string) *AdministrativeAction { - s.Status = &v +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateFileSystemFromBackupInput) SetKmsKeyId(v string) *CreateFileSystemFromBackupInput { + s.KmsKeyId = &v return s } -// SetTargetFileSystemValues sets the TargetFileSystemValues field's value. -func (s *AdministrativeAction) SetTargetFileSystemValues(v *FileSystem) *AdministrativeAction { - s.TargetFileSystemValues = v +// SetLustreConfiguration sets the LustreConfiguration field's value. +func (s *CreateFileSystemFromBackupInput) SetLustreConfiguration(v *CreateFileSystemLustreConfiguration) *CreateFileSystemFromBackupInput { + s.LustreConfiguration = v return s } -// SetTargetVolumeValues sets the TargetVolumeValues field's value. -func (s *AdministrativeAction) SetTargetVolumeValues(v *Volume) *AdministrativeAction { - s.TargetVolumeValues = v +// SetOpenZFSConfiguration sets the OpenZFSConfiguration field's value. +func (s *CreateFileSystemFromBackupInput) SetOpenZFSConfiguration(v *CreateFileSystemOpenZFSConfiguration) *CreateFileSystemFromBackupInput { + s.OpenZFSConfiguration = v return s } -// Provides information about a failed administrative action. -type AdministrativeActionFailureDetails struct { - _ struct{} `type:"structure"` - - // Error message providing details about the failed administrative action. - Message *string `min:"1" type:"string"` +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *CreateFileSystemFromBackupInput) SetSecurityGroupIds(v []*string) *CreateFileSystemFromBackupInput { + s.SecurityGroupIds = v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AdministrativeActionFailureDetails) String() string { - return awsutil.Prettify(s) +// SetStorageType sets the StorageType field's value. +func (s *CreateFileSystemFromBackupInput) SetStorageType(v string) *CreateFileSystemFromBackupInput { + s.StorageType = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AdministrativeActionFailureDetails) GoString() string { - return s.String() +// SetSubnetIds sets the SubnetIds field's value. +func (s *CreateFileSystemFromBackupInput) SetSubnetIds(v []*string) *CreateFileSystemFromBackupInput { + s.SubnetIds = v + return s } -// SetMessage sets the Message field's value. -func (s *AdministrativeActionFailureDetails) SetMessage(v string) *AdministrativeActionFailureDetails { - s.Message = &v +// SetTags sets the Tags field's value. +func (s *CreateFileSystemFromBackupInput) SetTags(v []*Tag) *CreateFileSystemFromBackupInput { + s.Tags = v return s } -// A DNS alias that is associated with the file system. You can use a DNS alias -// to access a file system using user-defined DNS names, in addition to the -// default DNS name that Amazon FSx assigns to the file system. For more information, -// see DNS aliases (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html) -// in the FSx for Windows File Server User Guide. -type Alias struct { - _ struct{} `type:"structure"` - - // Describes the state of the DNS alias. - // - // * AVAILABLE - The DNS alias is associated with an Amazon FSx file system. - // - // * CREATING - Amazon FSx is creating the DNS alias and associating it with - // the file system. - // - // * CREATE_FAILED - Amazon FSx was unable to associate the DNS alias with - // the file system. - // - // * DELETING - Amazon FSx is disassociating the DNS alias from the file - // system and deleting it. - // - // * DELETE_FAILED - Amazon FSx was unable to disassociate the DNS alias - // from the file system. - Lifecycle *string `type:"string" enum:"AliasLifecycle"` +// SetWindowsConfiguration sets the WindowsConfiguration field's value. +func (s *CreateFileSystemFromBackupInput) SetWindowsConfiguration(v *CreateFileSystemWindowsConfiguration) *CreateFileSystemFromBackupInput { + s.WindowsConfiguration = v + return s +} - // The name of the DNS alias. The alias name has to meet the following requirements: - // - // * Formatted as a fully-qualified domain name (FQDN), hostname.domain, - // for example, accounting.example.com. - // - // * Can contain alphanumeric characters, the underscore (_), and the hyphen - // (-). - // - // * Cannot start or end with a hyphen. - // - // * Can start with a numeric. - // - // For DNS names, Amazon FSx stores alphabetic characters as lowercase letters - // (a-z), regardless of how you specify them: as uppercase letters, lowercase - // letters, or the corresponding letters in escape codes. - Name *string `min:"4" type:"string"` +// The response object for the CreateFileSystemFromBackup operation. +type CreateFileSystemFromBackupOutput struct { + _ struct{} `type:"structure"` + + // A description of the file system. + FileSystem *FileSystem `type:"structure"` } // String returns the string representation. @@ -3650,7 +6761,7 @@ type Alias 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 Alias) String() string { +func (s CreateFileSystemFromBackupOutput) String() string { return awsutil.Prettify(s) } @@ -3659,56 +6770,159 @@ func (s Alias) 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 Alias) GoString() string { +func (s CreateFileSystemFromBackupOutput) GoString() string { return s.String() } -// SetLifecycle sets the Lifecycle field's value. -func (s *Alias) SetLifecycle(v string) *Alias { - s.Lifecycle = &v - return s -} - -// SetName sets the Name field's value. -func (s *Alias) SetName(v string) *Alias { - s.Name = &v +// SetFileSystem sets the FileSystem field's value. +func (s *CreateFileSystemFromBackupOutput) SetFileSystem(v *FileSystem) *CreateFileSystemFromBackupOutput { + s.FileSystem = v return s } -// The request object specifying one or more DNS alias names to associate with -// an Amazon FSx for Windows File Server file system. -type AssociateFileSystemAliasesInput struct { +// The request object used to create a new Amazon FSx file system. +type CreateFileSystemInput struct { _ struct{} `type:"structure"` - // An array of one or more DNS alias names to associate with the file system. - // The alias name has to comply with the following formatting requirements: + // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent + // creation. This string is automatically filled on your behalf when you use + // the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The type of Amazon FSx file system to create. Valid values are WINDOWS, LUSTRE, + // ONTAP, and OPENZFS. // - // * Formatted as a fully-qualified domain name (FQDN), hostname.domain , - // for example, accounting.corp.example.com. + // FileSystemType is a required field + FileSystemType *string `type:"string" required:"true" enum:"FileSystemType"` + + // (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: // - // * Can contain alphanumeric characters and the hyphen (-). + // * 2.10 is supported by the Scratch and Persistent_1 Lustre deployment + // types. // - // * Cannot start or end with a hyphen. + // * 2.12 is supported by all Lustre deployment types. 2.12 is required when + // setting FSx for Lustre DeploymentType to PERSISTENT_2. // - // * Can start with a numeric. + // Default value = 2.10, except when DeploymentType is set to PERSISTENT_2, + // then the default is 2.12. // - // For DNS alias names, Amazon FSx stores alphabetic characters as lowercase - // letters (a-z), regardless of how you specify them: as uppercase letters, - // lowercase letters, or the corresponding letters in escape codes. + // If you set FileSystemTypeVersion to 2.10 for a PERSISTENT_2 Lustre deployment + // type, the CreateFileSystem operation fails. + FileSystemTypeVersion *string `min:"1" type:"string"` + + // The ID of the Key Management Service (KMS) key used to encrypt the file system's + // data for Amazon FSx for Windows File Server file systems, Amazon FSx for + // NetApp ONTAP file systems, and Amazon FSx for Lustre PERSISTENT_1 and PERSISTENT_2 + // file systems at rest. If this ID isn't specified, the key managed by Amazon + // FSx is used. The Amazon FSx for Lustre SCRATCH_1 and SCRATCH_2 file systems + // are always encrypted at rest using Amazon FSx-managed keys. For more information, + // see Encrypt (https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) + // in the Key Management Service API Reference. + KmsKeyId *string `min:"1" type:"string"` + + // The Lustre configuration for the file system being created. // - // Aliases is a required field - Aliases []*string `type:"list" required:"true"` + // The following parameters are not supported for file systems with the Persistent_2 + // deployment type. Instead, use CreateDataRepositoryAssociation to create a + // data repository association to link your Lustre file system to a data repository. + // + // * AutoImportPolicy + // + // * ExportPath + // + // * ImportedChunkSize + // + // * ImportPath + LustreConfiguration *CreateFileSystemLustreConfiguration `type:"structure"` - // (Optional) An idempotency token for resource creation, in a string of up - // to 64 ASCII characters. This token is automatically filled on your behalf - // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. - ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + // The ONTAP configuration properties of the FSx for ONTAP file system that + // you are creating. + OntapConfiguration *CreateFileSystemOntapConfiguration `type:"structure"` - // Specifies the file system with which you want to associate one or more DNS - // aliases. + // The OpenZFS configuration for the file system that's being created. + OpenZFSConfiguration *CreateFileSystemOpenZFSConfiguration `type:"structure"` + + // A list of IDs specifying the security groups to apply to all network interfaces + // created for file system access. This list isn't returned in later requests + // to describe the file system. + SecurityGroupIds []*string `type:"list"` + + // Sets the storage capacity of the file system that you're creating, in gibibytes + // (GiB). // - // FileSystemId is a required field - FileSystemId *string `min:"11" type:"string" required:"true"` + // 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: + // + // * For SCRATCH_2, PERSISTENT_2 and PERSISTENT_1 deployment types using + // SSD storage type, the valid values are 1200 GiB, 2400 GiB, and increments + // of 2400 GiB. + // + // * For PERSISTENT_1 HDD file systems, valid values are increments of 6000 + // GiB for 12 MB/s/TiB file systems and increments of 1800 GiB for 40 MB/s/TiB + // file systems. + // + // * For SCRATCH_1 deployment type, valid values are 1200 GiB, 2400 GiB, + // and increments of 3600 GiB. + // + // 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: + // + // * For SSD storage, valid values are 32 GiB-65,536 GiB (64 TiB). + // + // * For HDD storage, valid values are 2000 GiB-65,536 GiB (64 TiB). + // + // StorageCapacity is a required field + StorageCapacity *int64 `type:"integer" required:"true"` + + // Sets the storage type for the file system that you're creating. Valid values + // are SSD and HDD. + // + // * Set to SSD to use solid state drive storage. SSD is supported on all + // 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 + // 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) + // in the FSx for Windows File Server User Guide and Multiple storage options + // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html#storage-options) + // in the FSx for Lustre User Guide. + StorageType *string `type:"string" enum:"StorageType"` + + // Specifies the IDs of the subnets that the file system will be accessible + // from. For Windows and ONTAP MULTI_AZ_1 deployment types,provide exactly two + // subnet IDs, one for the preferred file server and one for the standby file + // server. You specify one of these subnets as the preferred subnet using the + // WindowsConfiguration > PreferredSubnetID or OntapConfiguration > PreferredSubnetID + // properties. For more information about Multi-AZ file system configuration, + // see Availability and durability: Single-AZ and Multi-AZ file systems (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html) + // in the Amazon FSx for Windows User Guide and Availability and durability + // (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/high-availability-multiAZ.html) + // in the Amazon FSx for ONTAP User Guide. + // + // For Windows SINGLE_AZ_1 and SINGLE_AZ_2 and all Lustre deployment types, + // provide exactly one subnet ID. The file server is launched in that subnet's + // Availability Zone. + // + // SubnetIds is a required field + SubnetIds []*string `type:"list" required:"true"` + + // The tags to apply to the file system that's being created. The key value + // of the Name tag appears in the console as the file system name. + Tags []*Tag `min:"1" type:"list"` + + // The Microsoft Windows configuration for the file system that's being created. + WindowsConfiguration *CreateFileSystemWindowsConfiguration `type:"structure"` } // String returns the string representation. @@ -3716,7 +6930,7 @@ type AssociateFileSystemAliasesInput 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 AssociateFileSystemAliasesInput) String() string { +func (s CreateFileSystemInput) String() string { return awsutil.Prettify(s) } @@ -3725,24 +6939,63 @@ func (s AssociateFileSystemAliasesInput) 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 AssociateFileSystemAliasesInput) GoString() string { +func (s CreateFileSystemInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AssociateFileSystemAliasesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AssociateFileSystemAliasesInput"} - if s.Aliases == nil { - invalidParams.Add(request.NewErrParamRequired("Aliases")) - } +func (s *CreateFileSystemInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemInput"} if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } - if s.FileSystemId == nil { - invalidParams.Add(request.NewErrParamRequired("FileSystemId")) + if s.FileSystemType == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemType")) } - if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { - invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) + if s.FileSystemTypeVersion != nil && len(*s.FileSystemTypeVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemTypeVersion", 1)) + } + if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + } + if s.StorageCapacity == nil { + invalidParams.Add(request.NewErrParamRequired("StorageCapacity")) + } + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.LustreConfiguration != nil { + if err := s.LustreConfiguration.Validate(); err != nil { + invalidParams.AddNested("LustreConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.OntapConfiguration != nil { + if err := s.OntapConfiguration.Validate(); err != nil { + invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.OpenZFSConfiguration != nil { + if err := s.OpenZFSConfiguration.Validate(); err != nil { + invalidParams.AddNested("OpenZFSConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.WindowsConfiguration != nil { + if err := s.WindowsConfiguration.Validate(); err != nil { + invalidParams.AddNested("WindowsConfiguration", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -3751,144 +7004,287 @@ func (s *AssociateFileSystemAliasesInput) Validate() error { return nil } -// SetAliases sets the Aliases field's value. -func (s *AssociateFileSystemAliasesInput) SetAliases(v []*string) *AssociateFileSystemAliasesInput { - s.Aliases = v +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *CreateFileSystemInput) SetClientRequestToken(v string) *CreateFileSystemInput { + s.ClientRequestToken = &v return s } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *AssociateFileSystemAliasesInput) SetClientRequestToken(v string) *AssociateFileSystemAliasesInput { - s.ClientRequestToken = &v +// SetFileSystemType sets the FileSystemType field's value. +func (s *CreateFileSystemInput) SetFileSystemType(v string) *CreateFileSystemInput { + s.FileSystemType = &v return s } -// SetFileSystemId sets the FileSystemId field's value. -func (s *AssociateFileSystemAliasesInput) SetFileSystemId(v string) *AssociateFileSystemAliasesInput { - s.FileSystemId = &v +// SetFileSystemTypeVersion sets the FileSystemTypeVersion field's value. +func (s *CreateFileSystemInput) SetFileSystemTypeVersion(v string) *CreateFileSystemInput { + s.FileSystemTypeVersion = &v return s } -// The system generated response showing the DNS aliases that Amazon FSx is -// attempting to associate with the file system. Use the API operation to monitor -// the status of the aliases Amazon FSx is associating with the file system. -// It can take up to 2.5 minutes for the alias status to change from CREATING -// to AVAILABLE. -type AssociateFileSystemAliasesOutput struct { - _ struct{} `type:"structure"` +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *CreateFileSystemInput) SetKmsKeyId(v string) *CreateFileSystemInput { + s.KmsKeyId = &v + return s +} - // An array of the DNS aliases that Amazon FSx is associating with the file - // system. - Aliases []*Alias `type:"list"` +// SetLustreConfiguration sets the LustreConfiguration field's value. +func (s *CreateFileSystemInput) SetLustreConfiguration(v *CreateFileSystemLustreConfiguration) *CreateFileSystemInput { + s.LustreConfiguration = v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AssociateFileSystemAliasesOutput) String() string { - return awsutil.Prettify(s) +// SetOntapConfiguration sets the OntapConfiguration field's value. +func (s *CreateFileSystemInput) SetOntapConfiguration(v *CreateFileSystemOntapConfiguration) *CreateFileSystemInput { + s.OntapConfiguration = v + return s +} + +// SetOpenZFSConfiguration sets the OpenZFSConfiguration field's value. +func (s *CreateFileSystemInput) SetOpenZFSConfiguration(v *CreateFileSystemOpenZFSConfiguration) *CreateFileSystemInput { + s.OpenZFSConfiguration = v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *CreateFileSystemInput) SetSecurityGroupIds(v []*string) *CreateFileSystemInput { + s.SecurityGroupIds = v + return s +} + +// SetStorageCapacity sets the StorageCapacity field's value. +func (s *CreateFileSystemInput) SetStorageCapacity(v int64) *CreateFileSystemInput { + s.StorageCapacity = &v + return s +} + +// SetStorageType sets the StorageType field's value. +func (s *CreateFileSystemInput) SetStorageType(v string) *CreateFileSystemInput { + s.StorageType = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AssociateFileSystemAliasesOutput) GoString() string { - return s.String() +// SetSubnetIds sets the SubnetIds field's value. +func (s *CreateFileSystemInput) SetSubnetIds(v []*string) *CreateFileSystemInput { + s.SubnetIds = v + return s } -// SetAliases sets the Aliases field's value. -func (s *AssociateFileSystemAliasesOutput) SetAliases(v []*Alias) *AssociateFileSystemAliasesOutput { - s.Aliases = v +// SetTags sets the Tags field's value. +func (s *CreateFileSystemInput) SetTags(v []*Tag) *CreateFileSystemInput { + s.Tags = v return s } -// A backup of an Amazon FSx for Windows File Server or Amazon FSx for Lustre -// file system, or of an Amazon FSx for NetApp ONTAP volume. -type Backup struct { +// SetWindowsConfiguration sets the WindowsConfiguration field's value. +func (s *CreateFileSystemInput) SetWindowsConfiguration(v *CreateFileSystemWindowsConfiguration) *CreateFileSystemInput { + s.WindowsConfiguration = v + return s +} + +// The Lustre configuration for the file system being created. +// +// The following parameters are not supported for file systems with the Persistent_2 +// deployment type. Instead, use CreateDataRepositoryAssociation to create a +// data repository association to link your Lustre file system to a data repository. +// +// * AutoImportPolicy +// +// * ExportPath +// +// * ImportedChunkSize +// +// * ImportPath +type CreateFileSystemLustreConfiguration struct { _ struct{} `type:"structure"` - // The ID of the backup. + // (Optional) Available with Scratch and Persistent_1 deployment types. When + // you create your file system, your existing S3 objects appear as file and + // directory listings. Use this property to choose how Amazon FSx keeps your + // file and directory listings up to date as you add or modify objects in your + // linked S3 bucket. AutoImportPolicy can have the following values: // - // BackupId is a required field - BackupId *string `min:"12" type:"string" required:"true"` - - // The time when a particular backup was created. + // * NONE - (Default) AutoImport is off. Amazon FSx only updates file and + // directory listings from the linked S3 bucket when the file system is created. + // FSx does not update file and directory listings for any new or changed + // objects after choosing this option. // - // CreationTime is a required field - CreationTime *time.Time `type:"timestamp" required:"true"` - - // The configuration of the self-managed Microsoft Active Directory (AD) to - // which the Windows File Server instance is joined. - DirectoryInformation *ActiveDirectoryBackupAttributes `type:"structure"` + // * NEW - AutoImport is on. Amazon FSx automatically imports directory listings + // of any new objects added to the linked S3 bucket that do not currently + // exist in the FSx file system. + // + // * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports file + // and directory listings of any new objects added to the S3 bucket and any + // existing objects that are changed in the S3 bucket after you choose this + // option. + // + // * NEW_CHANGED_DELETED - AutoImport is on. Amazon FSx automatically imports + // file and directory listings of any new objects added to the S3 bucket, + // any existing objects that are changed in the S3 bucket, and any objects + // that were deleted in the S3 bucket. + // + // For more information, see Automatically import updates from your S3 bucket + // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html). + // + // This parameter is not supported for file systems with the Persistent_2 deployment + // type. Instead, use CreateDataRepositoryAssociation" to create a data repository + // association to link your Lustre file system to a data repository. + AutoImportPolicy *string `type:"string" enum:"AutoImportPolicyType"` - // Details explaining any failures that occur when creating a backup. - FailureDetails *BackupFailureDetails `type:"structure"` + // The number of days to retain automatic backups. Setting this property to + // 0 disables automatic backups. You can retain automatic backups for a maximum + // of 90 days. The default is 0. + AutomaticBackupRetentionDays *int64 `type:"integer"` - // Metadata of the file system associated with the backup. This metadata is - // persisted even if the file system is deleted. + // (Optional) Not available for use with file systems that are linked to a data + // repository. A boolean flag indicating whether tags for the file system should + // be copied to backups. The default value is false. If CopyTagsToBackups is + // set to true, all file system tags are copied to all automatic and user-initiated + // backups when the user doesn't specify any backup-specific tags. If CopyTagsToBackups + // is set to true and you specify one or more backup tags, only the specified + // tags are copied to backups. If you specify one or more tags when creating + // a user-initiated backup, no tags are copied from the file system, regardless + // of this value. // - // FileSystem is a required field - FileSystem *FileSystem `type:"structure" required:"true"` + // (Default = false) + // + // For more information, see Working with backups (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html) + // in the Amazon FSx for Lustre User Guide. + CopyTagsToBackups *bool `type:"boolean"` - // The ID of the Key Management Service (KMS) key used to encrypt the backup - // of the Amazon FSx file system's data at rest. - KmsKeyId *string `min:"1" type:"string"` + // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of + // the day (0-23), and MM is the zero-padded minute of the hour. For example, + // 05:00 specifies 5 AM daily. + DailyAutomaticBackupStartTime *string `min:"5" type:"string"` - // The lifecycle status of the backup. - // - // * AVAILABLE - The backup is fully available. + // Sets the data compression configuration for the file system. DataCompressionType + // can have the following values: // - // * PENDING - For user-initiated backups on Lustre file systems only; Amazon - // FSx has not started creating the backup. + // * NONE - (Default) Data compression is turned off when the file system + // is created. // - // * CREATING - Amazon FSx is creating the backup. + // * LZ4 - Data compression is turned on with the LZ4 algorithm. // - // * TRANSFERRING - For user-initiated backups on Lustre file systems only; - // Amazon FSx is transferring the backup to S3. + // For more information, see Lustre data compression (https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html) + // in the Amazon FSx for Lustre User Guide. + DataCompressionType *string `type:"string" enum:"DataCompressionType"` + + // (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. // - // * COPYING - Amazon FSx is copying the backup. + // 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 (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-fsx-lustre.html#lustre-deployment-types) + // in the Amazon FSx for Lustre User Guide. // - // * DELETED - Amazon FSx deleted the backup and it is no longer available. + // If you choose PERSISTENT_2, and you set FileSystemTypeVersion to 2.10, the + // CreateFileSystem operation fails. // - // * FAILED - Amazon FSx could not complete the backup. + // 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 (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data- + // protection.html) 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 (https://docs.aws.amazon.com/fsx/latest/LustreGuide/encryption-in-transit-fsxl.html) + // in the Amazon FSx for Lustre User Guide. // - // Lifecycle is a required field - Lifecycle *string `type:"string" required:"true" enum:"BackupLifecycle"` - - // An Amazon Web Services account ID. This ID is a 12-digit number that you - // use to construct Amazon Resource Names (ARNs) for resources. - OwnerId *string `min:"12" type:"string"` - - // The current percent of progress of an asynchronous task. - ProgressPercent *int64 `type:"integer"` + // (Default = SCRATCH_1) + DeploymentType *string `type:"string" enum:"LustreDeploymentType"` - // The Amazon Resource Name (ARN) for the backup resource. - ResourceARN *string `min:"8" type:"string"` + // The type of drive cache used by PERSISTENT_1 file systems that are provisioned + // with HDD storage devices. This parameter is required when storage type is + // HDD. Set this property to READ to improve the performance for frequently + // accessed files by caching up to 20% of the total storage capacity of the + // file system. + // + // This parameter is required when StorageType is set to HDD. + DriveCacheType *string `type:"string" enum:"DriveCacheType"` - // Specifies the resource type that is backed up. - ResourceType *string `type:"string" enum:"ResourceType"` + // (Optional) Available with Scratch and Persistent_1 deployment types. Specifies + // the path in the Amazon S3 bucket where the root of your Amazon FSx file system + // is exported. The path must use the same Amazon S3 bucket as specified in + // ImportPath. You can provide an optional prefix to which new and changed data + // is to be exported from your Amazon FSx for Lustre file system. If an ExportPath + // value is not provided, Amazon FSx sets a default export path, s3://import-bucket/FSxLustre[creation-timestamp]. + // The timestamp is in UTC format, for example s3://import-bucket/FSxLustre20181105T222312Z. + // + // The Amazon S3 export bucket must be the same as the import bucket specified + // by ImportPath. If you specify only a bucket name, such as s3://import-bucket, + // you get a 1:1 mapping of file system objects to S3 bucket objects. This mapping + // means that the input data in S3 is overwritten on export. If you provide + // a custom prefix in the export path, such as s3://import-bucket/[custom-optional-prefix], + // Amazon FSx exports the contents of your file system to that export prefix + // in the Amazon S3 bucket. + // + // This parameter is not supported for file systems with the Persistent_2 deployment + // type. Instead, use CreateDataRepositoryAssociation to create a data repository + // association to link your Lustre file system to a data repository. + ExportPath *string `min:"3" type:"string"` - // The ID of the source backup. Specifies the backup you are copying. - SourceBackupId *string `min:"12" type:"string"` + // (Optional) The path to the Amazon S3 bucket (including the optional prefix) + // that you're using as the data repository for your Amazon FSx for Lustre file + // system. The root of your FSx for Lustre file system will be mapped to the + // root of the Amazon S3 bucket you select. An example is s3://import-bucket/optional-prefix. + // If you specify a prefix after the Amazon S3 bucket name, only object keys + // with that prefix are loaded into the file system. + // + // This parameter is not supported for file systems with the Persistent_2 deployment + // type. Instead, use CreateDataRepositoryAssociation to create a data repository + // association to link your Lustre file system to a data repository. + ImportPath *string `min:"3" type:"string"` - // The source Region of the backup. Specifies the Region from where this backup - // is copied. - SourceBackupRegion *string `min:"1" type:"string"` + // (Optional) For files imported from a data repository, this value determines + // the stripe count and maximum amount of data per file (in MiB) stored on a + // single physical disk. The maximum number of disks that a single file can + // be striped across is limited by the total number of disks that make up the + // file system. + // + // The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 + // MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB. + // + // This parameter is not supported for file systems with the Persistent_2 deployment + // type. Instead, use CreateDataRepositoryAssociation to create a data repository + // association to link your Lustre file system to a data repository. + ImportedFileChunkSize *int64 `min:"1" type:"integer"` - // Tags associated with a particular file system. - Tags []*Tag `min:"1" type:"list"` + // The Lustre logging configuration used when creating an Amazon FSx for Lustre + // file system. When logging is enabled, Lustre logs error and warning events + // for data repositories associated with your file system to Amazon CloudWatch + // Logs. + LogConfiguration *LustreLogCreateConfiguration `type:"structure"` - // The type of the file system backup. + // Required with PERSISTENT_1 and PERSISTENT_2 deployment types, provisions + // the amount of read and write throughput for each 1 tebibyte (TiB) of file + // system storage capacity, in MB/s/TiB. File system throughput capacity is + // calculated by multiplying file system storage capacity (TiB) by the PerUnitStorageThroughput + // (MB/s/TiB). For a 2.4-TiB file system, provisioning 50 MB/s/TiB of PerUnitStorageThroughput + // yields 120 MB/s of file system throughput. You pay for the amount of throughput + // that you provision. // - // Type is a required field - Type *string `type:"string" required:"true" enum:"BackupType"` + // Valid values: + // + // * For PERSISTENT_1 SSD storage: 50, 100, 200 MB/s/TiB. + // + // * For PERSISTENT_1 HDD storage: 12, 40 MB/s/TiB. + // + // * For PERSISTENT_2 SSD storage: 125, 250, 500, 1000 MB/s/TiB. + PerUnitStorageThroughput *int64 `min:"12" type:"integer"` - // Describes an Amazon FSx for NetApp ONTAP volume. - Volume *Volume `type:"structure"` + // (Optional) The preferred start time to perform weekly maintenance, formatted + // d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through + // 7, beginning with Monday and ending with Sunday. + WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } // String returns the string representation. @@ -3896,7 +7292,7 @@ type Backup 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 Backup) String() string { +func (s CreateFileSystemLustreConfiguration) String() string { return awsutil.Prettify(s) } @@ -3905,116 +7301,185 @@ func (s Backup) 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 Backup) GoString() string { +func (s CreateFileSystemLustreConfiguration) GoString() string { return s.String() } -// SetBackupId sets the BackupId field's value. -func (s *Backup) SetBackupId(v string) *Backup { - s.BackupId = &v - return s -} - -// SetCreationTime sets the CreationTime field's value. -func (s *Backup) SetCreationTime(v time.Time) *Backup { - s.CreationTime = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFileSystemLustreConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemLustreConfiguration"} + if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { + invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) + } + if s.ExportPath != nil && len(*s.ExportPath) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ExportPath", 3)) + } + if s.ImportPath != nil && len(*s.ImportPath) < 3 { + invalidParams.Add(request.NewErrParamMinLen("ImportPath", 3)) + } + if s.ImportedFileChunkSize != nil && *s.ImportedFileChunkSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("ImportedFileChunkSize", 1)) + } + if s.PerUnitStorageThroughput != nil && *s.PerUnitStorageThroughput < 12 { + invalidParams.Add(request.NewErrParamMinValue("PerUnitStorageThroughput", 12)) + } + if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { + invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) + } + if s.LogConfiguration != nil { + if err := s.LogConfiguration.Validate(); err != nil { + invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams)) + } + } -// SetDirectoryInformation sets the DirectoryInformation field's value. -func (s *Backup) SetDirectoryInformation(v *ActiveDirectoryBackupAttributes) *Backup { - s.DirectoryInformation = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetFailureDetails sets the FailureDetails field's value. -func (s *Backup) SetFailureDetails(v *BackupFailureDetails) *Backup { - s.FailureDetails = v +// SetAutoImportPolicy sets the AutoImportPolicy field's value. +func (s *CreateFileSystemLustreConfiguration) SetAutoImportPolicy(v string) *CreateFileSystemLustreConfiguration { + s.AutoImportPolicy = &v return s } -// SetFileSystem sets the FileSystem field's value. -func (s *Backup) SetFileSystem(v *FileSystem) *Backup { - s.FileSystem = v +// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. +func (s *CreateFileSystemLustreConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemLustreConfiguration { + s.AutomaticBackupRetentionDays = &v return s } -// SetKmsKeyId sets the KmsKeyId field's value. -func (s *Backup) SetKmsKeyId(v string) *Backup { - s.KmsKeyId = &v +// SetCopyTagsToBackups sets the CopyTagsToBackups field's value. +func (s *CreateFileSystemLustreConfiguration) SetCopyTagsToBackups(v bool) *CreateFileSystemLustreConfiguration { + s.CopyTagsToBackups = &v return s } -// SetLifecycle sets the Lifecycle field's value. -func (s *Backup) SetLifecycle(v string) *Backup { - s.Lifecycle = &v +// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. +func (s *CreateFileSystemLustreConfiguration) SetDailyAutomaticBackupStartTime(v string) *CreateFileSystemLustreConfiguration { + s.DailyAutomaticBackupStartTime = &v return s } -// SetOwnerId sets the OwnerId field's value. -func (s *Backup) SetOwnerId(v string) *Backup { - s.OwnerId = &v +// SetDataCompressionType sets the DataCompressionType field's value. +func (s *CreateFileSystemLustreConfiguration) SetDataCompressionType(v string) *CreateFileSystemLustreConfiguration { + s.DataCompressionType = &v return s } -// SetProgressPercent sets the ProgressPercent field's value. -func (s *Backup) SetProgressPercent(v int64) *Backup { - s.ProgressPercent = &v +// SetDeploymentType sets the DeploymentType field's value. +func (s *CreateFileSystemLustreConfiguration) SetDeploymentType(v string) *CreateFileSystemLustreConfiguration { + s.DeploymentType = &v return s } -// SetResourceARN sets the ResourceARN field's value. -func (s *Backup) SetResourceARN(v string) *Backup { - s.ResourceARN = &v +// SetDriveCacheType sets the DriveCacheType field's value. +func (s *CreateFileSystemLustreConfiguration) SetDriveCacheType(v string) *CreateFileSystemLustreConfiguration { + s.DriveCacheType = &v return s } -// SetResourceType sets the ResourceType field's value. -func (s *Backup) SetResourceType(v string) *Backup { - s.ResourceType = &v +// SetExportPath sets the ExportPath field's value. +func (s *CreateFileSystemLustreConfiguration) SetExportPath(v string) *CreateFileSystemLustreConfiguration { + s.ExportPath = &v return s } -// SetSourceBackupId sets the SourceBackupId field's value. -func (s *Backup) SetSourceBackupId(v string) *Backup { - s.SourceBackupId = &v +// SetImportPath sets the ImportPath field's value. +func (s *CreateFileSystemLustreConfiguration) SetImportPath(v string) *CreateFileSystemLustreConfiguration { + s.ImportPath = &v return s } -// SetSourceBackupRegion sets the SourceBackupRegion field's value. -func (s *Backup) SetSourceBackupRegion(v string) *Backup { - s.SourceBackupRegion = &v +// SetImportedFileChunkSize sets the ImportedFileChunkSize field's value. +func (s *CreateFileSystemLustreConfiguration) SetImportedFileChunkSize(v int64) *CreateFileSystemLustreConfiguration { + s.ImportedFileChunkSize = &v return s } -// SetTags sets the Tags field's value. -func (s *Backup) SetTags(v []*Tag) *Backup { - s.Tags = v +// SetLogConfiguration sets the LogConfiguration field's value. +func (s *CreateFileSystemLustreConfiguration) SetLogConfiguration(v *LustreLogCreateConfiguration) *CreateFileSystemLustreConfiguration { + s.LogConfiguration = v return s } -// SetType sets the Type field's value. -func (s *Backup) SetType(v string) *Backup { - s.Type = &v +// SetPerUnitStorageThroughput sets the PerUnitStorageThroughput field's value. +func (s *CreateFileSystemLustreConfiguration) SetPerUnitStorageThroughput(v int64) *CreateFileSystemLustreConfiguration { + s.PerUnitStorageThroughput = &v return s } -// SetVolume sets the Volume field's value. -func (s *Backup) SetVolume(v *Volume) *Backup { - s.Volume = v +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *CreateFileSystemLustreConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileSystemLustreConfiguration { + s.WeeklyMaintenanceStartTime = &v return s } -// You can't delete a backup while it's being copied. -type BackupBeingCopied struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// The ONTAP configuration properties of the FSx for ONTAP file system that +// you are creating. +type CreateFileSystemOntapConfiguration struct { + _ struct{} `type:"structure"` - // The ID of the source backup. Specifies the backup you are copying. - BackupId *string `min:"12" type:"string"` + // The number of days to retain automatic backups. Setting this property to + // 0 disables automatic backups. You can retain automatic backups for a maximum + // of 90 days. The default is 0. + AutomaticBackupRetentionDays *int64 `type:"integer"` - // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` + // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of + // the day (0-23), and MM is the zero-padded minute of the hour. For example, + // 05:00 specifies 5 AM daily. + DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + + // Specifies the FSx for ONTAP file system deployment type to use in creating + // the file system. MULTI_AZ_1 is the supported ONTAP deployment type. + // + // DeploymentType is a required field + DeploymentType *string `type:"string" required:"true" enum:"OntapDeploymentType"` + + // The SSD IOPS configuration for the FSx for ONTAP file system. + DiskIopsConfiguration *DiskIopsConfiguration `type:"structure"` + + // Specifies the IP address range in which the endpoints to access your file + // system will be created. By default, Amazon FSx selects an unused IP address + // range for you from the 198.19.* range. + EndpointIpAddressRange *string `min:"9" type:"string"` + + // The ONTAP administrative password for the fsxadmin user with which you administer + // your file system using the NetApp ONTAP CLI and REST API. + // + // FsxAdminPassword is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateFileSystemOntapConfiguration's + // String and GoString methods. + FsxAdminPassword *string `min:"8" type:"string" sensitive:"true"` + + // Required when DeploymentType is set to MULTI_AZ_1. This specifies the subnet + // in which you want the preferred file server to be located. + PreferredSubnetId *string `min:"15" type:"string"` + + // Specifies the virtual private cloud (VPC) route tables in which your file + // system's endpoints will be created. You should specify all VPC route tables + // associated with the subnets in which your clients are located. By default, + // Amazon FSx selects your VPC's default route table. + RouteTableIds []*string `type:"list"` + + // Sets the throughput capacity for the file system that you're creating. Valid + // values are 512, 1024, and 2048 MBps. + // + // ThroughputCapacity is a required field + ThroughputCapacity *int64 `min:"8" type:"integer" required:"true"` + + // A recurring weekly time, in the format D:HH:MM. + // + // D is the day of the week, for which 1 represents Monday and 7 represents + // Sunday. For further details, see the ISO-8601 spec as described on Wikipedia + // (https://en.wikipedia.org/wiki/ISO_week_date). + // + // HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute + // of the hour. + // + // For example, 1:05:00 specifies maintenance at 5 AM Monday. + WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } // String returns the string representation. @@ -4022,7 +7487,7 @@ type BackupBeingCopied 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 BackupBeingCopied) String() string { +func (s CreateFileSystemOntapConfiguration) String() string { return awsutil.Prettify(s) } @@ -4031,153 +7496,172 @@ func (s BackupBeingCopied) 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 BackupBeingCopied) GoString() string { +func (s CreateFileSystemOntapConfiguration) GoString() string { return s.String() } -func newErrorBackupBeingCopied(v protocol.ResponseMetadata) error { - return &BackupBeingCopied{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFileSystemOntapConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemOntapConfiguration"} + if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { + invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) } -} - -// Code returns the exception type name. -func (s *BackupBeingCopied) Code() string { - return "BackupBeingCopied" -} - -// Message returns the exception's message. -func (s *BackupBeingCopied) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.DeploymentType == nil { + invalidParams.Add(request.NewErrParamRequired("DeploymentType")) + } + if s.EndpointIpAddressRange != nil && len(*s.EndpointIpAddressRange) < 9 { + invalidParams.Add(request.NewErrParamMinLen("EndpointIpAddressRange", 9)) + } + if s.FsxAdminPassword != nil && len(*s.FsxAdminPassword) < 8 { + invalidParams.Add(request.NewErrParamMinLen("FsxAdminPassword", 8)) + } + if s.PreferredSubnetId != nil && len(*s.PreferredSubnetId) < 15 { + invalidParams.Add(request.NewErrParamMinLen("PreferredSubnetId", 15)) + } + if s.ThroughputCapacity == nil { + invalidParams.Add(request.NewErrParamRequired("ThroughputCapacity")) + } + if s.ThroughputCapacity != nil && *s.ThroughputCapacity < 8 { + invalidParams.Add(request.NewErrParamMinValue("ThroughputCapacity", 8)) + } + if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { + invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *BackupBeingCopied) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *BackupBeingCopied) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. +func (s *CreateFileSystemOntapConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemOntapConfiguration { + s.AutomaticBackupRetentionDays = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *BackupBeingCopied) StatusCode() int { - return s.RespMetadata.StatusCode +// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. +func (s *CreateFileSystemOntapConfiguration) SetDailyAutomaticBackupStartTime(v string) *CreateFileSystemOntapConfiguration { + s.DailyAutomaticBackupStartTime = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *BackupBeingCopied) RequestID() string { - return s.RespMetadata.RequestID +// SetDeploymentType sets the DeploymentType field's value. +func (s *CreateFileSystemOntapConfiguration) SetDeploymentType(v string) *CreateFileSystemOntapConfiguration { + s.DeploymentType = &v + return s } -// If backup creation fails, this structure contains the details of that failure. -type BackupFailureDetails struct { - _ struct{} `type:"structure"` - - // A message describing the backup creation failure. - Message *string `min:"1" type:"string"` +// SetDiskIopsConfiguration sets the DiskIopsConfiguration field's value. +func (s *CreateFileSystemOntapConfiguration) SetDiskIopsConfiguration(v *DiskIopsConfiguration) *CreateFileSystemOntapConfiguration { + s.DiskIopsConfiguration = v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BackupFailureDetails) String() string { - return awsutil.Prettify(s) +// SetEndpointIpAddressRange sets the EndpointIpAddressRange field's value. +func (s *CreateFileSystemOntapConfiguration) SetEndpointIpAddressRange(v string) *CreateFileSystemOntapConfiguration { + s.EndpointIpAddressRange = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BackupFailureDetails) GoString() string { - return s.String() +// SetFsxAdminPassword sets the FsxAdminPassword field's value. +func (s *CreateFileSystemOntapConfiguration) SetFsxAdminPassword(v string) *CreateFileSystemOntapConfiguration { + s.FsxAdminPassword = &v + return s } -// SetMessage sets the Message field's value. -func (s *BackupFailureDetails) SetMessage(v string) *BackupFailureDetails { - s.Message = &v +// SetPreferredSubnetId sets the PreferredSubnetId field's value. +func (s *CreateFileSystemOntapConfiguration) SetPreferredSubnetId(v string) *CreateFileSystemOntapConfiguration { + s.PreferredSubnetId = &v return s } -// Another backup is already under way. Wait for completion before initiating -// additional backups of this file system. -type BackupInProgress struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` +// SetRouteTableIds sets the RouteTableIds field's value. +func (s *CreateFileSystemOntapConfiguration) SetRouteTableIds(v []*string) *CreateFileSystemOntapConfiguration { + s.RouteTableIds = v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BackupInProgress) String() string { - return awsutil.Prettify(s) +// SetThroughputCapacity sets the ThroughputCapacity field's value. +func (s *CreateFileSystemOntapConfiguration) SetThroughputCapacity(v int64) *CreateFileSystemOntapConfiguration { + s.ThroughputCapacity = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s BackupInProgress) GoString() string { - return s.String() +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *CreateFileSystemOntapConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileSystemOntapConfiguration { + s.WeeklyMaintenanceStartTime = &v + return s } -func newErrorBackupInProgress(v protocol.ResponseMetadata) error { - return &BackupInProgress{ - RespMetadata: v, - } -} +// The OpenZFS configuration properties for the file system that you are creating. +type CreateFileSystemOpenZFSConfiguration struct { + _ struct{} `type:"structure"` -// Code returns the exception type name. -func (s *BackupInProgress) Code() string { - return "BackupInProgress" -} + // The number of days to retain automatic backups. Setting this property to + // 0 disables automatic backups. You can retain automatic backups for a maximum + // of 90 days. The default is 0. + AutomaticBackupRetentionDays *int64 `type:"integer"` -// Message returns the exception's message. -func (s *BackupInProgress) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} + // A Boolean value indicating whether tags for the file system should be copied + // to backups. This value defaults to false. If it's set to true, all tags for + // the file system are copied to all automatic and user-initiated backups where + // the user doesn't specify tags. If this value is true, and you specify one + // or more tags, only the specified tags are copied to backups. If you specify + // one or more tags when creating a user-initiated backup, no tags are copied + // from the file system, regardless of this value. + CopyTagsToBackups *bool `type:"boolean"` -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *BackupInProgress) OrigErr() error { - return nil -} + // A Boolean value indicating whether tags for the volume should be copied to + // snapshots. This value defaults to false. If it's set to true, all tags for + // the volume are copied to snapshots where the user doesn't specify tags. If + // this value is true, and you specify one or more tags, only the specified + // tags are copied to snapshots. If you specify one or more tags when creating + // the snapshot, no tags are copied from the volume, regardless of this value. + CopyTagsToVolumes *bool `type:"boolean"` + + // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of + // the day (0-23), and MM is the zero-padded minute of the hour. For example, + // 05:00 specifies 5 AM daily. + DailyAutomaticBackupStartTime *string `min:"5" type:"string"` -func (s *BackupInProgress) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} + // Specifies the file system deployment type. Amazon FSx for OpenZFS supports + // SINGLE_AZ_1. SINGLE_AZ_1 is a file system configured for a single Availability + // Zone (AZ) of redundancy. + // + // DeploymentType is a required field + DeploymentType *string `type:"string" required:"true" enum:"OpenZFSDeploymentType"` -// Status code returns the HTTP status code for the request's response error. -func (s *BackupInProgress) StatusCode() int { - return s.RespMetadata.StatusCode -} + // The SSD IOPS (input/output operations per second) configuration for an Amazon + // FSx for NetApp ONTAP or Amazon FSx for OpenZFS 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 the total number of provisioned + // SSD IOPS and how the amount was provisioned (by the customer or by the system). + DiskIopsConfiguration *DiskIopsConfiguration `type:"structure"` -// RequestID returns the service's response RequestID for request. -func (s *BackupInProgress) RequestID() string { - return s.RespMetadata.RequestID -} + // The configuration Amazon FSx uses when creating the root value of the Amazon + // FSx for OpenZFS file system. All volumes are children of the root volume. + RootVolumeConfiguration *OpenZFSCreateRootVolumeConfiguration `type:"structure"` -// No Amazon FSx backups were found based upon the supplied parameters. -type BackupNotFound struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // 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. + // + // ThroughputCapacity is a required field + ThroughputCapacity *int64 `min:"8" type:"integer" required:"true"` - // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` + // A recurring weekly time, in the format D:HH:MM. + // + // D is the day of the week, for which 1 represents Monday and 7 represents + // Sunday. For further details, see the ISO-8601 spec as described on Wikipedia + // (https://en.wikipedia.org/wiki/ISO_week_date). + // + // HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute + // of the hour. + // + // For example, 1:05:00 specifies maintenance at 5 AM Monday. + WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } // String returns the string representation. @@ -4185,7 +7669,7 @@ type BackupNotFound 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 BackupNotFound) String() string { +func (s CreateFileSystemOpenZFSConfiguration) String() string { return awsutil.Prettify(s) } @@ -4194,58 +7678,100 @@ func (s BackupNotFound) 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 BackupNotFound) GoString() string { +func (s CreateFileSystemOpenZFSConfiguration) GoString() string { return s.String() } -func newErrorBackupNotFound(v protocol.ResponseMetadata) error { - return &BackupNotFound{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFileSystemOpenZFSConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemOpenZFSConfiguration"} + if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { + invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) + } + if s.DeploymentType == nil { + invalidParams.Add(request.NewErrParamRequired("DeploymentType")) + } + if s.ThroughputCapacity == nil { + invalidParams.Add(request.NewErrParamRequired("ThroughputCapacity")) } + if s.ThroughputCapacity != nil && *s.ThroughputCapacity < 8 { + invalidParams.Add(request.NewErrParamMinValue("ThroughputCapacity", 8)) + } + if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { + invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) + } + if s.RootVolumeConfiguration != nil { + if err := s.RootVolumeConfiguration.Validate(); err != nil { + invalidParams.AddNested("RootVolumeConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// Code returns the exception type name. -func (s *BackupNotFound) Code() string { - return "BackupNotFound" +// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. +func (s *CreateFileSystemOpenZFSConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemOpenZFSConfiguration { + s.AutomaticBackupRetentionDays = &v + return s } -// Message returns the exception's message. -func (s *BackupNotFound) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetCopyTagsToBackups sets the CopyTagsToBackups field's value. +func (s *CreateFileSystemOpenZFSConfiguration) SetCopyTagsToBackups(v bool) *CreateFileSystemOpenZFSConfiguration { + s.CopyTagsToBackups = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *BackupNotFound) OrigErr() error { - return nil +// SetCopyTagsToVolumes sets the CopyTagsToVolumes field's value. +func (s *CreateFileSystemOpenZFSConfiguration) SetCopyTagsToVolumes(v bool) *CreateFileSystemOpenZFSConfiguration { + s.CopyTagsToVolumes = &v + return s } -func (s *BackupNotFound) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. +func (s *CreateFileSystemOpenZFSConfiguration) SetDailyAutomaticBackupStartTime(v string) *CreateFileSystemOpenZFSConfiguration { + s.DailyAutomaticBackupStartTime = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *BackupNotFound) StatusCode() int { - return s.RespMetadata.StatusCode +// SetDeploymentType sets the DeploymentType field's value. +func (s *CreateFileSystemOpenZFSConfiguration) SetDeploymentType(v string) *CreateFileSystemOpenZFSConfiguration { + s.DeploymentType = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *BackupNotFound) RequestID() string { - return s.RespMetadata.RequestID +// SetDiskIopsConfiguration sets the DiskIopsConfiguration field's value. +func (s *CreateFileSystemOpenZFSConfiguration) SetDiskIopsConfiguration(v *DiskIopsConfiguration) *CreateFileSystemOpenZFSConfiguration { + s.DiskIopsConfiguration = v + return s } -// You can't delete a backup while it's being used to restore a file system. -type BackupRestoring struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetRootVolumeConfiguration sets the RootVolumeConfiguration field's value. +func (s *CreateFileSystemOpenZFSConfiguration) SetRootVolumeConfiguration(v *OpenZFSCreateRootVolumeConfiguration) *CreateFileSystemOpenZFSConfiguration { + s.RootVolumeConfiguration = v + return s +} - // The ID of a file system being restored from the backup. - FileSystemId *string `min:"11" type:"string"` +// SetThroughputCapacity sets the ThroughputCapacity field's value. +func (s *CreateFileSystemOpenZFSConfiguration) SetThroughputCapacity(v int64) *CreateFileSystemOpenZFSConfiguration { + s.ThroughputCapacity = &v + return s +} - // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *CreateFileSystemOpenZFSConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileSystemOpenZFSConfiguration { + s.WeeklyMaintenanceStartTime = &v + return s +} + +// The response object returned after the file system is created. +type CreateFileSystemOutput struct { + _ struct{} `type:"structure"` + + // The configuration of the file system that was created. + FileSystem *FileSystem `type:"structure"` } // String returns the string representation. @@ -4253,7 +7779,7 @@ type BackupRestoring 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 BackupRestoring) String() string { +func (s CreateFileSystemOutput) String() string { return awsutil.Prettify(s) } @@ -4262,55 +7788,122 @@ func (s BackupRestoring) 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 BackupRestoring) GoString() string { +func (s CreateFileSystemOutput) GoString() string { return s.String() } -func newErrorBackupRestoring(v protocol.ResponseMetadata) error { - return &BackupRestoring{ - RespMetadata: v, - } +// SetFileSystem sets the FileSystem field's value. +func (s *CreateFileSystemOutput) SetFileSystem(v *FileSystem) *CreateFileSystemOutput { + s.FileSystem = v + return s } -// Code returns the exception type name. -func (s *BackupRestoring) Code() string { - return "BackupRestoring" -} +// The configuration object for the Microsoft Windows file system used in CreateFileSystem +// and CreateFileSystemFromBackup operations. +type CreateFileSystemWindowsConfiguration struct { + _ struct{} `type:"structure"` -// Message returns the exception's message. -func (s *BackupRestoring) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} + // The ID for an existing Amazon Web Services Managed Microsoft Active Directory + // (AD) instance that the file system should join when it's created. + ActiveDirectoryId *string `min:"12" type:"string"` -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *BackupRestoring) OrigErr() error { - return nil -} + // An array of one or more DNS alias names that you want to associate with the + // Amazon FSx file system. Aliases allow you to use existing DNS names to access + // the data in your Amazon FSx file system. You can associate up to 50 aliases + // with a file system at any time. You can associate additional DNS aliases + // after you create the file system using the AssociateFileSystemAliases operation. + // You can remove DNS aliases from the file system after it is created using + // the DisassociateFileSystemAliases operation. You only need to specify the + // alias name in the request payload. + // + // For more information, see Working with DNS Aliases (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html) + // and Walkthrough 5: Using DNS aliases to access your file system (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/walkthrough05-file-system-custom-CNAME.html), + // including additional steps you must take to be able to access your file system + // using a DNS alias. + // + // An alias name has to meet the following requirements: + // + // * Formatted as a fully-qualified domain name (FQDN), hostname.domain, + // for example, accounting.example.com. + // + // * Can contain alphanumeric characters, the underscore (_), and the hyphen + // (-). + // + // * Cannot start or end with a hyphen. + // + // * Can start with a numeric. + // + // For DNS alias names, Amazon FSx stores alphabetic characters as lowercase + // letters (a-z), regardless of how you specify them: as uppercase letters, + // lowercase letters, or the corresponding letters in escape codes. + Aliases []*string `type:"list"` -func (s *BackupRestoring) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) -} + // The configuration that Amazon FSx for Windows File Server uses to audit and + // log user accesses of files, folders, and file shares on the Amazon FSx for + // Windows File Server file system. + AuditLogConfiguration *WindowsAuditLogCreateConfiguration `type:"structure"` -// Status code returns the HTTP status code for the request's response error. -func (s *BackupRestoring) StatusCode() int { - return s.RespMetadata.StatusCode -} + // The number of days to retain automatic backups. The default is to retain + // backups for 7 days. Setting this value to 0 disables the creation of automatic + // backups. The maximum retention period for backups is 90 days. + AutomaticBackupRetentionDays *int64 `type:"integer"` -// RequestID returns the service's response RequestID for request. -func (s *BackupRestoring) RequestID() string { - return s.RespMetadata.RequestID -} + // A boolean flag indicating whether tags for the file system should be copied + // to backups. This value defaults to false. If it's set to true, all tags for + // the file system are copied to all automatic and user-initiated backups where + // the user doesn't specify tags. If this value is true, and you specify one + // or more tags, only the specified tags are copied to backups. If you specify + // one or more tags when creating a user-initiated backup, no tags are copied + // from the file system, regardless of this value. + CopyTagsToBackups *bool `type:"boolean"` -// A generic error indicating a failure with a client request. -type BadRequest struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The preferred time to take daily automatic backups, formatted HH:MM in the + // UTC time zone. + DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + + // Specifies the file system deployment type, valid values are the following: + // + // * MULTI_AZ_1 - Deploys a high availability file system that is configured + // for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ) unavailability. + // You can only deploy a Multi-AZ file system in Amazon Web Services Regions + // that have a minimum of three Availability Zones. Also supports HDD storage + // type + // + // * SINGLE_AZ_1 - (Default) Choose to deploy a file system that is configured + // for single AZ redundancy. + // + // * SINGLE_AZ_2 - The latest generation Single AZ file system. Specifies + // a file system that is configured for single AZ redundancy and supports + // HDD storage type. + // + // For more information, see Availability and Durability: Single-AZ and Multi-AZ + // File Systems (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html). + DeploymentType *string `type:"string" enum:"WindowsDeploymentType"` + + // Required when DeploymentType is set to MULTI_AZ_1. This specifies the subnet + // in which you want the preferred file server to be located. For in-Amazon + // Web Services applications, we recommend that you launch your clients in the + // same Availability Zone (AZ) as your preferred file server to reduce cross-AZ + // data transfer costs and minimize latency. + PreferredSubnetId *string `min:"15" type:"string"` + + // The configuration that Amazon FSx uses to join a FSx for Windows File Server + // file system or an ONTAP storage virtual machine (SVM) to a self-managed (including + // on-premises) Microsoft Active Directory (AD) directory. For more information, + // see Using Amazon FSx with your self-managed Microsoft Active Directory (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/self-managed-AD.html) + // or Managing SVMs (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html). + SelfManagedActiveDirectoryConfiguration *SelfManagedActiveDirectoryConfiguration `type:"structure"` + + // 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). + // + // ThroughputCapacity is a required field + ThroughputCapacity *int64 `min:"8" type:"integer" required:"true"` - // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` + // The preferred start time to perform weekly maintenance, formatted d:HH:MM + // in the UTC time zone, where d is the weekday number, from 1 through 7, beginning + // with Monday and ending with Sunday. + WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } // String returns the string representation. @@ -4318,7 +7911,7 @@ type BadRequest 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 BadRequest) String() string { +func (s CreateFileSystemWindowsConfiguration) String() string { return awsutil.Prettify(s) } @@ -4327,56 +7920,159 @@ func (s BadRequest) 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 BadRequest) GoString() string { +func (s CreateFileSystemWindowsConfiguration) GoString() string { return s.String() } -func newErrorBadRequest(v protocol.ResponseMetadata) error { - return &BadRequest{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateFileSystemWindowsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemWindowsConfiguration"} + if s.ActiveDirectoryId != nil && len(*s.ActiveDirectoryId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("ActiveDirectoryId", 12)) + } + if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { + invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) + } + if s.PreferredSubnetId != nil && len(*s.PreferredSubnetId) < 15 { + invalidParams.Add(request.NewErrParamMinLen("PreferredSubnetId", 15)) + } + if s.ThroughputCapacity == nil { + invalidParams.Add(request.NewErrParamRequired("ThroughputCapacity")) + } + if s.ThroughputCapacity != nil && *s.ThroughputCapacity < 8 { + invalidParams.Add(request.NewErrParamMinValue("ThroughputCapacity", 8)) + } + if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { + invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) + } + if s.AuditLogConfiguration != nil { + if err := s.AuditLogConfiguration.Validate(); err != nil { + invalidParams.AddNested("AuditLogConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.SelfManagedActiveDirectoryConfiguration != nil { + if err := s.SelfManagedActiveDirectoryConfiguration.Validate(); err != nil { + invalidParams.AddNested("SelfManagedActiveDirectoryConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams } + return nil } -// Code returns the exception type name. -func (s *BadRequest) Code() string { - return "BadRequest" +// SetActiveDirectoryId sets the ActiveDirectoryId field's value. +func (s *CreateFileSystemWindowsConfiguration) SetActiveDirectoryId(v string) *CreateFileSystemWindowsConfiguration { + s.ActiveDirectoryId = &v + return s } -// Message returns the exception's message. -func (s *BadRequest) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetAliases sets the Aliases field's value. +func (s *CreateFileSystemWindowsConfiguration) SetAliases(v []*string) *CreateFileSystemWindowsConfiguration { + s.Aliases = v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *BadRequest) OrigErr() error { - return nil +// SetAuditLogConfiguration sets the AuditLogConfiguration field's value. +func (s *CreateFileSystemWindowsConfiguration) SetAuditLogConfiguration(v *WindowsAuditLogCreateConfiguration) *CreateFileSystemWindowsConfiguration { + s.AuditLogConfiguration = v + return s } -func (s *BadRequest) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. +func (s *CreateFileSystemWindowsConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemWindowsConfiguration { + s.AutomaticBackupRetentionDays = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *BadRequest) StatusCode() int { - return s.RespMetadata.StatusCode +// SetCopyTagsToBackups sets the CopyTagsToBackups field's value. +func (s *CreateFileSystemWindowsConfiguration) SetCopyTagsToBackups(v bool) *CreateFileSystemWindowsConfiguration { + s.CopyTagsToBackups = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *BadRequest) RequestID() string { - return s.RespMetadata.RequestID +// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. +func (s *CreateFileSystemWindowsConfiguration) SetDailyAutomaticBackupStartTime(v string) *CreateFileSystemWindowsConfiguration { + s.DailyAutomaticBackupStartTime = &v + return s } -// Cancels a data repository task. -type CancelDataRepositoryTaskInput struct { +// SetDeploymentType sets the DeploymentType field's value. +func (s *CreateFileSystemWindowsConfiguration) SetDeploymentType(v string) *CreateFileSystemWindowsConfiguration { + s.DeploymentType = &v + return s +} + +// SetPreferredSubnetId sets the PreferredSubnetId field's value. +func (s *CreateFileSystemWindowsConfiguration) SetPreferredSubnetId(v string) *CreateFileSystemWindowsConfiguration { + s.PreferredSubnetId = &v + return s +} + +// SetSelfManagedActiveDirectoryConfiguration sets the SelfManagedActiveDirectoryConfiguration field's value. +func (s *CreateFileSystemWindowsConfiguration) SetSelfManagedActiveDirectoryConfiguration(v *SelfManagedActiveDirectoryConfiguration) *CreateFileSystemWindowsConfiguration { + s.SelfManagedActiveDirectoryConfiguration = v + return s +} + +// SetThroughputCapacity sets the ThroughputCapacity field's value. +func (s *CreateFileSystemWindowsConfiguration) SetThroughputCapacity(v int64) *CreateFileSystemWindowsConfiguration { + s.ThroughputCapacity = &v + return s +} + +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *CreateFileSystemWindowsConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileSystemWindowsConfiguration { + s.WeeklyMaintenanceStartTime = &v + return s +} + +// Specifies the configuration of the ONTAP volume that you are creating. +type CreateOntapVolumeConfiguration struct { _ struct{} `type:"structure"` - // Specifies the data repository task to cancel. + // Specifies the location in the SVM's namespace where the volume is mounted. + // The JunctionPath must have a leading forward slash, such as /vol3. // - // TaskId is a required field - TaskId *string `min:"12" type:"string" required:"true"` + // JunctionPath is a required field + JunctionPath *string `min:"1" type:"string" required:"true"` + + // The security style for the volume. Specify one of the following values: + // + // * UNIX if the file system is managed by a UNIX administrator, the majority + // of users are NFS clients, and an application accessing the data uses a + // UNIX user as the service account. UNIX is the default. + // + // * NTFS if the file system is managed by a Windows administrator, the majority + // of users are SMB clients, and an application accessing the data uses a + // Windows user as the service account. + // + // * MIXED if the file system is managed by both UNIX and Windows administrators + // and users consist of both NFS and SMB clients. + SecurityStyle *string `type:"string" enum:"SecurityStyle"` + + // Specifies the size of the volume, in megabytes (MB), that you are creating. + // + // SizeInMegabytes is a required field + SizeInMegabytes *int64 `type:"integer" required:"true"` + + // Set to true to enable deduplication, compression, and compaction storage + // efficiency features on the volume. + // + // StorageEfficiencyEnabled is a required field + StorageEfficiencyEnabled *bool `type:"boolean" required:"true"` + + // Specifies the ONTAP SVM in which to create the volume. + // + // StorageVirtualMachineId is a required field + StorageVirtualMachineId *string `min:"21" type:"string" required:"true"` + + // 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. + TieringPolicy *TieringPolicy `type:"structure"` } // String returns the string representation. @@ -4384,7 +8080,7 @@ type CancelDataRepositoryTaskInput 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 CancelDataRepositoryTaskInput) String() string { +func (s CreateOntapVolumeConfiguration) String() string { return awsutil.Prettify(s) } @@ -4393,18 +8089,35 @@ func (s CancelDataRepositoryTaskInput) 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 CancelDataRepositoryTaskInput) GoString() string { +func (s CreateOntapVolumeConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CancelDataRepositoryTaskInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CancelDataRepositoryTaskInput"} - if s.TaskId == nil { - invalidParams.Add(request.NewErrParamRequired("TaskId")) +func (s *CreateOntapVolumeConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateOntapVolumeConfiguration"} + if s.JunctionPath == nil { + invalidParams.Add(request.NewErrParamRequired("JunctionPath")) } - if s.TaskId != nil && len(*s.TaskId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("TaskId", 12)) + if s.JunctionPath != nil && len(*s.JunctionPath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JunctionPath", 1)) + } + if s.SizeInMegabytes == nil { + invalidParams.Add(request.NewErrParamRequired("SizeInMegabytes")) + } + if s.StorageEfficiencyEnabled == nil { + invalidParams.Add(request.NewErrParamRequired("StorageEfficiencyEnabled")) + } + if s.StorageVirtualMachineId == nil { + invalidParams.Add(request.NewErrParamRequired("StorageVirtualMachineId")) + } + if s.StorageVirtualMachineId != nil && len(*s.StorageVirtualMachineId) < 21 { + invalidParams.Add(request.NewErrParamMinLen("StorageVirtualMachineId", 21)) + } + if s.TieringPolicy != nil { + if err := s.TieringPolicy.Validate(); err != nil { + invalidParams.AddNested("TieringPolicy", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -4413,103 +8126,67 @@ func (s *CancelDataRepositoryTaskInput) Validate() error { return nil } -// SetTaskId sets the TaskId field's value. -func (s *CancelDataRepositoryTaskInput) SetTaskId(v string) *CancelDataRepositoryTaskInput { - s.TaskId = &v +// SetJunctionPath sets the JunctionPath field's value. +func (s *CreateOntapVolumeConfiguration) SetJunctionPath(v string) *CreateOntapVolumeConfiguration { + s.JunctionPath = &v return s } -type CancelDataRepositoryTaskOutput struct { - _ struct{} `type:"structure"` - - // The lifecycle status of the data repository task, as follows: - // - // * PENDING - Amazon FSx has not started the task. - // - // * EXECUTING - Amazon FSx is processing the task. - // - // * FAILED - Amazon FSx was not able to complete the task. For example, - // there may be files the task failed to process. The DataRepositoryTaskFailureDetails - // property provides more information about task failures. - // - // * SUCCEEDED - FSx completed the task successfully. - // - // * CANCELED - Amazon FSx canceled the task and it did not complete. - // - // * CANCELING - FSx is in process of canceling the task. - Lifecycle *string `type:"string" enum:"DataRepositoryTaskLifecycle"` - - // The ID of the task being canceled. - TaskId *string `min:"12" type:"string"` +// SetSecurityStyle sets the SecurityStyle field's value. +func (s *CreateOntapVolumeConfiguration) SetSecurityStyle(v string) *CreateOntapVolumeConfiguration { + s.SecurityStyle = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CancelDataRepositoryTaskOutput) String() string { - return awsutil.Prettify(s) +// SetSizeInMegabytes sets the SizeInMegabytes field's value. +func (s *CreateOntapVolumeConfiguration) SetSizeInMegabytes(v int64) *CreateOntapVolumeConfiguration { + s.SizeInMegabytes = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CancelDataRepositoryTaskOutput) GoString() string { - return s.String() +// SetStorageEfficiencyEnabled sets the StorageEfficiencyEnabled field's value. +func (s *CreateOntapVolumeConfiguration) SetStorageEfficiencyEnabled(v bool) *CreateOntapVolumeConfiguration { + s.StorageEfficiencyEnabled = &v + return s } -// SetLifecycle sets the Lifecycle field's value. -func (s *CancelDataRepositoryTaskOutput) SetLifecycle(v string) *CancelDataRepositoryTaskOutput { - s.Lifecycle = &v +// SetStorageVirtualMachineId sets the StorageVirtualMachineId field's value. +func (s *CreateOntapVolumeConfiguration) SetStorageVirtualMachineId(v string) *CreateOntapVolumeConfiguration { + s.StorageVirtualMachineId = &v return s } -// SetTaskId sets the TaskId field's value. -func (s *CancelDataRepositoryTaskOutput) SetTaskId(v string) *CancelDataRepositoryTaskOutput { - s.TaskId = &v +// SetTieringPolicy sets the TieringPolicy field's value. +func (s *CreateOntapVolumeConfiguration) SetTieringPolicy(v *TieringPolicy) *CreateOntapVolumeConfiguration { + s.TieringPolicy = v return s } -// Provides a report detailing the data repository task results of the files -// processed that match the criteria specified in the report Scope parameter. -// FSx delivers the report to the file system's linked data repository in Amazon -// S3, using the path specified in the report Path parameter. You can specify -// whether or not a report gets generated for a task using the Enabled parameter. -type CompletionReport struct { +// The snapshot configuration to use when creating an OpenZFS volume from a +// snapshot. +type CreateOpenZFSOriginSnapshotConfiguration struct { _ struct{} `type:"structure"` - // Set Enabled to True to generate a CompletionReport when the task completes. - // If set to true, then you need to provide a report Scope, Path, and Format. - // Set Enabled to False if you do not want a CompletionReport generated when - // the task completes. + // The strategy used when copying data from the snapshot to the new volume. // - // Enabled is a required field - Enabled *bool `type:"boolean" required:"true"` - - // Required if Enabled is set to true. Specifies the format of the CompletionReport. - // REPORT_CSV_20191124 is the only format currently supported. When Format is - // set to REPORT_CSV_20191124, the CompletionReport is provided in CSV format, - // and is delivered to {path}/task-{id}/failures.csv. - Format *string `type:"string" enum:"ReportFormat"` - - // Required if Enabled is set to true. Specifies the location of the report - // on the file system's linked S3 data repository. An absolute path that defines - // where the completion report will be stored in the destination location. The - // Path you provide must be located within the file system’s ExportPath. An - // example Path value is "s3://myBucket/myExportPath/optionalPrefix". The report - // provides the following information for each file in the report: FilePath, - // FileStatus, and ErrorCode. To learn more about a file system's ExportPath, - // see . - Path *string `min:"3" type:"string"` + // * CLONE - The new volume references the data in the origin snapshot. Cloning + // a snapshot is faster than copying data from the snapshot to a new volume + // and doesn't consume disk throughput. However, the origin snapshot can't + // be deleted if there is a volume using its copied data. + // + // * FULL_COPY - Copies all data from the snapshot to the new volume. + // + // CopyStrategy is a required field + CopyStrategy *string `type:"string" required:"true" enum:"OpenZFSCopyStrategy"` - // Required if Enabled is set to true. Specifies the scope of the CompletionReport; - // FAILED_FILES_ONLY is the only scope currently supported. When Scope is set - // to FAILED_FILES_ONLY, the CompletionReport only contains information about - // files that the data repository task failed to process. - Scope *string `type:"string" enum:"ReportScope"` + // The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify + // Amazon Web Services resources. We require an ARN when you need to specify + // a resource unambiguously across all of Amazon Web Services. For more information, + // see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the Amazon Web Services General Reference. + // + // SnapshotARN is a required field + SnapshotARN *string `min:"8" type:"string" required:"true"` } // String returns the string representation. @@ -4517,7 +8194,7 @@ type CompletionReport 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 CompletionReport) String() string { +func (s CreateOpenZFSOriginSnapshotConfiguration) String() string { return awsutil.Prettify(s) } @@ -4526,18 +8203,21 @@ func (s CompletionReport) 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 CompletionReport) GoString() string { +func (s CreateOpenZFSOriginSnapshotConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CompletionReport) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CompletionReport"} - if s.Enabled == nil { - invalidParams.Add(request.NewErrParamRequired("Enabled")) +func (s *CreateOpenZFSOriginSnapshotConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateOpenZFSOriginSnapshotConfiguration"} + if s.CopyStrategy == nil { + invalidParams.Add(request.NewErrParamRequired("CopyStrategy")) } - if s.Path != nil && len(*s.Path) < 3 { - invalidParams.Add(request.NewErrParamMinLen("Path", 3)) + if s.SnapshotARN == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotARN")) + } + if s.SnapshotARN != nil && len(*s.SnapshotARN) < 8 { + invalidParams.Add(request.NewErrParamMinLen("SnapshotARN", 8)) } if invalidParams.Len() > 0 { @@ -4546,74 +8226,67 @@ func (s *CompletionReport) Validate() error { return nil } -// SetEnabled sets the Enabled field's value. -func (s *CompletionReport) SetEnabled(v bool) *CompletionReport { - s.Enabled = &v - return s -} - -// SetFormat sets the Format field's value. -func (s *CompletionReport) SetFormat(v string) *CompletionReport { - s.Format = &v - return s -} - -// SetPath sets the Path field's value. -func (s *CompletionReport) SetPath(v string) *CompletionReport { - s.Path = &v +// SetCopyStrategy sets the CopyStrategy field's value. +func (s *CreateOpenZFSOriginSnapshotConfiguration) SetCopyStrategy(v string) *CreateOpenZFSOriginSnapshotConfiguration { + s.CopyStrategy = &v return s } -// SetScope sets the Scope field's value. -func (s *CompletionReport) SetScope(v string) *CompletionReport { - s.Scope = &v +// SetSnapshotARN sets the SnapshotARN field's value. +func (s *CreateOpenZFSOriginSnapshotConfiguration) SetSnapshotARN(v string) *CreateOpenZFSOriginSnapshotConfiguration { + s.SnapshotARN = &v return s } -type CopyBackupInput struct { +// Specifies the configuration of the OpenZFS volume that you are creating. +type CreateOpenZFSVolumeConfiguration struct { _ struct{} `type:"structure"` - // (Optional) An idempotency token for resource creation, in a string of up - // to 64 ASCII characters. This token is automatically filled on your behalf - // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. - ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + // A Boolean value indicating whether tags for the volume should be copied to + // snapshots. This value defaults to false. If it's set to true, all tags for + // the volume are copied to snapshots where the user doesn't specify tags. If + // this value is true, and you specify one or more tags, only the specified + // tags are copied to snapshots. If you specify one or more tags when creating + // the snapshot, no tags are copied from the volume, regardless of this value. + CopyTagsToSnapshots *bool `type:"boolean"` - // A boolean flag indicating whether tags from the source backup should be copied - // to the backup copy. This value defaults to false. + // Specifies the method used to compress the data on the volume. Unless the + // compression type is specified, volumes inherit the DataCompressionType value + // of their parent volume. // - // If you set CopyTags to true and the source backup has existing tags, you - // can use the Tags parameter to create new tags, provided that the sum of the - // source backup tags and the new tags doesn't exceed 50. Both sets of tags - // are merged. If there are tag conflicts (for example, two tags with the same - // key but different values), the tags created with the Tags parameter take - // precedence. - CopyTags *bool `type:"boolean"` + // * NONE - Doesn't compress the data on the volume. + // + // * ZSTD - Compresses the data in the volume using the Zstandard (ZSTD) + // compression algorithm. This algorithm reduces the amount of space used + // on your volume and has very little impact on compute resources. + DataCompressionType *string `type:"string" enum:"OpenZFSDataCompressionType"` - // The ID of the Key Management Service (KMS) key used to encrypt the file system's - // data for Amazon FSx for Windows File Server file systems, Amazon FSx for - // NetApp ONTAP file systems, and Amazon FSx for Lustre PERSISTENT_1 file systems - // at rest. If not specified, the Amazon FSx managed key is used. The Amazon - // FSx for Lustre SCRATCH_1 and SCRATCH_2 file systems are always encrypted - // at rest using Amazon FSx managed keys. For more information, see Encrypt - // (https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) in - // the Key Management Service API Reference. - KmsKeyId *string `min:"1" type:"string"` + // The configuration object for mounting a Network File System (NFS) file system. + NfsExports []*OpenZFSNfsExport `type:"list"` - // The ID of the source backup. Specifies the ID of the backup that is being - // copied. + // The configuration object that specifies the snapshot to use as the origin + // of the data for the volume. + OriginSnapshot *CreateOpenZFSOriginSnapshotConfiguration `type:"structure"` + + // The ID of the volume to use as the parent volume. // - // SourceBackupId is a required field - SourceBackupId *string `min:"12" type:"string" required:"true"` + // ParentVolumeId is a required field + ParentVolumeId *string `min:"23" type:"string" required:"true"` - // The source Amazon Web Services Region of the backup. Specifies the Amazon - // Web Services Region from which the backup is being copied. The source and - // destination Regions must be in the same Amazon Web Services partition. If - // you don't specify a Region, it defaults to the Region where the request is - // sent from (in-Region copy). - SourceRegion *string `min:"1" type:"string"` + // A Boolean value indicating whether the volume is read-only. + ReadOnly *bool `type:"boolean"` - // A list of Tag values, with a maximum of 50 elements. - Tags []*Tag `min:"1" type:"list"` + // The maximum amount of storage in gibibytes (GiB) that the volume can use + // from its parent. You can specify a quota larger than the storage on the parent + // volume. + StorageCapacityQuotaGiB *int64 `type:"integer"` + + // The amount of storage in gibibytes (GiB) to reserve from the parent volume. + // You can't reserve more storage than the parent volume has reserved. + StorageCapacityReservationGiB *int64 `type:"integer"` + + // An object specifying how much storage users or groups can use on the volume. + UserAndGroupQuotas []*OpenZFSUserOrGroupQuota `type:"list"` } // String returns the string representation. @@ -4621,7 +8294,7 @@ type CopyBackupInput 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 CopyBackupInput) String() string { +func (s CreateOpenZFSVolumeConfiguration) String() string { return awsutil.Prettify(s) } @@ -4630,38 +8303,41 @@ func (s CopyBackupInput) 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 CopyBackupInput) GoString() string { +func (s CreateOpenZFSVolumeConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CopyBackupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CopyBackupInput"} - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) - } - if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) - } - if s.SourceBackupId == nil { - invalidParams.Add(request.NewErrParamRequired("SourceBackupId")) +func (s *CreateOpenZFSVolumeConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateOpenZFSVolumeConfiguration"} + if s.ParentVolumeId == nil { + invalidParams.Add(request.NewErrParamRequired("ParentVolumeId")) } - if s.SourceBackupId != nil && len(*s.SourceBackupId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("SourceBackupId", 12)) + if s.ParentVolumeId != nil && len(*s.ParentVolumeId) < 23 { + invalidParams.Add(request.NewErrParamMinLen("ParentVolumeId", 23)) } - if s.SourceRegion != nil && len(*s.SourceRegion) < 1 { - invalidParams.Add(request.NewErrParamMinLen("SourceRegion", 1)) + if s.NfsExports != nil { + for i, v := range s.NfsExports { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NfsExports", i), err.(request.ErrInvalidParams)) + } + } } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + if s.OriginSnapshot != nil { + if err := s.OriginSnapshot.Validate(); err != nil { + invalidParams.AddNested("OriginSnapshot", err.(request.ErrInvalidParams)) + } } - if s.Tags != nil { - for i, v := range s.Tags { + if s.UserAndGroupQuotas != nil { + for i, v := range s.UserAndGroupQuotas { if v == nil { continue } if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAndGroupQuotas", i), err.(request.ErrInvalidParams)) } } } @@ -4672,95 +8348,80 @@ func (s *CopyBackupInput) Validate() error { return nil } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CopyBackupInput) SetClientRequestToken(v string) *CopyBackupInput { - s.ClientRequestToken = &v +// SetCopyTagsToSnapshots sets the CopyTagsToSnapshots field's value. +func (s *CreateOpenZFSVolumeConfiguration) SetCopyTagsToSnapshots(v bool) *CreateOpenZFSVolumeConfiguration { + s.CopyTagsToSnapshots = &v return s } -// SetCopyTags sets the CopyTags field's value. -func (s *CopyBackupInput) SetCopyTags(v bool) *CopyBackupInput { - s.CopyTags = &v +// SetDataCompressionType sets the DataCompressionType field's value. +func (s *CreateOpenZFSVolumeConfiguration) SetDataCompressionType(v string) *CreateOpenZFSVolumeConfiguration { + s.DataCompressionType = &v return s } -// SetKmsKeyId sets the KmsKeyId field's value. -func (s *CopyBackupInput) SetKmsKeyId(v string) *CopyBackupInput { - s.KmsKeyId = &v +// SetNfsExports sets the NfsExports field's value. +func (s *CreateOpenZFSVolumeConfiguration) SetNfsExports(v []*OpenZFSNfsExport) *CreateOpenZFSVolumeConfiguration { + s.NfsExports = v return s } -// SetSourceBackupId sets the SourceBackupId field's value. -func (s *CopyBackupInput) SetSourceBackupId(v string) *CopyBackupInput { - s.SourceBackupId = &v +// SetOriginSnapshot sets the OriginSnapshot field's value. +func (s *CreateOpenZFSVolumeConfiguration) SetOriginSnapshot(v *CreateOpenZFSOriginSnapshotConfiguration) *CreateOpenZFSVolumeConfiguration { + s.OriginSnapshot = v return s } -// SetSourceRegion sets the SourceRegion field's value. -func (s *CopyBackupInput) SetSourceRegion(v string) *CopyBackupInput { - s.SourceRegion = &v +// SetParentVolumeId sets the ParentVolumeId field's value. +func (s *CreateOpenZFSVolumeConfiguration) SetParentVolumeId(v string) *CreateOpenZFSVolumeConfiguration { + s.ParentVolumeId = &v return s } -// SetTags sets the Tags field's value. -func (s *CopyBackupInput) SetTags(v []*Tag) *CopyBackupInput { - s.Tags = v +// SetReadOnly sets the ReadOnly field's value. +func (s *CreateOpenZFSVolumeConfiguration) SetReadOnly(v bool) *CreateOpenZFSVolumeConfiguration { + s.ReadOnly = &v return s } -type CopyBackupOutput struct { - _ struct{} `type:"structure"` - - // A backup of an Amazon FSx for Windows File Server or Amazon FSx for Lustre - // file system, or of an Amazon FSx for NetApp ONTAP volume. - Backup *Backup `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 CopyBackupOutput) String() string { - return awsutil.Prettify(s) +// SetStorageCapacityQuotaGiB sets the StorageCapacityQuotaGiB field's value. +func (s *CreateOpenZFSVolumeConfiguration) SetStorageCapacityQuotaGiB(v int64) *CreateOpenZFSVolumeConfiguration { + s.StorageCapacityQuotaGiB = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CopyBackupOutput) GoString() string { - return s.String() +// SetStorageCapacityReservationGiB sets the StorageCapacityReservationGiB field's value. +func (s *CreateOpenZFSVolumeConfiguration) SetStorageCapacityReservationGiB(v int64) *CreateOpenZFSVolumeConfiguration { + s.StorageCapacityReservationGiB = &v + return s } -// SetBackup sets the Backup field's value. -func (s *CopyBackupOutput) SetBackup(v *Backup) *CopyBackupOutput { - s.Backup = v +// SetUserAndGroupQuotas sets the UserAndGroupQuotas field's value. +func (s *CreateOpenZFSVolumeConfiguration) SetUserAndGroupQuotas(v []*OpenZFSUserOrGroupQuota) *CreateOpenZFSVolumeConfiguration { + s.UserAndGroupQuotas = v return s } -// The request object for the CreateBackup operation. -type CreateBackupInput struct { +type CreateSnapshotInput struct { _ struct{} `type:"structure"` - // (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to - // ensure idempotent creation. This string is automatically filled on your behalf + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // The ID of the file system to back up. - FileSystemId *string `min:"11" type:"string"` + // The name of the snapshot. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` - // (Optional) The tags to apply to the backup at backup creation. The key value - // of the Name tag appears in the console as the backup name. If you have set - // CopyTagsToBackups to true, and you specify one or more tags using the CreateBackup - // action, no existing file system tags are copied from the file system to the - // backup. + // A list of Tag values, with a maximum of 50 elements. Tags []*Tag `min:"1" type:"list"` - // The ID of he FSx for NetApp ONTAP volume to back up. - VolumeId *string `min:"23" type:"string"` + // The ID of the volume that you are taking a snapshot of. + // + // VolumeId is a required field + VolumeId *string `min:"23" type:"string" required:"true"` } // String returns the string representation. @@ -4768,7 +8429,7 @@ type CreateBackupInput 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 CreateBackupInput) String() string { +func (s CreateSnapshotInput) String() string { return awsutil.Prettify(s) } @@ -4777,22 +8438,28 @@ func (s CreateBackupInput) 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 CreateBackupInput) GoString() string { +func (s CreateSnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateBackupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateBackupInput"} +func (s *CreateSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSnapshotInput"} if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } - if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { - invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } + if s.VolumeId == nil { + invalidParams.Add(request.NewErrParamRequired("VolumeId")) + } if s.VolumeId != nil && len(*s.VolumeId) < 23 { invalidParams.Add(request.NewErrParamMinLen("VolumeId", 23)) } @@ -4814,35 +8481,34 @@ func (s *CreateBackupInput) Validate() error { } // SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CreateBackupInput) SetClientRequestToken(v string) *CreateBackupInput { +func (s *CreateSnapshotInput) SetClientRequestToken(v string) *CreateSnapshotInput { s.ClientRequestToken = &v return s } -// SetFileSystemId sets the FileSystemId field's value. -func (s *CreateBackupInput) SetFileSystemId(v string) *CreateBackupInput { - s.FileSystemId = &v +// SetName sets the Name field's value. +func (s *CreateSnapshotInput) SetName(v string) *CreateSnapshotInput { + s.Name = &v return s } // SetTags sets the Tags field's value. -func (s *CreateBackupInput) SetTags(v []*Tag) *CreateBackupInput { +func (s *CreateSnapshotInput) SetTags(v []*Tag) *CreateSnapshotInput { s.Tags = v return s } // SetVolumeId sets the VolumeId field's value. -func (s *CreateBackupInput) SetVolumeId(v string) *CreateBackupInput { +func (s *CreateSnapshotInput) SetVolumeId(v string) *CreateSnapshotInput { s.VolumeId = &v return s } -// The response object for the CreateBackup operation. -type CreateBackupOutput struct { +type CreateSnapshotOutput struct { _ struct{} `type:"structure"` - // A description of the backup. - Backup *Backup `type:"structure"` + // A description of the snapshot. + Snapshot *Snapshot `type:"structure"` } // String returns the string representation. @@ -4850,7 +8516,7 @@ type CreateBackupOutput 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 CreateBackupOutput) String() string { +func (s CreateSnapshotOutput) String() string { return awsutil.Prettify(s) } @@ -4859,19 +8525,25 @@ func (s CreateBackupOutput) 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 CreateBackupOutput) GoString() string { +func (s CreateSnapshotOutput) GoString() string { return s.String() } -// SetBackup sets the Backup field's value. -func (s *CreateBackupOutput) SetBackup(v *Backup) *CreateBackupOutput { - s.Backup = v +// SetSnapshot sets the Snapshot field's value. +func (s *CreateSnapshotOutput) SetSnapshot(v *Snapshot) *CreateSnapshotOutput { + s.Snapshot = v return s } -type CreateDataRepositoryTaskInput struct { +type CreateStorageVirtualMachineInput struct { _ struct{} `type:"structure"` + // Describes the self-managed Microsoft Active Directory to which you want to + // join the SVM. Joining an Active Directory provides user authentication and + // access control for SMB clients, including Microsoft Windows and macOS client + // accessing the file system. + ActiveDirectoryConfiguration *CreateSvmActiveDirectoryConfiguration `type:"structure"` + // (Optional) An idempotency token for resource creation, in a string of up // to 64 ASCII characters. This token is automatically filled on your behalf // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. @@ -4879,32 +8551,40 @@ type CreateDataRepositoryTaskInput struct { // The globally unique ID of the file system, assigned by Amazon FSx. // - // FileSystemId is a required field - FileSystemId *string `min:"11" type:"string" required:"true"` - - // (Optional) The path or paths on the Amazon FSx file system to use when the - // data repository task is processed. The default path is the file system root - // directory. The paths you provide need to be relative to the mount point of - // the file system. If the mount point is /mnt/fsx and /mnt/fsx/path1 is a directory - // or file on the file system you want to export, then the path to provide is - // path1. If a path that you provide isn't valid, the task fails. - Paths []*string `type:"list"` + // FileSystemId is a required field + FileSystemId *string `min:"11" type:"string" required:"true"` + + // The name of the SVM. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The security style of the root volume of the SVM. Specify one of the following + // values: + // + // * UNIX if the file system is managed by a UNIX administrator, the majority + // of users are NFS clients, and an application accessing the data uses a + // UNIX user as the service account. + // + // * NTFS if the file system is managed by a Windows administrator, the majority + // of users are SMB clients, and an application accessing the data uses a + // Windows user as the service account. + // + // * MIXED if the file system is managed by both UNIX and Windows administrators + // and users consist of both NFS and SMB clients. + RootVolumeSecurityStyle *string `type:"string" enum:"StorageVirtualMachineRootVolumeSecurityStyle"` - // Defines whether or not Amazon FSx provides a CompletionReport once the task - // has completed. A CompletionReport provides a detailed report on the files - // that Amazon FSx processed that meet the criteria specified by the Scope parameter. - // For more information, see Working with Task Completion Reports (https://docs.aws.amazon.com/fsx/latest/LustreGuide/task-completion-report.html). + // The password to use when managing the SVM using the NetApp ONTAP CLI or REST + // API. If you do not specify a password, you can still use the file system's + // fsxadmin user to manage the SVM. // - // Report is a required field - Report *CompletionReport `type:"structure" required:"true"` + // SvmAdminPassword is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateStorageVirtualMachineInput's + // String and GoString methods. + SvmAdminPassword *string `min:"8" type:"string" sensitive:"true"` // A list of Tag values, with a maximum of 50 elements. Tags []*Tag `min:"1" type:"list"` - - // Specifies the type of data repository task to create. - // - // Type is a required field - Type *string `type:"string" required:"true" enum:"DataRepositoryTaskType"` } // String returns the string representation. @@ -4912,7 +8592,7 @@ type CreateDataRepositoryTaskInput 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 CreateDataRepositoryTaskInput) String() string { +func (s CreateStorageVirtualMachineInput) String() string { return awsutil.Prettify(s) } @@ -4921,13 +8601,13 @@ func (s CreateDataRepositoryTaskInput) 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 CreateDataRepositoryTaskInput) GoString() string { +func (s CreateStorageVirtualMachineInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateDataRepositoryTaskInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateDataRepositoryTaskInput"} +func (s *CreateStorageVirtualMachineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStorageVirtualMachineInput"} if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } @@ -4937,18 +8617,21 @@ func (s *CreateDataRepositoryTaskInput) Validate() error { if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) } - if s.Report == nil { - invalidParams.Add(request.NewErrParamRequired("Report")) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.SvmAdminPassword != nil && len(*s.SvmAdminPassword) < 8 { + invalidParams.Add(request.NewErrParamMinLen("SvmAdminPassword", 8)) } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) - } - if s.Report != nil { - if err := s.Report.Validate(); err != nil { - invalidParams.AddNested("Report", err.(request.ErrInvalidParams)) + if s.ActiveDirectoryConfiguration != nil { + if err := s.ActiveDirectoryConfiguration.Validate(); err != nil { + invalidParams.AddNested("ActiveDirectoryConfiguration", err.(request.ErrInvalidParams)) } } if s.Tags != nil { @@ -4968,47 +8651,54 @@ func (s *CreateDataRepositoryTaskInput) Validate() error { return nil } +// SetActiveDirectoryConfiguration sets the ActiveDirectoryConfiguration field's value. +func (s *CreateStorageVirtualMachineInput) SetActiveDirectoryConfiguration(v *CreateSvmActiveDirectoryConfiguration) *CreateStorageVirtualMachineInput { + s.ActiveDirectoryConfiguration = v + return s +} + // SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CreateDataRepositoryTaskInput) SetClientRequestToken(v string) *CreateDataRepositoryTaskInput { +func (s *CreateStorageVirtualMachineInput) SetClientRequestToken(v string) *CreateStorageVirtualMachineInput { s.ClientRequestToken = &v return s } // SetFileSystemId sets the FileSystemId field's value. -func (s *CreateDataRepositoryTaskInput) SetFileSystemId(v string) *CreateDataRepositoryTaskInput { +func (s *CreateStorageVirtualMachineInput) SetFileSystemId(v string) *CreateStorageVirtualMachineInput { s.FileSystemId = &v return s } -// SetPaths sets the Paths field's value. -func (s *CreateDataRepositoryTaskInput) SetPaths(v []*string) *CreateDataRepositoryTaskInput { - s.Paths = v +// SetName sets the Name field's value. +func (s *CreateStorageVirtualMachineInput) SetName(v string) *CreateStorageVirtualMachineInput { + s.Name = &v return s } -// SetReport sets the Report field's value. -func (s *CreateDataRepositoryTaskInput) SetReport(v *CompletionReport) *CreateDataRepositoryTaskInput { - s.Report = v +// SetRootVolumeSecurityStyle sets the RootVolumeSecurityStyle field's value. +func (s *CreateStorageVirtualMachineInput) SetRootVolumeSecurityStyle(v string) *CreateStorageVirtualMachineInput { + s.RootVolumeSecurityStyle = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateDataRepositoryTaskInput) SetTags(v []*Tag) *CreateDataRepositoryTaskInput { - s.Tags = v +// SetSvmAdminPassword sets the SvmAdminPassword field's value. +func (s *CreateStorageVirtualMachineInput) SetSvmAdminPassword(v string) *CreateStorageVirtualMachineInput { + s.SvmAdminPassword = &v return s } -// SetType sets the Type field's value. -func (s *CreateDataRepositoryTaskInput) SetType(v string) *CreateDataRepositoryTaskInput { - s.Type = &v +// SetTags sets the Tags field's value. +func (s *CreateStorageVirtualMachineInput) SetTags(v []*Tag) *CreateStorageVirtualMachineInput { + s.Tags = v return s } -type CreateDataRepositoryTaskOutput struct { +type CreateStorageVirtualMachineOutput struct { _ struct{} `type:"structure"` - // The description of the data repository task that you just created. - DataRepositoryTask *DataRepositoryTask `type:"structure"` + // Returned after a successful CreateStorageVirtualMachine operation; describes + // the SVM just created. + StorageVirtualMachine *StorageVirtualMachine `type:"structure"` } // String returns the string representation. @@ -5016,7 +8706,7 @@ type CreateDataRepositoryTaskOutput 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 CreateDataRepositoryTaskOutput) String() string { +func (s CreateStorageVirtualMachineOutput) String() string { return awsutil.Prettify(s) } @@ -5025,95 +8715,110 @@ func (s CreateDataRepositoryTaskOutput) 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 CreateDataRepositoryTaskOutput) GoString() string { +func (s CreateStorageVirtualMachineOutput) GoString() string { return s.String() } -// SetDataRepositoryTask sets the DataRepositoryTask field's value. -func (s *CreateDataRepositoryTaskOutput) SetDataRepositoryTask(v *DataRepositoryTask) *CreateDataRepositoryTaskOutput { - s.DataRepositoryTask = v +// SetStorageVirtualMachine sets the StorageVirtualMachine field's value. +func (s *CreateStorageVirtualMachineOutput) SetStorageVirtualMachine(v *StorageVirtualMachine) *CreateStorageVirtualMachineOutput { + s.StorageVirtualMachine = v return s } -// The request object for the CreateFileSystemFromBackup operation. -type CreateFileSystemFromBackupInput struct { +// The configuration that Amazon FSx uses to join the ONTAP storage virtual +// machine (SVM) to your self-managed (including on-premises) Microsoft Active +// Directory (AD) directory. +type CreateSvmActiveDirectoryConfiguration struct { _ struct{} `type:"structure"` - // The ID of the source backup. Specifies the backup you are copying. + // The NetBIOS name of the Active Directory computer object that will be created + // for your SVM. // - // BackupId is a required field - BackupId *string `min:"12" type:"string" required:"true"` + // NetBiosName is a required field + NetBiosName *string `min:"1" type:"string" required:"true"` - // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent - // creation. This string is automatically filled on your behalf when you use - // the Command Line Interface (CLI) or an Amazon Web Services SDK. - ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + // The configuration that Amazon FSx uses to join a FSx for Windows File Server + // file system or an ONTAP storage virtual machine (SVM) to a self-managed (including + // on-premises) Microsoft Active Directory (AD) directory. For more information, + // see Using Amazon FSx with your self-managed Microsoft Active Directory (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/self-managed-AD.html) + // or Managing SVMs (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html). + SelfManagedActiveDirectoryConfiguration *SelfManagedActiveDirectoryConfiguration `type:"structure"` +} - // Sets the version for the Amazon FSx for Lustre file system 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. - FileSystemTypeVersion *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 CreateSvmActiveDirectoryConfiguration) String() string { + return awsutil.Prettify(s) +} - // The ID of the Key Management Service (KMS) key used to encrypt the file system's - // data for Amazon FSx for Windows File Server file systems, Amazon FSx for - // NetApp ONTAP file systems, and Amazon FSx for Lustre PERSISTENT_1 file systems - // at rest. If not specified, the Amazon FSx managed key is used. The Amazon - // FSx for Lustre SCRATCH_1 and SCRATCH_2 file systems are always encrypted - // at rest using Amazon FSx managed keys. For more information, see Encrypt - // (https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) in - // the Key Management Service API Reference. - KmsKeyId *string `min:"1" type:"string"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateSvmActiveDirectoryConfiguration) GoString() string { + return s.String() +} - // The Lustre configuration for the file system being created. - LustreConfiguration *CreateFileSystemLustreConfiguration `type:"structure"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSvmActiveDirectoryConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSvmActiveDirectoryConfiguration"} + if s.NetBiosName == nil { + invalidParams.Add(request.NewErrParamRequired("NetBiosName")) + } + if s.NetBiosName != nil && len(*s.NetBiosName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NetBiosName", 1)) + } + if s.SelfManagedActiveDirectoryConfiguration != nil { + if err := s.SelfManagedActiveDirectoryConfiguration.Validate(); err != nil { + invalidParams.AddNested("SelfManagedActiveDirectoryConfiguration", err.(request.ErrInvalidParams)) + } + } - // A list of IDs for the security groups that apply to the specified network - // interfaces created for file system access. These security groups apply to - // all network interfaces. This value isn't returned in later DescribeFileSystem - // requests. - SecurityGroupIds []*string `type:"list"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // Sets the storage type for the Windows file system you're creating from a - // backup. Valid values are SSD and HDD. - // - // * Set to SSD to use solid state drive storage. Supported on all Windows - // deployment types. - // - // * Set to HDD to use hard disk drive storage. Supported on SINGLE_AZ_2 - // and MULTI_AZ_1 Windows file system deployment types. - // - // 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 only if the original SSD file - // system had a storage capacity of at least 2000 GiB. - StorageType *string `type:"string" enum:"StorageType"` +// SetNetBiosName sets the NetBiosName field's value. +func (s *CreateSvmActiveDirectoryConfiguration) SetNetBiosName(v string) *CreateSvmActiveDirectoryConfiguration { + s.NetBiosName = &v + return s +} - // Specifies the IDs of the subnets that the file system will be accessible - // from. For Windows MULTI_AZ_1 file system deployment types, provide exactly - // two subnet IDs, one for the preferred file server and one for the standby - // file server. You specify one of these subnets as the preferred subnet using - // the WindowsConfiguration > PreferredSubnetID property. +// SetSelfManagedActiveDirectoryConfiguration sets the SelfManagedActiveDirectoryConfiguration field's value. +func (s *CreateSvmActiveDirectoryConfiguration) SetSelfManagedActiveDirectoryConfiguration(v *SelfManagedActiveDirectoryConfiguration) *CreateSvmActiveDirectoryConfiguration { + s.SelfManagedActiveDirectoryConfiguration = v + return s +} + +type CreateVolumeFromBackupInput struct { + _ struct{} `type:"structure"` + + // The ID of the source backup. Specifies the backup that you are copying. // - // For Windows SINGLE_AZ_1 and SINGLE_AZ_2 deployment types and Lustre file - // systems, provide exactly one subnet ID. The file server is launched in that - // subnet's Availability Zone. + // BackupId is a required field + BackupId *string `min:"12" type:"string" required:"true"` + + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The name of the new volume you're creating. // - // SubnetIds is a required field - SubnetIds []*string `type:"list" required:"true"` + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` - // The tags to be applied to the file system at file system creation. The key - // value of the Name tag appears in the console as the file system name. - Tags []*Tag `min:"1" type:"list"` + // Specifies the configuration of the ONTAP volume that you are creating. + OntapConfiguration *CreateOntapVolumeConfiguration `type:"structure"` - // The configuration for this Microsoft Windows file system. - WindowsConfiguration *CreateFileSystemWindowsConfiguration `type:"structure"` + // A list of Tag values, with a maximum of 50 elements. + Tags []*Tag `min:"1" type:"list"` } // String returns the string representation. @@ -5121,7 +8826,7 @@ type CreateFileSystemFromBackupInput 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 CreateFileSystemFromBackupInput) String() string { +func (s CreateVolumeFromBackupInput) String() string { return awsutil.Prettify(s) } @@ -5130,13 +8835,13 @@ func (s CreateFileSystemFromBackupInput) 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 CreateFileSystemFromBackupInput) GoString() string { +func (s CreateVolumeFromBackupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateFileSystemFromBackupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemFromBackupInput"} +func (s *CreateVolumeFromBackupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateVolumeFromBackupInput"} if s.BackupId == nil { invalidParams.Add(request.NewErrParamRequired("BackupId")) } @@ -5146,21 +8851,18 @@ func (s *CreateFileSystemFromBackupInput) Validate() error { if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } - if s.FileSystemTypeVersion != nil && len(*s.FileSystemTypeVersion) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FileSystemTypeVersion", 1)) - } - if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.SubnetIds == nil { - invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } - if s.LustreConfiguration != nil { - if err := s.LustreConfiguration.Validate(); err != nil { - invalidParams.AddNested("LustreConfiguration", err.(request.ErrInvalidParams)) + if s.OntapConfiguration != nil { + if err := s.OntapConfiguration.Validate(); err != nil { + invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams)) } } if s.Tags != nil { @@ -5173,11 +8875,6 @@ func (s *CreateFileSystemFromBackupInput) Validate() error { } } } - if s.WindowsConfiguration != nil { - if err := s.WindowsConfiguration.Validate(); err != nil { - invalidParams.AddNested("WindowsConfiguration", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -5186,71 +8883,41 @@ func (s *CreateFileSystemFromBackupInput) Validate() error { } // SetBackupId sets the BackupId field's value. -func (s *CreateFileSystemFromBackupInput) SetBackupId(v string) *CreateFileSystemFromBackupInput { +func (s *CreateVolumeFromBackupInput) SetBackupId(v string) *CreateVolumeFromBackupInput { s.BackupId = &v return s } // SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CreateFileSystemFromBackupInput) SetClientRequestToken(v string) *CreateFileSystemFromBackupInput { +func (s *CreateVolumeFromBackupInput) SetClientRequestToken(v string) *CreateVolumeFromBackupInput { s.ClientRequestToken = &v return s } -// SetFileSystemTypeVersion sets the FileSystemTypeVersion field's value. -func (s *CreateFileSystemFromBackupInput) SetFileSystemTypeVersion(v string) *CreateFileSystemFromBackupInput { - s.FileSystemTypeVersion = &v - return s -} - -// SetKmsKeyId sets the KmsKeyId field's value. -func (s *CreateFileSystemFromBackupInput) SetKmsKeyId(v string) *CreateFileSystemFromBackupInput { - s.KmsKeyId = &v - return s -} - -// SetLustreConfiguration sets the LustreConfiguration field's value. -func (s *CreateFileSystemFromBackupInput) SetLustreConfiguration(v *CreateFileSystemLustreConfiguration) *CreateFileSystemFromBackupInput { - s.LustreConfiguration = v - return s -} - -// SetSecurityGroupIds sets the SecurityGroupIds field's value. -func (s *CreateFileSystemFromBackupInput) SetSecurityGroupIds(v []*string) *CreateFileSystemFromBackupInput { - s.SecurityGroupIds = v - return s -} - -// SetStorageType sets the StorageType field's value. -func (s *CreateFileSystemFromBackupInput) SetStorageType(v string) *CreateFileSystemFromBackupInput { - s.StorageType = &v +// SetName sets the Name field's value. +func (s *CreateVolumeFromBackupInput) SetName(v string) *CreateVolumeFromBackupInput { + s.Name = &v return s } -// SetSubnetIds sets the SubnetIds field's value. -func (s *CreateFileSystemFromBackupInput) SetSubnetIds(v []*string) *CreateFileSystemFromBackupInput { - s.SubnetIds = v +// SetOntapConfiguration sets the OntapConfiguration field's value. +func (s *CreateVolumeFromBackupInput) SetOntapConfiguration(v *CreateOntapVolumeConfiguration) *CreateVolumeFromBackupInput { + s.OntapConfiguration = v return s } // SetTags sets the Tags field's value. -func (s *CreateFileSystemFromBackupInput) SetTags(v []*Tag) *CreateFileSystemFromBackupInput { +func (s *CreateVolumeFromBackupInput) SetTags(v []*Tag) *CreateVolumeFromBackupInput { s.Tags = v return s } -// SetWindowsConfiguration sets the WindowsConfiguration field's value. -func (s *CreateFileSystemFromBackupInput) SetWindowsConfiguration(v *CreateFileSystemWindowsConfiguration) *CreateFileSystemFromBackupInput { - s.WindowsConfiguration = v - return s -} - -// The response object for the CreateFileSystemFromBackup operation. -type CreateFileSystemFromBackupOutput struct { +type CreateVolumeFromBackupOutput struct { _ struct{} `type:"structure"` - // A description of the file system. - FileSystem *FileSystem `type:"structure"` + // Returned after a successful CreateVolumeFromBackup API operation, describing + // the volume just created. + Volume *Volume `type:"structure"` } // String returns the string representation. @@ -5258,7 +8925,7 @@ type CreateFileSystemFromBackupOutput 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 CreateFileSystemFromBackupOutput) String() string { +func (s CreateVolumeFromBackupOutput) String() string { return awsutil.Prettify(s) } @@ -5267,129 +8934,43 @@ func (s CreateFileSystemFromBackupOutput) 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 CreateFileSystemFromBackupOutput) GoString() string { +func (s CreateVolumeFromBackupOutput) GoString() string { return s.String() } -// SetFileSystem sets the FileSystem field's value. -func (s *CreateFileSystemFromBackupOutput) SetFileSystem(v *FileSystem) *CreateFileSystemFromBackupOutput { - s.FileSystem = v +// SetVolume sets the Volume field's value. +func (s *CreateVolumeFromBackupOutput) SetVolume(v *Volume) *CreateVolumeFromBackupOutput { + s.Volume = v return s } -// The request object used to create a new Amazon FSx file system. -type CreateFileSystemInput struct { +type CreateVolumeInput struct { _ struct{} `type:"structure"` - // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent - // creation. This string is automatically filled on your behalf when you use - // the Command Line Interface (CLI) or an Amazon Web Services SDK. + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // The type of Amazon FSx file system to create. Valid values are WINDOWS, LUSTRE, - // and ONTAP. - // - // FileSystemType is a required field - FileSystemType *string `type:"string" required:"true" enum:"FileSystemType"` - - // Sets the version of the Amazon FSx for Lustre file system you're creating. - // Valid values are 2.10 and 2.12. - // - // * Set the value to 2.10 to create a Lustre 2.10 file system. - // - // * Set the value to 2.12 to create a Lustre 2.12 file system. - // - // Default value is 2.10. - FileSystemTypeVersion *string `min:"1" type:"string"` - - // The ID of the Key Management Service (KMS) key used to encrypt the file system's - // data for Amazon FSx for Windows File Server file systems, Amazon FSx for - // NetApp ONTAP file systems, and Amazon FSx for Lustre PERSISTENT_1 file systems - // at rest. If not specified, the Amazon FSx managed key is used. The Amazon - // FSx for Lustre SCRATCH_1 and SCRATCH_2 file systems are always encrypted - // at rest using Amazon FSx managed keys. For more information, see Encrypt - // (https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) in - // the Key Management Service API Reference. - KmsKeyId *string `min:"1" type:"string"` - - // The Lustre configuration for the file system being created. - LustreConfiguration *CreateFileSystemLustreConfiguration `type:"structure"` - - // The ONTAP configuration properties of the FSx for NetApp ONTAP file system - // that you are creating. - OntapConfiguration *CreateFileSystemOntapConfiguration `type:"structure"` - - // A list of IDs specifying the security groups to apply to all network interfaces - // created for file system access. This list isn't returned in later requests - // to describe the file system. - SecurityGroupIds []*string `type:"list"` - - // Sets the storage capacity of the file system that you're creating. - // - // For Lustre file systems: - // - // * For SCRATCH_2 and PERSISTENT_1 SSD deployment types, valid values are - // 1200 GiB, 2400 GiB, and increments of 2400 GiB. - // - // * For PERSISTENT HDD file systems, valid values are increments of 6000 - // GiB for 12 MB/s/TiB file systems and increments of 1800 GiB for 40 MB/s/TiB - // file systems. - // - // * For SCRATCH_1 deployment type, valid values are 1200 GiB, 2400 GiB, - // and increments of 3600 GiB. - // - // For Windows file systems: + // Specifies the name of the volume that you're creating. // - // * If StorageType=SSD, valid values are 32 GiB - 65,536 GiB (64 TiB). - // - // * If StorageType=HDD, valid values are 2000 GiB - 65,536 GiB (64 TiB). - // - // For ONTAP file systems: - // - // * Valid values are 1024 GiB - 196,608 GiB (192 TiB). - // - // StorageCapacity is a required field - StorageCapacity *int64 `type:"integer" required:"true"` + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` - // Sets the storage type for the file system you're creating. Valid values are - // SSD and HDD. - // - // * Set to SSD to use solid state drive storage. SSD is supported on all - // Windows, Lustre, and ONTAP 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 - // 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) - // in the Amazon FSx for Windows User Guide and Multiple Storage Options (https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html#storage-options) - // in the Amazon FSx for Lustre User Guide. - StorageType *string `type:"string" enum:"StorageType"` + // Specifies the configuration to use when creating the ONTAP volume. + OntapConfiguration *CreateOntapVolumeConfiguration `type:"structure"` - // Specifies the IDs of the subnets that the file system will be accessible - // from. For Windows and ONTAP MULTI_AZ_1 file system deployment types, provide - // exactly two subnet IDs, one for the preferred file server and one for the - // standby file server. You specify one of these subnets as the preferred subnet - // using the WindowsConfiguration > PreferredSubnetID or OntapConfiguration - // > PreferredSubnetID properties. For more information, see Availability and - // durability: Single-AZ and Multi-AZ file systems (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html) - // in the Amazon FSx for Windows User Guide and Availability and durability - // (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/high-availability-multiAZ.html) - // in the Amazon FSx for ONTAP User Guide. - // - // For Windows SINGLE_AZ_1 and SINGLE_AZ_2 file system deployment types and - // Lustre file systems, provide exactly one subnet ID. The file server is launched - // in that subnet's Availability Zone. - // - // SubnetIds is a required field - SubnetIds []*string `type:"list" required:"true"` + // Specifies the configuration to use when creating the OpenZFS volume. + OpenZFSConfiguration *CreateOpenZFSVolumeConfiguration `type:"structure"` - // The tags to apply to the file system being created. The key value of the - // Name tag appears in the console as the file system name. + // A list of Tag values, with a maximum of 50 elements. Tags []*Tag `min:"1" type:"list"` - // The Microsoft Windows configuration for the file system being created. - WindowsConfiguration *CreateFileSystemWindowsConfiguration `type:"structure"` + // Specifies the type of volume to create; ONTAP and OPENZFS are the only valid + // volume types. + // + // VolumeType is a required field + VolumeType *string `type:"string" required:"true" enum:"VolumeType"` } // String returns the string representation. @@ -5397,7 +8978,7 @@ type CreateFileSystemInput 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 CreateFileSystemInput) String() string { +func (s CreateVolumeInput) String() string { return awsutil.Prettify(s) } @@ -5406,44 +8987,38 @@ func (s CreateFileSystemInput) 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 CreateFileSystemInput) GoString() string { +func (s CreateVolumeInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateFileSystemInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemInput"} +func (s *CreateVolumeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateVolumeInput"} if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } - if s.FileSystemType == nil { - invalidParams.Add(request.NewErrParamRequired("FileSystemType")) - } - if s.FileSystemTypeVersion != nil && len(*s.FileSystemTypeVersion) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FileSystemTypeVersion", 1)) - } - if s.KmsKeyId != nil && len(*s.KmsKeyId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("KmsKeyId", 1)) - } - if s.StorageCapacity == nil { - invalidParams.Add(request.NewErrParamRequired("StorageCapacity")) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.SubnetIds == nil { - invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if s.Tags != nil && len(s.Tags) < 1 { invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) } - if s.LustreConfiguration != nil { - if err := s.LustreConfiguration.Validate(); err != nil { - invalidParams.AddNested("LustreConfiguration", err.(request.ErrInvalidParams)) - } + if s.VolumeType == nil { + invalidParams.Add(request.NewErrParamRequired("VolumeType")) } if s.OntapConfiguration != nil { if err := s.OntapConfiguration.Validate(); err != nil { invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams)) } } + if s.OpenZFSConfiguration != nil { + if err := s.OpenZFSConfiguration.Validate(); err != nil { + invalidParams.AddNested("OpenZFSConfiguration", err.(request.ErrInvalidParams)) + } + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -5454,11 +9029,6 @@ func (s *CreateFileSystemInput) Validate() error { } } } - if s.WindowsConfiguration != nil { - if err := s.WindowsConfiguration.Validate(); err != nil { - invalidParams.AddNested("WindowsConfiguration", err.(request.ErrInvalidParams)) - } - } if invalidParams.Len() > 0 { return invalidParams @@ -5467,212 +9037,172 @@ func (s *CreateFileSystemInput) Validate() error { } // SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CreateFileSystemInput) SetClientRequestToken(v string) *CreateFileSystemInput { +func (s *CreateVolumeInput) SetClientRequestToken(v string) *CreateVolumeInput { s.ClientRequestToken = &v return s } -// SetFileSystemType sets the FileSystemType field's value. -func (s *CreateFileSystemInput) SetFileSystemType(v string) *CreateFileSystemInput { - s.FileSystemType = &v - return s -} - -// SetFileSystemTypeVersion sets the FileSystemTypeVersion field's value. -func (s *CreateFileSystemInput) SetFileSystemTypeVersion(v string) *CreateFileSystemInput { - s.FileSystemTypeVersion = &v +// SetName sets the Name field's value. +func (s *CreateVolumeInput) SetName(v string) *CreateVolumeInput { + s.Name = &v return s } -// SetKmsKeyId sets the KmsKeyId field's value. -func (s *CreateFileSystemInput) SetKmsKeyId(v string) *CreateFileSystemInput { - s.KmsKeyId = &v +// SetOntapConfiguration sets the OntapConfiguration field's value. +func (s *CreateVolumeInput) SetOntapConfiguration(v *CreateOntapVolumeConfiguration) *CreateVolumeInput { + s.OntapConfiguration = v return s } -// SetLustreConfiguration sets the LustreConfiguration field's value. -func (s *CreateFileSystemInput) SetLustreConfiguration(v *CreateFileSystemLustreConfiguration) *CreateFileSystemInput { - s.LustreConfiguration = v +// SetOpenZFSConfiguration sets the OpenZFSConfiguration field's value. +func (s *CreateVolumeInput) SetOpenZFSConfiguration(v *CreateOpenZFSVolumeConfiguration) *CreateVolumeInput { + s.OpenZFSConfiguration = v return s } -// SetOntapConfiguration sets the OntapConfiguration field's value. -func (s *CreateFileSystemInput) SetOntapConfiguration(v *CreateFileSystemOntapConfiguration) *CreateFileSystemInput { - s.OntapConfiguration = v +// SetTags sets the Tags field's value. +func (s *CreateVolumeInput) SetTags(v []*Tag) *CreateVolumeInput { + s.Tags = v return s } -// SetSecurityGroupIds sets the SecurityGroupIds field's value. -func (s *CreateFileSystemInput) SetSecurityGroupIds(v []*string) *CreateFileSystemInput { - s.SecurityGroupIds = v +// SetVolumeType sets the VolumeType field's value. +func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput { + s.VolumeType = &v return s } -// SetStorageCapacity sets the StorageCapacity field's value. -func (s *CreateFileSystemInput) SetStorageCapacity(v int64) *CreateFileSystemInput { - s.StorageCapacity = &v - return s -} +type CreateVolumeOutput struct { + _ struct{} `type:"structure"` -// SetStorageType sets the StorageType field's value. -func (s *CreateFileSystemInput) SetStorageType(v string) *CreateFileSystemInput { - s.StorageType = &v - return s + // Returned after a successful CreateVolume API operation, describing the volume + // just created. + Volume *Volume `type:"structure"` } -// SetSubnetIds sets the SubnetIds field's value. -func (s *CreateFileSystemInput) SetSubnetIds(v []*string) *CreateFileSystemInput { - s.SubnetIds = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateVolumeOutput) String() string { + return awsutil.Prettify(s) } -// SetTags sets the Tags field's value. -func (s *CreateFileSystemInput) SetTags(v []*Tag) *CreateFileSystemInput { - s.Tags = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateVolumeOutput) GoString() string { + return s.String() } -// SetWindowsConfiguration sets the WindowsConfiguration field's value. -func (s *CreateFileSystemInput) SetWindowsConfiguration(v *CreateFileSystemWindowsConfiguration) *CreateFileSystemInput { - s.WindowsConfiguration = v +// SetVolume sets the Volume field's value. +func (s *CreateVolumeOutput) SetVolume(v *Volume) *CreateVolumeOutput { + s.Volume = v return s } -// The Lustre configuration for the file system being created. -type CreateFileSystemLustreConfiguration struct { +// The configuration of a data repository association that links an Amazon FSx +// for Lustre file system to an Amazon S3 bucket. The data repository association +// configuration object is returned in the response of the following operations: +// +// * CreateDataRepositoryAssociation +// +// * UpdateDataRepositoryAssociation +// +// * DescribeDataRepositoryAssociations +// +// Data repository associations are supported only for file systems with the +// Persistent_2 deployment type. +type DataRepositoryAssociation struct { _ struct{} `type:"structure"` - // (Optional) When you create your file system, your existing S3 objects appear - // as file and directory listings. Use this property to choose how Amazon FSx - // keeps your file and directory listings up to date as you add or modify objects - // in your linked S3 bucket. AutoImportPolicy can have the following values: - // - // * NONE - (Default) AutoImport is off. Amazon FSx only updates file and - // directory listings from the linked S3 bucket when the file system is created. - // FSx does not update file and directory listings for any new or changed - // objects after choosing this option. - // - // * NEW - AutoImport is on. Amazon FSx automatically imports directory listings - // of any new objects added to the linked S3 bucket that do not currently - // exist in the FSx file system. - // - // * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports file - // and directory listings of any new objects added to the S3 bucket and any - // existing objects that are changed in the S3 bucket after you choose this - // option. - // - // For more information, see Automatically import updates from your S3 bucket - // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html). - AutoImportPolicy *string `type:"string" enum:"AutoImportPolicyType"` - - // The number of days to retain automatic backups. Setting this to 0 disables - // automatic backups. You can retain automatic backups for a maximum of 90 days. - // The default is 0. - AutomaticBackupRetentionDays *int64 `type:"integer"` + // The system-generated, unique ID of the data repository association. + AssociationId *string `min:"13" type:"string"` - // (Optional) Not available to use with file systems that are linked to a data - // repository. A boolean flag indicating whether tags for the file system should - // be copied to backups. The default value is false. If it's set to true, all - // file system tags are copied to all automatic and user-initiated backups when - // the user doesn't specify any backup-specific tags. If this value is true, - // and you specify one or more backup tags, only the specified tags are copied - // to backups. If you specify one or more tags when creating a user-initiated - // backup, no tags are copied from the file system, regardless of this value. - // - // For more information, see Working with backups (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html). - CopyTagsToBackups *bool `type:"boolean"` + // A boolean flag indicating whether an import data repository task to import + // metadata should run after the data repository association is created. The + // task runs if this flag is set to true. + BatchImportMetaDataOnCreate *bool `type:"boolean"` - // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of - // the day (0-23), and MM is the zero-padded minute of the hour. For example, - // 05:00 specifies 5 AM daily. - DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + // The time that the resource was created, in seconds (since 1970-01-01T00:00:00Z), + // also known as Unix time. + CreationTime *time.Time `type:"timestamp"` - // Sets the data compression configuration for the file system. DataCompressionType - // can have the following values: - // - // * NONE - (Default) Data compression is turned off when the file system - // is created. - // - // * LZ4 - Data compression is turned on with the LZ4 algorithm. - // - // For more information, see Lustre data compression (https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html). - DataCompressionType *string `type:"string" enum:"DataCompressionType"` + // The path to the Amazon S3 data repository that will be linked to the file + // system. The path can be an S3 bucket or prefix in the format s3://myBucket/myPrefix/. + // This path specifies where in the S3 data repository files will be imported + // from or exported to. + DataRepositoryPath *string `min:"3" type:"string"` - // 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 deployment type for longer-term storage and workloads - // and encryption of data in transit. To learn more about deployment types, - // see FSx for Lustre Deployment Options (https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html). - // - // Encryption of data in-transit is automatically enabled when you access a - // SCRATCH_2 or PERSISTENT_1 file system from Amazon EC2 instances that support - // this feature (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/data- protection.html). - // (Default = SCRATCH_1) - // - // Encryption of data in-transit for SCRATCH_2 and PERSISTENT_1 deployment types - // is supported when accessed from supported instance types in supported Amazon - // Web Services Regions. To learn more, Encrypting Data in Transit (https://docs.aws.amazon.com/fsx/latest/LustreGuide/encryption-in-transit-fsxl.html). - DeploymentType *string `type:"string" enum:"LustreDeploymentType"` + // Provides detailed information about the data respository if its Lifecycle + // is set to MISCONFIGURED or FAILED. + FailureDetails *DataRepositoryFailureDetails `type:"structure"` - // The type of drive cache used by PERSISTENT_1 file systems that are provisioned - // with HDD storage devices. This parameter is required when storage type is - // HDD. Set to READ, improve the performance for frequently accessed files and - // allows 20% of the total storage capacity of the file system to be cached. - // - // This parameter is required when StorageType is set to HDD. - DriveCacheType *string `type:"string" enum:"DriveCacheType"` + // The globally unique ID of the file system, assigned by Amazon FSx. + FileSystemId *string `min:"11" type:"string"` - // (Optional) The path in Amazon S3 where the root of your Amazon FSx file system - // is exported. The path must use the same Amazon S3 bucket as specified in - // ImportPath. You can provide an optional prefix to which new and changed data - // is to be exported from your Amazon FSx for Lustre file system. If an ExportPath - // value is not provided, Amazon FSx sets a default export path, s3://import-bucket/FSxLustre[creation-timestamp]. - // The timestamp is in UTC format, for example s3://import-bucket/FSxLustre20181105T222312Z. + // A path on the file system that points to a high-level directory (such as + // /ns1/) or subdirectory (such as /ns1/subdir/) that will be mapped 1-1 with + // DataRepositoryPath. The leading forward slash in the name is required. Two + // data repository associations cannot have overlapping file system paths. For + // example, if a data repository is associated with file system path /ns1/, + // then you cannot link another data repository with file system path /ns1/ns2. // - // The Amazon S3 export bucket must be the same as the import bucket specified - // by ImportPath. If you only specify a bucket name, such as s3://import-bucket, - // you get a 1:1 mapping of file system objects to S3 bucket objects. This mapping - // means that the input data in S3 is overwritten on export. If you provide - // a custom prefix in the export path, such as s3://import-bucket/[custom-optional-prefix], - // Amazon FSx exports the contents of your file system to that export prefix - // in the Amazon S3 bucket. - ExportPath *string `min:"3" type:"string"` - - // (Optional) The path to the Amazon S3 bucket (including the optional prefix) - // that you're using as the data repository for your Amazon FSx for Lustre file - // system. The root of your FSx for Lustre file system will be mapped to the - // root of the Amazon S3 bucket you select. An example is s3://import-bucket/optional-prefix. - // If you specify a prefix after the Amazon S3 bucket name, only object keys - // with that prefix are loaded into the file system. - ImportPath *string `min:"3" type:"string"` + // This path specifies where in your file system files will be exported from + // or imported to. This file system directory can be linked to only one Amazon + // S3 bucket, and no other S3 bucket can be linked to the directory. + FileSystemPath *string `min:"1" type:"string"` - // (Optional) For files imported from a data repository, this value determines - // the stripe count and maximum amount of data per file (in MiB) stored on a - // single physical disk. The maximum number of disks that a single file can - // be striped across is limited by the total number of disks that make up the - // file system. + // For files imported from a data repository, this value determines the stripe + // count and maximum amount of data per file (in MiB) stored on a single physical + // disk. The maximum number of disks that a single file can be striped across + // is limited by the total number of disks that make up the file system. // // The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 // MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB. ImportedFileChunkSize *int64 `min:"1" type:"integer"` - // Required for the PERSISTENT_1 deployment type, describes the amount of read - // and write throughput for each 1 tebibyte of storage, in MB/s/TiB. File system - // throughput capacity is calculated by multiplying file system storage capacity - // (TiB) by the PerUnitStorageThroughput (MB/s/TiB). For a 2.4 TiB file system, - // provisioning 50 MB/s/TiB of PerUnitStorageThroughput yields 120 MB/s of file - // system throughput. You pay for the amount of throughput that you provision. + // Describes the state of a data repository association. The lifecycle can have + // the following values: // - // Valid values for SSD storage: 50, 100, 200. Valid values for HDD storage: - // 12, 40. - PerUnitStorageThroughput *int64 `min:"12" type:"integer"` + // * CREATING - The data repository association between the FSx file system + // and the S3 data repository is being created. The data repository is unavailable. + // + // * AVAILABLE - The data repository association is available for use. + // + // * MISCONFIGURED - Amazon FSx cannot automatically import updates from + // the S3 bucket or automatically export updates to the S3 bucket until the + // data repository association configuration is corrected. + // + // * UPDATING - The data repository association is undergoing a customer + // initiated update that might affect its availability. + // + // * DELETING - The data repository association is undergoing a customer + // initiated deletion. + // + // * FAILED - The data repository association is in a terminal state that + // cannot be recovered. + Lifecycle *string `type:"string" enum:"DataRepositoryLifecycle"` - // (Optional) The preferred start time to perform weekly maintenance, formatted - // d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through - // 7, beginning with Monday and ending with Sunday. - WeeklyMaintenanceStartTime *string `min:"7" type:"string"` + // The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify + // Amazon Web Services resources. We require an ARN when you need to specify + // a resource unambiguously across all of Amazon Web Services. For more information, + // see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the Amazon Web Services General Reference. + ResourceARN *string `min:"8" type:"string"` + + // The configuration for an Amazon S3 data repository linked to an Amazon FSx + // Lustre file system with a data repository association. The configuration + // defines which file events (new, changed, or deleted files or directories) + // are automatically imported from the linked data repository to the file system + // or automatically exported from the file system to the data repository. + S3 *S3DataRepositoryConfiguration `type:"structure"` + + // A list of Tag values, with a maximum of 50 elements. + Tags []*Tag `min:"1" type:"list"` } // String returns the string representation. @@ -5680,7 +9210,7 @@ type CreateFileSystemLustreConfiguration 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 CreateFileSystemLustreConfiguration) String() string { +func (s DataRepositoryAssociation) String() string { return awsutil.Prettify(s) } @@ -5689,174 +9219,89 @@ func (s CreateFileSystemLustreConfiguration) 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 CreateFileSystemLustreConfiguration) GoString() string { +func (s DataRepositoryAssociation) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateFileSystemLustreConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemLustreConfiguration"} - if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { - invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) - } - if s.ExportPath != nil && len(*s.ExportPath) < 3 { - invalidParams.Add(request.NewErrParamMinLen("ExportPath", 3)) - } - if s.ImportPath != nil && len(*s.ImportPath) < 3 { - invalidParams.Add(request.NewErrParamMinLen("ImportPath", 3)) - } - if s.ImportedFileChunkSize != nil && *s.ImportedFileChunkSize < 1 { - invalidParams.Add(request.NewErrParamMinValue("ImportedFileChunkSize", 1)) - } - if s.PerUnitStorageThroughput != nil && *s.PerUnitStorageThroughput < 12 { - invalidParams.Add(request.NewErrParamMinValue("PerUnitStorageThroughput", 12)) - } - if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { - invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAutoImportPolicy sets the AutoImportPolicy field's value. -func (s *CreateFileSystemLustreConfiguration) SetAutoImportPolicy(v string) *CreateFileSystemLustreConfiguration { - s.AutoImportPolicy = &v +// SetAssociationId sets the AssociationId field's value. +func (s *DataRepositoryAssociation) SetAssociationId(v string) *DataRepositoryAssociation { + s.AssociationId = &v return s } -// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. -func (s *CreateFileSystemLustreConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemLustreConfiguration { - s.AutomaticBackupRetentionDays = &v +// SetBatchImportMetaDataOnCreate sets the BatchImportMetaDataOnCreate field's value. +func (s *DataRepositoryAssociation) SetBatchImportMetaDataOnCreate(v bool) *DataRepositoryAssociation { + s.BatchImportMetaDataOnCreate = &v return s } -// SetCopyTagsToBackups sets the CopyTagsToBackups field's value. -func (s *CreateFileSystemLustreConfiguration) SetCopyTagsToBackups(v bool) *CreateFileSystemLustreConfiguration { - s.CopyTagsToBackups = &v +// SetCreationTime sets the CreationTime field's value. +func (s *DataRepositoryAssociation) SetCreationTime(v time.Time) *DataRepositoryAssociation { + s.CreationTime = &v return s } -// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. -func (s *CreateFileSystemLustreConfiguration) SetDailyAutomaticBackupStartTime(v string) *CreateFileSystemLustreConfiguration { - s.DailyAutomaticBackupStartTime = &v +// SetDataRepositoryPath sets the DataRepositoryPath field's value. +func (s *DataRepositoryAssociation) SetDataRepositoryPath(v string) *DataRepositoryAssociation { + s.DataRepositoryPath = &v return s } -// SetDataCompressionType sets the DataCompressionType field's value. -func (s *CreateFileSystemLustreConfiguration) SetDataCompressionType(v string) *CreateFileSystemLustreConfiguration { - s.DataCompressionType = &v +// SetFailureDetails sets the FailureDetails field's value. +func (s *DataRepositoryAssociation) SetFailureDetails(v *DataRepositoryFailureDetails) *DataRepositoryAssociation { + s.FailureDetails = v return s } -// SetDeploymentType sets the DeploymentType field's value. -func (s *CreateFileSystemLustreConfiguration) SetDeploymentType(v string) *CreateFileSystemLustreConfiguration { - s.DeploymentType = &v +// SetFileSystemId sets the FileSystemId field's value. +func (s *DataRepositoryAssociation) SetFileSystemId(v string) *DataRepositoryAssociation { + s.FileSystemId = &v return s } -// SetDriveCacheType sets the DriveCacheType field's value. -func (s *CreateFileSystemLustreConfiguration) SetDriveCacheType(v string) *CreateFileSystemLustreConfiguration { - s.DriveCacheType = &v +// SetFileSystemPath sets the FileSystemPath field's value. +func (s *DataRepositoryAssociation) SetFileSystemPath(v string) *DataRepositoryAssociation { + s.FileSystemPath = &v return s } -// SetExportPath sets the ExportPath field's value. -func (s *CreateFileSystemLustreConfiguration) SetExportPath(v string) *CreateFileSystemLustreConfiguration { - s.ExportPath = &v +// SetImportedFileChunkSize sets the ImportedFileChunkSize field's value. +func (s *DataRepositoryAssociation) SetImportedFileChunkSize(v int64) *DataRepositoryAssociation { + s.ImportedFileChunkSize = &v return s } -// SetImportPath sets the ImportPath field's value. -func (s *CreateFileSystemLustreConfiguration) SetImportPath(v string) *CreateFileSystemLustreConfiguration { - s.ImportPath = &v +// SetLifecycle sets the Lifecycle field's value. +func (s *DataRepositoryAssociation) SetLifecycle(v string) *DataRepositoryAssociation { + s.Lifecycle = &v return s } -// SetImportedFileChunkSize sets the ImportedFileChunkSize field's value. -func (s *CreateFileSystemLustreConfiguration) SetImportedFileChunkSize(v int64) *CreateFileSystemLustreConfiguration { - s.ImportedFileChunkSize = &v +// SetResourceARN sets the ResourceARN field's value. +func (s *DataRepositoryAssociation) SetResourceARN(v string) *DataRepositoryAssociation { + s.ResourceARN = &v return s } -// SetPerUnitStorageThroughput sets the PerUnitStorageThroughput field's value. -func (s *CreateFileSystemLustreConfiguration) SetPerUnitStorageThroughput(v int64) *CreateFileSystemLustreConfiguration { - s.PerUnitStorageThroughput = &v +// SetS3 sets the S3 field's value. +func (s *DataRepositoryAssociation) SetS3(v *S3DataRepositoryConfiguration) *DataRepositoryAssociation { + s.S3 = v return s } -// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. -func (s *CreateFileSystemLustreConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileSystemLustreConfiguration { - s.WeeklyMaintenanceStartTime = &v +// SetTags sets the Tags field's value. +func (s *DataRepositoryAssociation) SetTags(v []*Tag) *DataRepositoryAssociation { + s.Tags = v return s } -// The ONTAP configuration properties of the FSx for NetApp ONTAP file system -// that you are creating. -type CreateFileSystemOntapConfiguration struct { - _ struct{} `type:"structure"` - - // The number of days to retain automatic backups. Setting this to 0 disables - // automatic backups. You can retain automatic backups for a maximum of 90 days. - // The default is 0. - AutomaticBackupRetentionDays *int64 `type:"integer"` - - // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of - // the day (0-23), and MM is the zero-padded minute of the hour. For example, - // 05:00 specifies 5 AM daily. - DailyAutomaticBackupStartTime *string `min:"5" type:"string"` - - // Specifies the ONTAP file system deployment type to use in creating the file - // system. - // - // DeploymentType is a required field - DeploymentType *string `type:"string" required:"true" enum:"OntapDeploymentType"` - - // The SSD IOPS configuration for the Amazon FSx for NetApp ONTAP file system. - DiskIopsConfiguration *DiskIopsConfiguration `type:"structure"` - - // Specifies the IP address range in which the endpoints to access your file - // system will be created. By default, Amazon FSx selects an unused IP address - // range for you from the 198.19.* range. - EndpointIpAddressRange *string `min:"9" type:"string"` - - // The ONTAP administrative password for the fsxadmin user that you can use - // to administer your file system using the ONTAP CLI and REST API. - // - // FsxAdminPassword is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by CreateFileSystemOntapConfiguration's - // String and GoString methods. - FsxAdminPassword *string `min:"8" type:"string" sensitive:"true"` - - // The ID for a subnet. A subnet is a range of IP addresses in your virtual - // private cloud (VPC). For more information, see VPC and Subnets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html) - // in the Amazon VPC User Guide. - PreferredSubnetId *string `min:"15" type:"string"` - - // Specifies the VPC route tables in which your file system's endpoints will - // be created. You should specify all VPC route tables associated with the subnets - // in which your clients are located. By default, Amazon FSx selects your VPC's - // default route table. - RouteTableIds []*string `type:"list"` - - // Sustained throughput of an Amazon FSx file system in MBps. - // - // ThroughputCapacity is a required field - ThroughputCapacity *int64 `min:"8" type:"integer" required:"true"` - - // A recurring weekly time, in the format D:HH:MM. - // - // D is the day of the week, for which 1 represents Monday and 7 represents - // Sunday. For further details, see the ISO-8601 spec as described on Wikipedia - // (https://en.wikipedia.org/wiki/ISO_week_date). - // - // HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute - // of the hour. - // - // For example, 1:05:00 specifies maintenance at 5 AM Monday. - WeeklyMaintenanceStartTime *string `min:"7" type:"string"` +// No data repository associations were found based upon the supplied parameters. +type DataRepositoryAssociationNotFound struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A detailed error message. + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation. @@ -5864,7 +9309,7 @@ type CreateFileSystemOntapConfiguration 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 CreateFileSystemOntapConfiguration) String() string { +func (s DataRepositoryAssociationNotFound) String() string { return awsutil.Prettify(s) } @@ -5873,110 +9318,188 @@ func (s CreateFileSystemOntapConfiguration) 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 CreateFileSystemOntapConfiguration) GoString() string { +func (s DataRepositoryAssociationNotFound) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateFileSystemOntapConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemOntapConfiguration"} - if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { - invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) - } - if s.DeploymentType == nil { - invalidParams.Add(request.NewErrParamRequired("DeploymentType")) - } - if s.EndpointIpAddressRange != nil && len(*s.EndpointIpAddressRange) < 9 { - invalidParams.Add(request.NewErrParamMinLen("EndpointIpAddressRange", 9)) - } - if s.FsxAdminPassword != nil && len(*s.FsxAdminPassword) < 8 { - invalidParams.Add(request.NewErrParamMinLen("FsxAdminPassword", 8)) - } - if s.PreferredSubnetId != nil && len(*s.PreferredSubnetId) < 15 { - invalidParams.Add(request.NewErrParamMinLen("PreferredSubnetId", 15)) - } - if s.ThroughputCapacity == nil { - invalidParams.Add(request.NewErrParamRequired("ThroughputCapacity")) - } - if s.ThroughputCapacity != nil && *s.ThroughputCapacity < 8 { - invalidParams.Add(request.NewErrParamMinValue("ThroughputCapacity", 8)) - } - if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { - invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) +func newErrorDataRepositoryAssociationNotFound(v protocol.ResponseMetadata) error { + return &DataRepositoryAssociationNotFound{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *DataRepositoryAssociationNotFound) Code() string { + return "DataRepositoryAssociationNotFound" +} + +// Message returns the exception's message. +func (s *DataRepositoryAssociationNotFound) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DataRepositoryAssociationNotFound) OrigErr() error { return nil } -// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. -func (s *CreateFileSystemOntapConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemOntapConfiguration { - s.AutomaticBackupRetentionDays = &v - return s +func (s *DataRepositoryAssociationNotFound) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. -func (s *CreateFileSystemOntapConfiguration) SetDailyAutomaticBackupStartTime(v string) *CreateFileSystemOntapConfiguration { - s.DailyAutomaticBackupStartTime = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *DataRepositoryAssociationNotFound) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetDeploymentType sets the DeploymentType field's value. -func (s *CreateFileSystemOntapConfiguration) SetDeploymentType(v string) *CreateFileSystemOntapConfiguration { - s.DeploymentType = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *DataRepositoryAssociationNotFound) RequestID() string { + return s.RespMetadata.RequestID } -// SetDiskIopsConfiguration sets the DiskIopsConfiguration field's value. -func (s *CreateFileSystemOntapConfiguration) SetDiskIopsConfiguration(v *DiskIopsConfiguration) *CreateFileSystemOntapConfiguration { - s.DiskIopsConfiguration = v - return s +// The data repository configuration object for Lustre file systems returned +// in the response of the CreateFileSystem operation. +// +// This data type is not supported for file systems with the Persistent_2 deployment +// type. Instead, use . +type DataRepositoryConfiguration struct { + _ struct{} `type:"structure"` + + // Describes the file system's linked S3 data repository's AutoImportPolicy. + // The AutoImportPolicy configures how Amazon FSx keeps your file and directory + // listings up to date as you add or modify objects in your linked S3 bucket. + // AutoImportPolicy can have the following values: + // + // * NONE - (Default) AutoImport is off. Amazon FSx only updates file and + // directory listings from the linked S3 bucket when the file system is created. + // FSx does not update file and directory listings for any new or changed + // objects after choosing this option. + // + // * NEW - AutoImport is on. Amazon FSx automatically imports directory listings + // of any new objects added to the linked S3 bucket that do not currently + // exist in the FSx file system. + // + // * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports file + // and directory listings of any new objects added to the S3 bucket and any + // existing objects that are changed in the S3 bucket after you choose this + // option. + // + // * NEW_CHANGED_DELETED - AutoImport is on. Amazon FSx automatically imports + // file and directory listings of any new objects added to the S3 bucket, + // any existing objects that are changed in the S3 bucket, and any objects + // that were deleted in the S3 bucket. + AutoImportPolicy *string `type:"string" enum:"AutoImportPolicyType"` + + // The export path to the Amazon S3 bucket (and prefix) that you are using to + // store new and changed Lustre file system files in S3. + ExportPath *string `min:"3" type:"string"` + + // Provides detailed information about the data respository if its Lifecycle + // is set to MISCONFIGURED or FAILED. + FailureDetails *DataRepositoryFailureDetails `type:"structure"` + + // The import path to the Amazon S3 bucket (and optional prefix) that you're + // using as the data repository for your FSx for Lustre file system, for example + // s3://import-bucket/optional-prefix. If a prefix is specified after the Amazon + // S3 bucket name, only object keys with that prefix are loaded into the file + // system. + ImportPath *string `min:"3" type:"string"` + + // For files imported from a data repository, this value determines the stripe + // count and maximum amount of data per file (in MiB) stored on a single physical + // disk. The maximum number of disks that a single file can be striped across + // is limited by the total number of disks that make up the file system. + // + // The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 + // MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB. + ImportedFileChunkSize *int64 `min:"1" type:"integer"` + + // Describes the state of the file system's S3 durable data repository, if it + // is configured with an S3 repository. The lifecycle can have the following + // values: + // + // * CREATING - The data repository configuration between the FSx file system + // and the linked S3 data repository is being created. The data repository + // is unavailable. + // + // * AVAILABLE - The data repository is available for use. + // + // * MISCONFIGURED - Amazon FSx cannot automatically import updates from + // the S3 bucket until the data repository configuration is corrected. For + // more information, see Troubleshooting a Misconfigured linked S3 bucket + // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/troubleshooting.html#troubleshooting-misconfigured-data-repository). + // + // * UPDATING - The data repository is undergoing a customer initiated update + // and availability may be impacted. + // + // * FAILED - The data repository is in a terminal state that cannot be recovered. + Lifecycle *string `type:"string" enum:"DataRepositoryLifecycle"` } -// SetEndpointIpAddressRange sets the EndpointIpAddressRange field's value. -func (s *CreateFileSystemOntapConfiguration) SetEndpointIpAddressRange(v string) *CreateFileSystemOntapConfiguration { - s.EndpointIpAddressRange = &v +// 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 DataRepositoryConfiguration) 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 DataRepositoryConfiguration) GoString() string { + return s.String() +} + +// SetAutoImportPolicy sets the AutoImportPolicy field's value. +func (s *DataRepositoryConfiguration) SetAutoImportPolicy(v string) *DataRepositoryConfiguration { + s.AutoImportPolicy = &v return s } -// SetFsxAdminPassword sets the FsxAdminPassword field's value. -func (s *CreateFileSystemOntapConfiguration) SetFsxAdminPassword(v string) *CreateFileSystemOntapConfiguration { - s.FsxAdminPassword = &v +// SetExportPath sets the ExportPath field's value. +func (s *DataRepositoryConfiguration) SetExportPath(v string) *DataRepositoryConfiguration { + s.ExportPath = &v return s } -// SetPreferredSubnetId sets the PreferredSubnetId field's value. -func (s *CreateFileSystemOntapConfiguration) SetPreferredSubnetId(v string) *CreateFileSystemOntapConfiguration { - s.PreferredSubnetId = &v +// SetFailureDetails sets the FailureDetails field's value. +func (s *DataRepositoryConfiguration) SetFailureDetails(v *DataRepositoryFailureDetails) *DataRepositoryConfiguration { + s.FailureDetails = v return s } -// SetRouteTableIds sets the RouteTableIds field's value. -func (s *CreateFileSystemOntapConfiguration) SetRouteTableIds(v []*string) *CreateFileSystemOntapConfiguration { - s.RouteTableIds = v +// SetImportPath sets the ImportPath field's value. +func (s *DataRepositoryConfiguration) SetImportPath(v string) *DataRepositoryConfiguration { + s.ImportPath = &v return s } -// SetThroughputCapacity sets the ThroughputCapacity field's value. -func (s *CreateFileSystemOntapConfiguration) SetThroughputCapacity(v int64) *CreateFileSystemOntapConfiguration { - s.ThroughputCapacity = &v +// SetImportedFileChunkSize sets the ImportedFileChunkSize field's value. +func (s *DataRepositoryConfiguration) SetImportedFileChunkSize(v int64) *DataRepositoryConfiguration { + s.ImportedFileChunkSize = &v return s } -// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. -func (s *CreateFileSystemOntapConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileSystemOntapConfiguration { - s.WeeklyMaintenanceStartTime = &v +// SetLifecycle sets the Lifecycle field's value. +func (s *DataRepositoryConfiguration) SetLifecycle(v string) *DataRepositoryConfiguration { + s.Lifecycle = &v return s } -// The response object returned after the file system is created. -type CreateFileSystemOutput struct { +// Provides detailed information about the data respository if its Lifecycle +// is set to MISCONFIGURED or FAILED. +type DataRepositoryFailureDetails struct { _ struct{} `type:"structure"` - // The configuration of the file system that was created. - FileSystem *FileSystem `type:"structure"` + // A detailed error message. + Message *string `min:"1" type:"string"` } // String returns the string representation. @@ -5984,7 +9507,7 @@ type CreateFileSystemOutput 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 CreateFileSystemOutput) String() string { +func (s DataRepositoryFailureDetails) String() string { return awsutil.Prettify(s) } @@ -5993,122 +9516,114 @@ func (s CreateFileSystemOutput) 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 CreateFileSystemOutput) GoString() string { +func (s DataRepositoryFailureDetails) GoString() string { return s.String() } -// SetFileSystem sets the FileSystem field's value. -func (s *CreateFileSystemOutput) SetFileSystem(v *FileSystem) *CreateFileSystemOutput { - s.FileSystem = v +// SetMessage sets the Message field's value. +func (s *DataRepositoryFailureDetails) SetMessage(v string) *DataRepositoryFailureDetails { + s.Message = &v return s } -// The configuration object for the Microsoft Windows file system used in CreateFileSystem -// and CreateFileSystemFromBackup operations. -type CreateFileSystemWindowsConfiguration struct { +// A description of the data repository task. You use data repository tasks +// to perform bulk transfer operations between your Amazon FSx file system and +// a linked data repository. +type DataRepositoryTask struct { _ struct{} `type:"structure"` - // The ID for an existing Amazon Web Services Managed Microsoft Active Directory - // (AD) instance that the file system should join when it's created. - ActiveDirectoryId *string `min:"12" type:"string"` + // The time that the resource was created, in seconds (since 1970-01-01T00:00:00Z), + // also known as Unix time. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` - // An array of one or more DNS alias names that you want to associate with the - // Amazon FSx file system. Aliases allow you to use existing DNS names to access - // the data in your Amazon FSx file system. You can associate up to 50 aliases - // with a file system at any time. You can associate additional DNS aliases - // after you create the file system using the AssociateFileSystemAliases operation. - // You can remove DNS aliases from the file system after it is created using - // the DisassociateFileSystemAliases operation. You only need to specify the - // alias name in the request payload. + // The time that Amazon FSx completed processing the task, populated after the + // task is complete. + EndTime *time.Time `type:"timestamp"` + + // Failure message describing why the task failed, it is populated only when + // Lifecycle is set to FAILED. + FailureDetails *DataRepositoryTaskFailureDetails `type:"structure"` + + // The globally unique ID of the file system, assigned by Amazon FSx. // - // For more information, see Working with DNS Aliases (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-dns-aliases.html) - // and Walkthrough 5: Using DNS aliases to access your file system (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/walkthrough05-file-system-custom-CNAME.html), - // including additional steps you must take to be able to access your file system - // using a DNS alias. + // FileSystemId is a required field + FileSystemId *string `min:"11" type:"string" required:"true"` + + // The lifecycle status of the data repository task, as follows: + // + // * PENDING - Amazon FSx has not started the task. + // + // * EXECUTING - Amazon FSx is processing the task. + // + // * FAILED - Amazon FSx was not able to complete the task. For example, + // there may be files the task failed to process. The DataRepositoryTaskFailureDetails + // property provides more information about task failures. // - // An alias name has to meet the following requirements: + // * SUCCEEDED - FSx completed the task successfully. // - // * Formatted as a fully-qualified domain name (FQDN), hostname.domain, - // for example, accounting.example.com. + // * CANCELED - Amazon FSx canceled the task and it did not complete. // - // * Can contain alphanumeric characters, the underscore (_), and the hyphen - // (-). + // * CANCELING - FSx is in process of canceling the task. // - // * Cannot start or end with a hyphen. + // You cannot delete an FSx for Lustre file system if there are data repository + // tasks for the file system in the PENDING or EXECUTING states. Please retry + // when the data repository task is finished (with a status of CANCELED, SUCCEEDED, + // or FAILED). You can use the DescribeDataRepositoryTask action to monitor + // the task status. Contact the FSx team if you need to delete your file system + // immediately. // - // * Can start with a numeric. + // Lifecycle is a required field + Lifecycle *string `type:"string" required:"true" enum:"DataRepositoryTaskLifecycle"` + + // An array of paths on the Amazon FSx for Lustre file system that specify the + // data for the data repository task to process. For example, in an EXPORT_TO_REPOSITORY + // task, the paths specify which data to export to the linked data repository. // - // For DNS alias names, Amazon FSx stores alphabetic characters as lowercase - // letters (a-z), regardless of how you specify them: as uppercase letters, - // lowercase letters, or the corresponding letters in escape codes. - Aliases []*string `type:"list"` + // (Default) If Paths is not specified, Amazon FSx uses the file system root + // directory. + Paths []*string `type:"list"` - // The configuration that Amazon FSx for Windows File Server uses to audit and - // log user accesses of files, folders, and file shares on the Amazon FSx for - // Windows File Server file system. - AuditLogConfiguration *WindowsAuditLogCreateConfiguration `type:"structure"` + // Provides a report detailing the data repository task results of the files + // processed that match the criteria specified in the report Scope parameter. + // FSx delivers the report to the file system's linked data repository in Amazon + // S3, using the path specified in the report Path parameter. You can specify + // whether or not a report gets generated for a task using the Enabled parameter. + Report *CompletionReport `type:"structure"` - // The number of days to retain automatic backups. The default is to retain - // backups for 7 days. Setting this value to 0 disables the creation of automatic - // backups. The maximum retention period for backups is 90 days. - AutomaticBackupRetentionDays *int64 `type:"integer"` + // The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify + // Amazon Web Services resources. We require an ARN when you need to specify + // a resource unambiguously across all of Amazon Web Services. For more information, + // see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the Amazon Web Services General Reference. + ResourceARN *string `min:"8" type:"string"` - // A boolean flag indicating whether tags for the file system should be copied - // to backups. This value defaults to false. If it's set to true, all tags for - // the file system are copied to all automatic and user-initiated backups where - // the user doesn't specify tags. If this value is true, and you specify one - // or more tags, only the specified tags are copied to backups. If you specify - // one or more tags when creating a user-initiated backup, no tags are copied - // from the file system, regardless of this value. - CopyTagsToBackups *bool `type:"boolean"` + // The time that Amazon FSx began processing the task. + StartTime *time.Time `type:"timestamp"` - // The preferred time to take daily automatic backups, formatted HH:MM in the - // UTC time zone. - DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + // Provides the status of the number of files that the task has processed successfully + // and failed to process. + Status *DataRepositoryTaskStatus `type:"structure"` - // Specifies the file system deployment type, valid values are the following: - // - // * MULTI_AZ_1 - Deploys a high availability file system that is configured - // for Multi-AZ redundancy to tolerate temporary Availability Zone (AZ) unavailability. - // You can only deploy a Multi-AZ file system in Amazon Web Services Regions - // that have a minimum of three Availability Zones. Also supports HDD storage - // type + // A list of Tag values, with a maximum of 50 elements. + Tags []*Tag `min:"1" type:"list"` + + // The system-generated, unique 17-digit ID of the data repository task. // - // * SINGLE_AZ_1 - (Default) Choose to deploy a file system that is configured - // for single AZ redundancy. + // TaskId is a required field + TaskId *string `min:"12" type:"string" required:"true"` + + // The type of data repository task. // - // * SINGLE_AZ_2 - The latest generation Single AZ file system. Specifies - // a file system that is configured for single AZ redundancy and supports - // HDD storage type. + // * The EXPORT_TO_REPOSITORY data repository task exports from your Lustre + // file system from to a linked S3 bucket. // - // For more information, see Availability and Durability: Single-AZ and Multi-AZ - // File Systems (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/high-availability-multiAZ.html). - DeploymentType *string `type:"string" enum:"WindowsDeploymentType"` - - // Required when DeploymentType is set to MULTI_AZ_1. This specifies the subnet - // in which you want the preferred file server to be located. For in-Amazon - // Web Services applications, we recommend that you launch your clients in the - // same Availability Zone (AZ) as your preferred file server to reduce cross-AZ - // data transfer costs and minimize latency. - PreferredSubnetId *string `min:"15" type:"string"` - - // The configuration that Amazon FSx uses to join a FSx for Windows File Server - // file system or an ONTAP storage virtual machine (SVM) to a self-managed (including - // on-premises) Microsoft Active Directory (AD) directory. For more information, - // see Using Amazon FSx with your self-managed Microsoft Active Directory (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/self-managed-AD.html) - // or Managing SVMs (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html). - SelfManagedActiveDirectoryConfiguration *SelfManagedActiveDirectoryConfiguration `type:"structure"` - - // The throughput of an Amazon FSx file system, measured in megabytes per second, - // in 2 to the nth increments, between 2^3 (8) and 2^11 (2048). + // * The IMPORT_METADATA_FROM_REPOSITORY data repository task imports metadata + // changes from a linked S3 bucket to your Lustre file system. // - // ThroughputCapacity is a required field - ThroughputCapacity *int64 `min:"8" type:"integer" required:"true"` - - // The preferred start time to perform weekly maintenance, formatted d:HH:MM - // in the UTC time zone, where d is the weekday number, from 1 through 7, beginning - // with Monday and ending with Sunday. - WeeklyMaintenanceStartTime *string `min:"7" type:"string"` + // Type is a required field + Type *string `type:"string" required:"true" enum:"DataRepositoryTaskType"` } // String returns the string representation. @@ -6116,7 +9631,7 @@ type CreateFileSystemWindowsConfiguration 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 CreateFileSystemWindowsConfiguration) String() string { +func (s DataRepositoryTask) String() string { return awsutil.Prettify(s) } @@ -6125,159 +9640,162 @@ func (s CreateFileSystemWindowsConfiguration) 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 CreateFileSystemWindowsConfiguration) GoString() string { +func (s DataRepositoryTask) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateFileSystemWindowsConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateFileSystemWindowsConfiguration"} - if s.ActiveDirectoryId != nil && len(*s.ActiveDirectoryId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("ActiveDirectoryId", 12)) - } - if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { - invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) - } - if s.PreferredSubnetId != nil && len(*s.PreferredSubnetId) < 15 { - invalidParams.Add(request.NewErrParamMinLen("PreferredSubnetId", 15)) - } - if s.ThroughputCapacity == nil { - invalidParams.Add(request.NewErrParamRequired("ThroughputCapacity")) - } - if s.ThroughputCapacity != nil && *s.ThroughputCapacity < 8 { - invalidParams.Add(request.NewErrParamMinValue("ThroughputCapacity", 8)) - } - if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { - invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) - } - if s.AuditLogConfiguration != nil { - if err := s.AuditLogConfiguration.Validate(); err != nil { - invalidParams.AddNested("AuditLogConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.SelfManagedActiveDirectoryConfiguration != nil { - if err := s.SelfManagedActiveDirectoryConfiguration.Validate(); err != nil { - invalidParams.AddNested("SelfManagedActiveDirectoryConfiguration", err.(request.ErrInvalidParams)) - } - } +// SetCreationTime sets the CreationTime field's value. +func (s *DataRepositoryTask) SetCreationTime(v time.Time) *DataRepositoryTask { + s.CreationTime = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetEndTime sets the EndTime field's value. +func (s *DataRepositoryTask) SetEndTime(v time.Time) *DataRepositoryTask { + s.EndTime = &v + return s } -// SetActiveDirectoryId sets the ActiveDirectoryId field's value. -func (s *CreateFileSystemWindowsConfiguration) SetActiveDirectoryId(v string) *CreateFileSystemWindowsConfiguration { - s.ActiveDirectoryId = &v +// SetFailureDetails sets the FailureDetails field's value. +func (s *DataRepositoryTask) SetFailureDetails(v *DataRepositoryTaskFailureDetails) *DataRepositoryTask { + s.FailureDetails = v return s } -// SetAliases sets the Aliases field's value. -func (s *CreateFileSystemWindowsConfiguration) SetAliases(v []*string) *CreateFileSystemWindowsConfiguration { - s.Aliases = v +// SetFileSystemId sets the FileSystemId field's value. +func (s *DataRepositoryTask) SetFileSystemId(v string) *DataRepositoryTask { + s.FileSystemId = &v return s } -// SetAuditLogConfiguration sets the AuditLogConfiguration field's value. -func (s *CreateFileSystemWindowsConfiguration) SetAuditLogConfiguration(v *WindowsAuditLogCreateConfiguration) *CreateFileSystemWindowsConfiguration { - s.AuditLogConfiguration = v +// SetLifecycle sets the Lifecycle field's value. +func (s *DataRepositoryTask) SetLifecycle(v string) *DataRepositoryTask { + s.Lifecycle = &v return s } -// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. -func (s *CreateFileSystemWindowsConfiguration) SetAutomaticBackupRetentionDays(v int64) *CreateFileSystemWindowsConfiguration { - s.AutomaticBackupRetentionDays = &v +// SetPaths sets the Paths field's value. +func (s *DataRepositoryTask) SetPaths(v []*string) *DataRepositoryTask { + s.Paths = v return s } -// SetCopyTagsToBackups sets the CopyTagsToBackups field's value. -func (s *CreateFileSystemWindowsConfiguration) SetCopyTagsToBackups(v bool) *CreateFileSystemWindowsConfiguration { - s.CopyTagsToBackups = &v +// SetReport sets the Report field's value. +func (s *DataRepositoryTask) SetReport(v *CompletionReport) *DataRepositoryTask { + s.Report = v return s } -// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. -func (s *CreateFileSystemWindowsConfiguration) SetDailyAutomaticBackupStartTime(v string) *CreateFileSystemWindowsConfiguration { - s.DailyAutomaticBackupStartTime = &v +// SetResourceARN sets the ResourceARN field's value. +func (s *DataRepositoryTask) SetResourceARN(v string) *DataRepositoryTask { + s.ResourceARN = &v return s } -// SetDeploymentType sets the DeploymentType field's value. -func (s *CreateFileSystemWindowsConfiguration) SetDeploymentType(v string) *CreateFileSystemWindowsConfiguration { - s.DeploymentType = &v +// SetStartTime sets the StartTime field's value. +func (s *DataRepositoryTask) SetStartTime(v time.Time) *DataRepositoryTask { + s.StartTime = &v return s } -// SetPreferredSubnetId sets the PreferredSubnetId field's value. -func (s *CreateFileSystemWindowsConfiguration) SetPreferredSubnetId(v string) *CreateFileSystemWindowsConfiguration { - s.PreferredSubnetId = &v +// SetStatus sets the Status field's value. +func (s *DataRepositoryTask) SetStatus(v *DataRepositoryTaskStatus) *DataRepositoryTask { + s.Status = v return s } -// SetSelfManagedActiveDirectoryConfiguration sets the SelfManagedActiveDirectoryConfiguration field's value. -func (s *CreateFileSystemWindowsConfiguration) SetSelfManagedActiveDirectoryConfiguration(v *SelfManagedActiveDirectoryConfiguration) *CreateFileSystemWindowsConfiguration { - s.SelfManagedActiveDirectoryConfiguration = v +// SetTags sets the Tags field's value. +func (s *DataRepositoryTask) SetTags(v []*Tag) *DataRepositoryTask { + s.Tags = v + return s +} + +// SetTaskId sets the TaskId field's value. +func (s *DataRepositoryTask) SetTaskId(v string) *DataRepositoryTask { + s.TaskId = &v + return s +} + +// SetType sets the Type field's value. +func (s *DataRepositoryTask) SetType(v string) *DataRepositoryTask { + s.Type = &v return s } -// SetThroughputCapacity sets the ThroughputCapacity field's value. -func (s *CreateFileSystemWindowsConfiguration) SetThroughputCapacity(v int64) *CreateFileSystemWindowsConfiguration { - s.ThroughputCapacity = &v - return s +// The data repository task could not be canceled because the task has already +// ended. +type DataRepositoryTaskEnded struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A detailed error message. + Message_ *string `locationName:"Message" 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 DataRepositoryTaskEnded) 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 DataRepositoryTaskEnded) GoString() string { + return s.String() +} + +func newErrorDataRepositoryTaskEnded(v protocol.ResponseMetadata) error { + return &DataRepositoryTaskEnded{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DataRepositoryTaskEnded) Code() string { + return "DataRepositoryTaskEnded" } -// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. -func (s *CreateFileSystemWindowsConfiguration) SetWeeklyMaintenanceStartTime(v string) *CreateFileSystemWindowsConfiguration { - s.WeeklyMaintenanceStartTime = &v - return s +// Message returns the exception's message. +func (s *DataRepositoryTaskEnded) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// Specifies the configuration of the ONTAP volume that you are creating. -type CreateOntapVolumeConfiguration struct { - _ struct{} `type:"structure"` - - // Specifies the location in the SVM's namespace where the volume is mounted. - // The JunctionPath must have a leading forward slash, such as /vol3. - // - // JunctionPath is a required field - JunctionPath *string `min:"1" type:"string" required:"true"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DataRepositoryTaskEnded) OrigErr() error { + return nil +} - // The security style for the volume. Specify one of the following values: - // - // * UNIX if the file system is managed by a UNIX administrator, the majority - // of users are NFS clients, and an application accessing the data uses a - // UNIX user as the service account. UNIX is the default. - // - // * NTFS if the file system is managed by a Windows administrator, the majority - // of users are SMB clients, and an application accessing the data uses a - // Windows user as the service account. - // - // * MIXED if the file system is managed by both UNIX and Windows administrators - // and users consist of both NFS and SMB clients. - SecurityStyle *string `type:"string" enum:"SecurityStyle"` +func (s *DataRepositoryTaskEnded) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} - // Specifies the size of the volume, in megabytes (MB), that you are creating. - // - // SizeInMegabytes is a required field - SizeInMegabytes *int64 `type:"integer" required:"true"` +// Status code returns the HTTP status code for the request's response error. +func (s *DataRepositoryTaskEnded) StatusCode() int { + return s.RespMetadata.StatusCode +} - // Set to true to enable deduplication, compression, and compaction storage - // efficiency features on the volume. - // - // StorageEfficiencyEnabled is a required field - StorageEfficiencyEnabled *bool `type:"boolean" required:"true"` +// RequestID returns the service's response RequestID for request. +func (s *DataRepositoryTaskEnded) RequestID() string { + return s.RespMetadata.RequestID +} - // Specifies the ONTAP SVM in which to create the volume. - // - // StorageVirtualMachineId is a required field - StorageVirtualMachineId *string `min:"21" type:"string" required:"true"` +// An existing data repository task is currently executing on the file system. +// Wait until the existing task has completed, then create the new task. +type DataRepositoryTaskExecuting struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // 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. - TieringPolicy *TieringPolicy `type:"structure"` + // A detailed error message. + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation. @@ -6285,7 +9803,7 @@ type CreateOntapVolumeConfiguration 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 CreateOntapVolumeConfiguration) String() string { +func (s DataRepositoryTaskExecuting) String() string { return awsutil.Prettify(s) } @@ -6294,129 +9812,141 @@ func (s CreateOntapVolumeConfiguration) 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 CreateOntapVolumeConfiguration) GoString() string { +func (s DataRepositoryTaskExecuting) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateOntapVolumeConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateOntapVolumeConfiguration"} - if s.JunctionPath == nil { - invalidParams.Add(request.NewErrParamRequired("JunctionPath")) - } - if s.JunctionPath != nil && len(*s.JunctionPath) < 1 { - invalidParams.Add(request.NewErrParamMinLen("JunctionPath", 1)) - } - if s.SizeInMegabytes == nil { - invalidParams.Add(request.NewErrParamRequired("SizeInMegabytes")) - } - if s.StorageEfficiencyEnabled == nil { - invalidParams.Add(request.NewErrParamRequired("StorageEfficiencyEnabled")) - } - if s.StorageVirtualMachineId == nil { - invalidParams.Add(request.NewErrParamRequired("StorageVirtualMachineId")) - } - if s.StorageVirtualMachineId != nil && len(*s.StorageVirtualMachineId) < 21 { - invalidParams.Add(request.NewErrParamMinLen("StorageVirtualMachineId", 21)) - } - if s.TieringPolicy != nil { - if err := s.TieringPolicy.Validate(); err != nil { - invalidParams.AddNested("TieringPolicy", err.(request.ErrInvalidParams)) - } +func newErrorDataRepositoryTaskExecuting(v protocol.ResponseMetadata) error { + return &DataRepositoryTaskExecuting{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *DataRepositoryTaskExecuting) Code() string { + return "DataRepositoryTaskExecuting" +} + +// Message returns the exception's message. +func (s *DataRepositoryTaskExecuting) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DataRepositoryTaskExecuting) OrigErr() error { return nil } -// SetJunctionPath sets the JunctionPath field's value. -func (s *CreateOntapVolumeConfiguration) SetJunctionPath(v string) *CreateOntapVolumeConfiguration { - s.JunctionPath = &v - return s +func (s *DataRepositoryTaskExecuting) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetSecurityStyle sets the SecurityStyle field's value. -func (s *CreateOntapVolumeConfiguration) SetSecurityStyle(v string) *CreateOntapVolumeConfiguration { - s.SecurityStyle = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *DataRepositoryTaskExecuting) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetSizeInMegabytes sets the SizeInMegabytes field's value. -func (s *CreateOntapVolumeConfiguration) SetSizeInMegabytes(v int64) *CreateOntapVolumeConfiguration { - s.SizeInMegabytes = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *DataRepositoryTaskExecuting) RequestID() string { + return s.RespMetadata.RequestID } -// SetStorageEfficiencyEnabled sets the StorageEfficiencyEnabled field's value. -func (s *CreateOntapVolumeConfiguration) SetStorageEfficiencyEnabled(v bool) *CreateOntapVolumeConfiguration { - s.StorageEfficiencyEnabled = &v - return s +// Provides information about why a data repository task failed. Only populated +// when the task Lifecycle is set to FAILED. +type DataRepositoryTaskFailureDetails struct { + _ struct{} `type:"structure"` + + // A detailed error message. + Message *string `min:"1" type:"string"` } -// SetStorageVirtualMachineId sets the StorageVirtualMachineId field's value. -func (s *CreateOntapVolumeConfiguration) SetStorageVirtualMachineId(v string) *CreateOntapVolumeConfiguration { - s.StorageVirtualMachineId = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataRepositoryTaskFailureDetails) String() string { + return awsutil.Prettify(s) } -// SetTieringPolicy sets the TieringPolicy field's value. -func (s *CreateOntapVolumeConfiguration) SetTieringPolicy(v *TieringPolicy) *CreateOntapVolumeConfiguration { - s.TieringPolicy = v +// 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 DataRepositoryTaskFailureDetails) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *DataRepositoryTaskFailureDetails) SetMessage(v string) *DataRepositoryTaskFailureDetails { + s.Message = &v return s } -type CreateStorageVirtualMachineInput struct { +// (Optional) An array of filter objects you can use to filter the response +// of data repository tasks you will see in the the response. You can filter +// the tasks returned in the response by one or more file system IDs, task lifecycles, +// and by task type. A filter object consists of a filter Name, and one or more +// Values for the filter. +type DataRepositoryTaskFilter struct { _ struct{} `type:"structure"` - // Describes the self-managed Microsoft Active Directory to which you want to - // join the SVM. Joining an Active Directory provides user authentication and - // access control for SMB clients, including Microsoft Windows and macOS client - // accessing the file system. - ActiveDirectoryConfiguration *CreateSvmActiveDirectoryConfiguration `type:"structure"` + // Name of the task property to use in filtering the tasks returned in the response. + // + // * Use file-system-id to retrieve data repository tasks for specific file + // systems. + // + // * Use task-lifecycle to retrieve data repository tasks with one or more + // specific lifecycle states, as follows: CANCELED, EXECUTING, FAILED, PENDING, + // and SUCCEEDED. + Name *string `type:"string" enum:"DataRepositoryTaskFilterName"` - // (Optional) An idempotency token for resource creation, in a string of up - // to 64 ASCII characters. This token is automatically filled on your behalf - // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. - ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + // Use Values to include the specific file system IDs and task lifecycle states + // for the filters you are using. + Values []*string `type:"list"` +} - // The globally unique ID of the file system, assigned by Amazon FSx. - // - // FileSystemId is a required field - FileSystemId *string `min:"11" 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 DataRepositoryTaskFilter) String() string { + return awsutil.Prettify(s) +} - // The name of the SVM. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataRepositoryTaskFilter) GoString() string { + return s.String() +} - // The security style of the root volume of the SVM. Specify one of the following - // values: - // - // * UNIX if the file system is managed by a UNIX administrator, the majority - // of users are NFS clients, and an application accessing the data uses a - // UNIX user as the service account. - // - // * NTFS if the file system is managed by a Windows administrator, the majority - // of users are SMB clients, and an application accessing the data uses a - // Windows user as the service account. - // - // * MIXED if the file system is managed by both UNIX and Windows administrators - // and users consist of both NFS and SMB clients. - RootVolumeSecurityStyle *string `type:"string" enum:"StorageVirtualMachineRootVolumeSecurityStyle"` +// SetName sets the Name field's value. +func (s *DataRepositoryTaskFilter) SetName(v string) *DataRepositoryTaskFilter { + s.Name = &v + return s +} - // The password to use when managing the SVM using the NetApp ONTAP CLI or REST - // API. If you do not specify a password, you can still use the file system's - // fsxadmin user to manage the SVM. - // - // SvmAdminPassword is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by CreateStorageVirtualMachineInput's - // String and GoString methods. - SvmAdminPassword *string `min:"8" type:"string" sensitive:"true"` +// SetValues sets the Values field's value. +func (s *DataRepositoryTaskFilter) SetValues(v []*string) *DataRepositoryTaskFilter { + s.Values = v + return s +} - // A list of Tag values, with a maximum of 50 elements. - Tags []*Tag `min:"1" type:"list"` +// The data repository task or tasks you specified could not be found. +type DataRepositoryTaskNotFound struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A detailed error message. + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation. @@ -6424,7 +9954,7 @@ type CreateStorageVirtualMachineInput 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 CreateStorageVirtualMachineInput) String() string { +func (s DataRepositoryTaskNotFound) String() string { return awsutil.Prettify(s) } @@ -6433,104 +9963,67 @@ func (s CreateStorageVirtualMachineInput) 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 CreateStorageVirtualMachineInput) GoString() string { +func (s DataRepositoryTaskNotFound) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *CreateStorageVirtualMachineInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateStorageVirtualMachineInput"} - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) - } - if s.FileSystemId == nil { - invalidParams.Add(request.NewErrParamRequired("FileSystemId")) - } - if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { - invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.SvmAdminPassword != nil && len(*s.SvmAdminPassword) < 8 { - invalidParams.Add(request.NewErrParamMinLen("SvmAdminPassword", 8)) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - if s.ActiveDirectoryConfiguration != nil { - if err := s.ActiveDirectoryConfiguration.Validate(); err != nil { - invalidParams.AddNested("ActiveDirectoryConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams +func newErrorDataRepositoryTaskNotFound(v protocol.ResponseMetadata) error { + return &DataRepositoryTaskNotFound{ + RespMetadata: v, } - return nil -} - -// SetActiveDirectoryConfiguration sets the ActiveDirectoryConfiguration field's value. -func (s *CreateStorageVirtualMachineInput) SetActiveDirectoryConfiguration(v *CreateSvmActiveDirectoryConfiguration) *CreateStorageVirtualMachineInput { - s.ActiveDirectoryConfiguration = v - return s } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CreateStorageVirtualMachineInput) SetClientRequestToken(v string) *CreateStorageVirtualMachineInput { - s.ClientRequestToken = &v - return s +// Code returns the exception type name. +func (s *DataRepositoryTaskNotFound) Code() string { + return "DataRepositoryTaskNotFound" } -// SetFileSystemId sets the FileSystemId field's value. -func (s *CreateStorageVirtualMachineInput) SetFileSystemId(v string) *CreateStorageVirtualMachineInput { - s.FileSystemId = &v - return s +// Message returns the exception's message. +func (s *DataRepositoryTaskNotFound) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetName sets the Name field's value. -func (s *CreateStorageVirtualMachineInput) SetName(v string) *CreateStorageVirtualMachineInput { - s.Name = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DataRepositoryTaskNotFound) OrigErr() error { + return nil } -// SetRootVolumeSecurityStyle sets the RootVolumeSecurityStyle field's value. -func (s *CreateStorageVirtualMachineInput) SetRootVolumeSecurityStyle(v string) *CreateStorageVirtualMachineInput { - s.RootVolumeSecurityStyle = &v - return s +func (s *DataRepositoryTaskNotFound) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetSvmAdminPassword sets the SvmAdminPassword field's value. -func (s *CreateStorageVirtualMachineInput) SetSvmAdminPassword(v string) *CreateStorageVirtualMachineInput { - s.SvmAdminPassword = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *DataRepositoryTaskNotFound) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetTags sets the Tags field's value. -func (s *CreateStorageVirtualMachineInput) SetTags(v []*Tag) *CreateStorageVirtualMachineInput { - s.Tags = v - return s +// RequestID returns the service's response RequestID for request. +func (s *DataRepositoryTaskNotFound) RequestID() string { + return s.RespMetadata.RequestID } -type CreateStorageVirtualMachineOutput struct { +// Provides the task status showing a running total of the total number of files +// to be processed, the number successfully processed, and the number of files +// the task failed to process. +type DataRepositoryTaskStatus struct { _ struct{} `type:"structure"` - // Returned after a successful CreateStorageVirtualMachine operation; describes - // the SVM just created. - StorageVirtualMachine *StorageVirtualMachine `type:"structure"` + // A running total of the number of files that the task failed to process. + FailedCount *int64 `type:"long"` + + // The time at which the task status was last updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // A running total of the number of files that the task has successfully processed. + SucceededCount *int64 `type:"long"` + + // The total number of files that the task will process. While a task is executing, + // the sum of SucceededCount plus FailedCount may not equal TotalCount. When + // the task is complete, TotalCount equals the sum of SucceededCount plus FailedCount. + TotalCount *int64 `type:"long"` } // String returns the string representation. @@ -6538,7 +10031,7 @@ type CreateStorageVirtualMachineOutput 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 CreateStorageVirtualMachineOutput) String() string { +func (s DataRepositoryTaskStatus) String() string { return awsutil.Prettify(s) } @@ -6547,34 +10040,47 @@ func (s CreateStorageVirtualMachineOutput) 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 CreateStorageVirtualMachineOutput) GoString() string { +func (s DataRepositoryTaskStatus) GoString() string { return s.String() } -// SetStorageVirtualMachine sets the StorageVirtualMachine field's value. -func (s *CreateStorageVirtualMachineOutput) SetStorageVirtualMachine(v *StorageVirtualMachine) *CreateStorageVirtualMachineOutput { - s.StorageVirtualMachine = v +// SetFailedCount sets the FailedCount field's value. +func (s *DataRepositoryTaskStatus) SetFailedCount(v int64) *DataRepositoryTaskStatus { + s.FailedCount = &v return s } -// The configuration that Amazon FSx uses to join the ONTAP storage virtual -// machine (SVM) to your self-managed (including on-premises) Microsoft Active -// Directory (AD) directory. -type CreateSvmActiveDirectoryConfiguration struct { +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *DataRepositoryTaskStatus) SetLastUpdatedTime(v time.Time) *DataRepositoryTaskStatus { + s.LastUpdatedTime = &v + return s +} + +// SetSucceededCount sets the SucceededCount field's value. +func (s *DataRepositoryTaskStatus) SetSucceededCount(v int64) *DataRepositoryTaskStatus { + s.SucceededCount = &v + return s +} + +// SetTotalCount sets the TotalCount field's value. +func (s *DataRepositoryTaskStatus) SetTotalCount(v int64) *DataRepositoryTaskStatus { + s.TotalCount = &v + return s +} + +// The request object for the DeleteBackup operation. +type DeleteBackupInput struct { _ struct{} `type:"structure"` - // The NetBIOS name of the Active Directory computer object that will be created - // for your SVM. + // The ID of the backup that you want to delete. // - // NetBiosName is a required field - NetBiosName *string `min:"1" type:"string" required:"true"` + // BackupId is a required field + BackupId *string `min:"12" type:"string" required:"true"` - // The configuration that Amazon FSx uses to join a FSx for Windows File Server - // file system or an ONTAP storage virtual machine (SVM) to a self-managed (including - // on-premises) Microsoft Active Directory (AD) directory. For more information, - // see Using Amazon FSx with your self-managed Microsoft Active Directory (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/self-managed-AD.html) - // or Managing SVMs (https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/managing-svms.html). - SelfManagedActiveDirectoryConfiguration *SelfManagedActiveDirectoryConfiguration `type:"structure"` + // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent + // deletion. This parameter is automatically filled on your behalf when using + // the CLI or SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` } // String returns the string representation. @@ -6582,7 +10088,7 @@ type CreateSvmActiveDirectoryConfiguration 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 CreateSvmActiveDirectoryConfiguration) String() string { +func (s DeleteBackupInput) String() string { return awsutil.Prettify(s) } @@ -6591,23 +10097,21 @@ func (s CreateSvmActiveDirectoryConfiguration) 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 CreateSvmActiveDirectoryConfiguration) GoString() string { +func (s DeleteBackupInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateSvmActiveDirectoryConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateSvmActiveDirectoryConfiguration"} - if s.NetBiosName == nil { - invalidParams.Add(request.NewErrParamRequired("NetBiosName")) +func (s *DeleteBackupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBackupInput"} + if s.BackupId == nil { + invalidParams.Add(request.NewErrParamRequired("BackupId")) } - if s.NetBiosName != nil && len(*s.NetBiosName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("NetBiosName", 1)) + if s.BackupId != nil && len(*s.BackupId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("BackupId", 12)) } - if s.SelfManagedActiveDirectoryConfiguration != nil { - if err := s.SelfManagedActiveDirectoryConfiguration.Validate(); err != nil { - invalidParams.AddNested("SelfManagedActiveDirectoryConfiguration", err.(request.ErrInvalidParams)) - } + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } if invalidParams.Len() > 0 { @@ -6616,41 +10120,78 @@ func (s *CreateSvmActiveDirectoryConfiguration) Validate() error { return nil } -// SetNetBiosName sets the NetBiosName field's value. -func (s *CreateSvmActiveDirectoryConfiguration) SetNetBiosName(v string) *CreateSvmActiveDirectoryConfiguration { - s.NetBiosName = &v +// SetBackupId sets the BackupId field's value. +func (s *DeleteBackupInput) SetBackupId(v string) *DeleteBackupInput { + s.BackupId = &v + return s +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *DeleteBackupInput) SetClientRequestToken(v string) *DeleteBackupInput { + s.ClientRequestToken = &v + return s +} + +// The response object for the DeleteBackup operation. +type DeleteBackupOutput struct { + _ struct{} `type:"structure"` + + // The ID of the backup that was deleted. + BackupId *string `min:"12" type:"string"` + + // The lifecycle status of the backup. If the DeleteBackup operation is successful, + // the status is DELETED. + Lifecycle *string `type:"string" enum:"BackupLifecycle"` +} + +// 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 DeleteBackupOutput) 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 DeleteBackupOutput) GoString() string { + return s.String() +} + +// SetBackupId sets the BackupId field's value. +func (s *DeleteBackupOutput) SetBackupId(v string) *DeleteBackupOutput { + s.BackupId = &v return s } -// SetSelfManagedActiveDirectoryConfiguration sets the SelfManagedActiveDirectoryConfiguration field's value. -func (s *CreateSvmActiveDirectoryConfiguration) SetSelfManagedActiveDirectoryConfiguration(v *SelfManagedActiveDirectoryConfiguration) *CreateSvmActiveDirectoryConfiguration { - s.SelfManagedActiveDirectoryConfiguration = v +// SetLifecycle sets the Lifecycle field's value. +func (s *DeleteBackupOutput) SetLifecycle(v string) *DeleteBackupOutput { + s.Lifecycle = &v return s } -type CreateVolumeFromBackupInput struct { +type DeleteDataRepositoryAssociationInput struct { _ struct{} `type:"structure"` - // The ID of the source backup. Specifies the backup you are copying. + // The ID of the data repository association that you want to delete. // - // BackupId is a required field - BackupId *string `min:"12" type:"string" required:"true"` + // AssociationId is a required field + AssociationId *string `min:"13" type:"string" required:"true"` // (Optional) An idempotency token for resource creation, in a string of up // to 64 ASCII characters. This token is automatically filled on your behalf // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // The name of the new volume you're creating. + // Set to true to delete the data in the file system that corresponds to the + // data repository association. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` - - // Specifies the configuration of the ONTAP volume that you are creating. - OntapConfiguration *CreateOntapVolumeConfiguration `type:"structure"` - - // A list of Tag values, with a maximum of 50 elements. - Tags []*Tag `min:"1" type:"list"` + // DeleteDataInFileSystem is a required field + DeleteDataInFileSystem *bool `type:"boolean" required:"true"` } // String returns the string representation. @@ -6658,7 +10199,7 @@ type CreateVolumeFromBackupInput 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 CreateVolumeFromBackupInput) String() string { +func (s DeleteDataRepositoryAssociationInput) String() string { return awsutil.Prettify(s) } @@ -6667,45 +10208,24 @@ func (s CreateVolumeFromBackupInput) 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 CreateVolumeFromBackupInput) GoString() string { +func (s DeleteDataRepositoryAssociationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateVolumeFromBackupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateVolumeFromBackupInput"} - if s.BackupId == nil { - invalidParams.Add(request.NewErrParamRequired("BackupId")) +func (s *DeleteDataRepositoryAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDataRepositoryAssociationInput"} + if s.AssociationId == nil { + invalidParams.Add(request.NewErrParamRequired("AssociationId")) } - if s.BackupId != nil && len(*s.BackupId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("BackupId", 12)) + if s.AssociationId != nil && len(*s.AssociationId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssociationId", 13)) } if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) - } - if s.OntapConfiguration != nil { - if err := s.OntapConfiguration.Validate(); err != nil { - invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } - } + if s.DeleteDataInFileSystem == nil { + invalidParams.Add(request.NewErrParamRequired("DeleteDataInFileSystem")) } if invalidParams.Len() > 0 { @@ -6714,42 +10234,36 @@ func (s *CreateVolumeFromBackupInput) Validate() error { return nil } -// SetBackupId sets the BackupId field's value. -func (s *CreateVolumeFromBackupInput) SetBackupId(v string) *CreateVolumeFromBackupInput { - s.BackupId = &v +// SetAssociationId sets the AssociationId field's value. +func (s *DeleteDataRepositoryAssociationInput) SetAssociationId(v string) *DeleteDataRepositoryAssociationInput { + s.AssociationId = &v return s } // SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CreateVolumeFromBackupInput) SetClientRequestToken(v string) *CreateVolumeFromBackupInput { +func (s *DeleteDataRepositoryAssociationInput) SetClientRequestToken(v string) *DeleteDataRepositoryAssociationInput { s.ClientRequestToken = &v return s } -// SetName sets the Name field's value. -func (s *CreateVolumeFromBackupInput) SetName(v string) *CreateVolumeFromBackupInput { - s.Name = &v +// SetDeleteDataInFileSystem sets the DeleteDataInFileSystem field's value. +func (s *DeleteDataRepositoryAssociationInput) SetDeleteDataInFileSystem(v bool) *DeleteDataRepositoryAssociationInput { + s.DeleteDataInFileSystem = &v return s } -// SetOntapConfiguration sets the OntapConfiguration field's value. -func (s *CreateVolumeFromBackupInput) SetOntapConfiguration(v *CreateOntapVolumeConfiguration) *CreateVolumeFromBackupInput { - s.OntapConfiguration = v - return s -} +type DeleteDataRepositoryAssociationOutput struct { + _ struct{} `type:"structure"` -// SetTags sets the Tags field's value. -func (s *CreateVolumeFromBackupInput) SetTags(v []*Tag) *CreateVolumeFromBackupInput { - s.Tags = v - return s -} + // The ID of the data repository association being deleted. + AssociationId *string `min:"13" type:"string"` -type CreateVolumeFromBackupOutput struct { - _ struct{} `type:"structure"` + // Indicates whether data in the file system that corresponds to the data repository + // association is being deleted. Default is false. + DeleteDataInFileSystem *bool `type:"boolean"` - // Returned after a successful CreateVolumeFromBackup API operation, describing - // the volume just created. - Volume *Volume `type:"structure"` + // Describes the lifecycle state of the data repository association being deleted. + Lifecycle *string `type:"string" enum:"DataRepositoryLifecycle"` } // String returns the string representation. @@ -6757,7 +10271,7 @@ type CreateVolumeFromBackupOutput 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 CreateVolumeFromBackupOutput) String() string { +func (s DeleteDataRepositoryAssociationOutput) String() string { return awsutil.Prettify(s) } @@ -6766,39 +10280,53 @@ func (s CreateVolumeFromBackupOutput) 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 CreateVolumeFromBackupOutput) GoString() string { +func (s DeleteDataRepositoryAssociationOutput) GoString() string { return s.String() } -// SetVolume sets the Volume field's value. -func (s *CreateVolumeFromBackupOutput) SetVolume(v *Volume) *CreateVolumeFromBackupOutput { - s.Volume = v +// SetAssociationId sets the AssociationId field's value. +func (s *DeleteDataRepositoryAssociationOutput) SetAssociationId(v string) *DeleteDataRepositoryAssociationOutput { + s.AssociationId = &v return s } -type CreateVolumeInput struct { +// SetDeleteDataInFileSystem sets the DeleteDataInFileSystem field's value. +func (s *DeleteDataRepositoryAssociationOutput) SetDeleteDataInFileSystem(v bool) *DeleteDataRepositoryAssociationOutput { + s.DeleteDataInFileSystem = &v + return s +} + +// SetLifecycle sets the Lifecycle field's value. +func (s *DeleteDataRepositoryAssociationOutput) SetLifecycle(v string) *DeleteDataRepositoryAssociationOutput { + s.Lifecycle = &v + return s +} + +// The request object for DeleteFileSystem operation. +type DeleteFileSystemInput struct { _ struct{} `type:"structure"` - // (Optional) An idempotency token for resource creation, in a string of up - // to 64 ASCII characters. This token is automatically filled on your behalf - // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent + // deletion. This token is automatically filled on your behalf when using the + // Command Line Interface (CLI) or an Amazon Web Services SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // Specifies the name of the volume you're creating. + // The ID of the file system that you want to delete. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // FileSystemId is a required field + FileSystemId *string `min:"11" type:"string" required:"true"` - // Specifies the ONTAP configuration to use in creating the volume. - OntapConfiguration *CreateOntapVolumeConfiguration `type:"structure"` + // The configuration object for the Amazon FSx for Lustre file system being + // deleted in the DeleteFileSystem operation. + LustreConfiguration *DeleteFileSystemLustreConfiguration `type:"structure"` - // A list of Tag values, with a maximum of 50 elements. - Tags []*Tag `min:"1" type:"list"` + // The configuration object for the OpenZFS file system used in the DeleteFileSystem + // operation. + OpenZFSConfiguration *DeleteFileSystemOpenZFSConfiguration `type:"structure"` - // Specifies the type of volume to create; ONTAP is the only valid volume type. - // - // VolumeType is a required field - VolumeType *string `type:"string" required:"true" enum:"VolumeType"` + // The configuration object for the Microsoft Windows file system used in the + // DeleteFileSystem operation. + WindowsConfiguration *DeleteFileSystemWindowsConfiguration `type:"structure"` } // String returns the string representation. @@ -6806,7 +10334,7 @@ type CreateVolumeInput 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 CreateVolumeInput) String() string { +func (s DeleteFileSystemInput) String() string { return awsutil.Prettify(s) } @@ -6815,41 +10343,35 @@ func (s CreateVolumeInput) 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 CreateVolumeInput) GoString() string { +func (s DeleteFileSystemInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateVolumeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateVolumeInput"} +func (s *DeleteFileSystemInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemInput"} if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.FileSystemId == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemId")) } - if s.Tags != nil && len(s.Tags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) } - if s.VolumeType == nil { - invalidParams.Add(request.NewErrParamRequired("VolumeType")) + if s.LustreConfiguration != nil { + if err := s.LustreConfiguration.Validate(); err != nil { + invalidParams.AddNested("LustreConfiguration", err.(request.ErrInvalidParams)) + } } - if s.OntapConfiguration != nil { - if err := s.OntapConfiguration.Validate(); err != nil { - invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams)) + if s.OpenZFSConfiguration != nil { + if err := s.OpenZFSConfiguration.Validate(); err != nil { + invalidParams.AddNested("OpenZFSConfiguration", err.(request.ErrInvalidParams)) } } - if s.Tags != nil { - for i, v := range s.Tags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) - } + if s.WindowsConfiguration != nil { + if err := s.WindowsConfiguration.Validate(); err != nil { + invalidParams.AddNested("WindowsConfiguration", err.(request.ErrInvalidParams)) } } @@ -6860,41 +10382,119 @@ func (s *CreateVolumeInput) Validate() error { } // SetClientRequestToken sets the ClientRequestToken field's value. -func (s *CreateVolumeInput) SetClientRequestToken(v string) *CreateVolumeInput { +func (s *DeleteFileSystemInput) SetClientRequestToken(v string) *DeleteFileSystemInput { s.ClientRequestToken = &v return s } -// SetName sets the Name field's value. -func (s *CreateVolumeInput) SetName(v string) *CreateVolumeInput { - s.Name = &v +// SetFileSystemId sets the FileSystemId field's value. +func (s *DeleteFileSystemInput) SetFileSystemId(v string) *DeleteFileSystemInput { + s.FileSystemId = &v return s } -// SetOntapConfiguration sets the OntapConfiguration field's value. -func (s *CreateVolumeInput) SetOntapConfiguration(v *CreateOntapVolumeConfiguration) *CreateVolumeInput { - s.OntapConfiguration = v +// SetLustreConfiguration sets the LustreConfiguration field's value. +func (s *DeleteFileSystemInput) SetLustreConfiguration(v *DeleteFileSystemLustreConfiguration) *DeleteFileSystemInput { + s.LustreConfiguration = v return s } -// SetTags sets the Tags field's value. -func (s *CreateVolumeInput) SetTags(v []*Tag) *CreateVolumeInput { - s.Tags = v +// SetOpenZFSConfiguration sets the OpenZFSConfiguration field's value. +func (s *DeleteFileSystemInput) SetOpenZFSConfiguration(v *DeleteFileSystemOpenZFSConfiguration) *DeleteFileSystemInput { + s.OpenZFSConfiguration = v return s } -// SetVolumeType sets the VolumeType field's value. -func (s *CreateVolumeInput) SetVolumeType(v string) *CreateVolumeInput { - s.VolumeType = &v +// SetWindowsConfiguration sets the WindowsConfiguration field's value. +func (s *DeleteFileSystemInput) SetWindowsConfiguration(v *DeleteFileSystemWindowsConfiguration) *DeleteFileSystemInput { + s.WindowsConfiguration = v return s } -type CreateVolumeOutput struct { +// The configuration object for the Amazon FSx for Lustre file system being +// deleted in the DeleteFileSystem operation. +type DeleteFileSystemLustreConfiguration struct { _ struct{} `type:"structure"` - // Returned after a successful CreateVolume API operation, describing the volume - // just created. - Volume *Volume `type:"structure"` + // Use if SkipFinalBackup is set to false, and you want to apply an array of + // tags to the final backup. If you have set the file system property CopyTagsToBackups + // to true, and you specify one or more FinalBackupTags when deleting a file + // system, Amazon FSx will not copy any existing file system tags to the backup. + FinalBackupTags []*Tag `min:"1" type:"list"` + + // Set SkipFinalBackup to false if you want to take a final backup of the file + // system you are deleting. By default, Amazon FSx will not take a final backup + // on your behalf when the DeleteFileSystem operation is invoked. (Default = + // true) + // + // The fsx:CreateBackup permission is required if you set SkipFinalBackup to + // false in order to delete the file system and take a final backup. + SkipFinalBackup *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteFileSystemLustreConfiguration) 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 DeleteFileSystemLustreConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFileSystemLustreConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemLustreConfiguration"} + if s.FinalBackupTags != nil && len(s.FinalBackupTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FinalBackupTags", 1)) + } + if s.FinalBackupTags != nil { + for i, v := range s.FinalBackupTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FinalBackupTags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFinalBackupTags sets the FinalBackupTags field's value. +func (s *DeleteFileSystemLustreConfiguration) SetFinalBackupTags(v []*Tag) *DeleteFileSystemLustreConfiguration { + s.FinalBackupTags = v + return s +} + +// SetSkipFinalBackup sets the SkipFinalBackup field's value. +func (s *DeleteFileSystemLustreConfiguration) SetSkipFinalBackup(v bool) *DeleteFileSystemLustreConfiguration { + s.SkipFinalBackup = &v + return s +} + +// The response object for the Amazon FSx for Lustre file system being deleted +// in the DeleteFileSystem operation. +type DeleteFileSystemLustreResponse struct { + _ struct{} `type:"structure"` + + // The ID of the final backup for this file system. + FinalBackupId *string `min:"12" type:"string"` + + // The set of tags applied to the final backup. + FinalBackupTags []*Tag `min:"1" type:"list"` } // String returns the string representation. @@ -6902,7 +10502,7 @@ type CreateVolumeOutput 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 CreateVolumeOutput) String() string { +func (s DeleteFileSystemLustreResponse) String() string { return awsutil.Prettify(s) } @@ -6911,86 +10511,35 @@ func (s CreateVolumeOutput) 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 CreateVolumeOutput) GoString() string { +func (s DeleteFileSystemLustreResponse) GoString() string { return s.String() } -// SetVolume sets the Volume field's value. -func (s *CreateVolumeOutput) SetVolume(v *Volume) *CreateVolumeOutput { - s.Volume = v +// SetFinalBackupId sets the FinalBackupId field's value. +func (s *DeleteFileSystemLustreResponse) SetFinalBackupId(v string) *DeleteFileSystemLustreResponse { + s.FinalBackupId = &v return s } -// The data repository configuration object for Lustre file systems returned -// in the response of the CreateFileSystem operation. -type DataRepositoryConfiguration struct { - _ struct{} `type:"structure"` - - // Describes the file system's linked S3 data repository's AutoImportPolicy. - // The AutoImportPolicy configures how Amazon FSx keeps your file and directory - // listings up to date as you add or modify objects in your linked S3 bucket. - // AutoImportPolicy can have the following values: - // - // * NONE - (Default) AutoImport is off. Amazon FSx only updates file and - // directory listings from the linked S3 bucket when the file system is created. - // FSx does not update file and directory listings for any new or changed - // objects after choosing this option. - // - // * NEW - AutoImport is on. Amazon FSx automatically imports directory listings - // of any new objects added to the linked S3 bucket that do not currently - // exist in the FSx file system. - // - // * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports file - // and directory listings of any new objects added to the S3 bucket and any - // existing objects that are changed in the S3 bucket after you choose this - // option. - // - // For more information, see Automatically import updates from your S3 bucket - // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html). - AutoImportPolicy *string `type:"string" enum:"AutoImportPolicyType"` - - // The export path to the Amazon S3 bucket (and prefix) that you are using to - // store new and changed Lustre file system files in S3. - ExportPath *string `min:"3" type:"string"` - - // Provides detailed information about the data respository if its Lifecycle - // is set to MISCONFIGURED. - FailureDetails *DataRepositoryFailureDetails `type:"structure"` +// SetFinalBackupTags sets the FinalBackupTags field's value. +func (s *DeleteFileSystemLustreResponse) SetFinalBackupTags(v []*Tag) *DeleteFileSystemLustreResponse { + s.FinalBackupTags = v + return s +} - // The import path to the Amazon S3 bucket (and optional prefix) that you're - // using as the data repository for your FSx for Lustre file system, for example - // s3://import-bucket/optional-prefix. If a prefix is specified after the Amazon - // S3 bucket name, only object keys with that prefix are loaded into the file - // system. - ImportPath *string `min:"3" type:"string"` +// The configuration object for the OpenZFS file system used in the DeleteFileSystem +// operation. +type DeleteFileSystemOpenZFSConfiguration struct { + _ struct{} `type:"structure"` - // For files imported from a data repository, this value determines the stripe - // count and maximum amount of data per file (in MiB) stored on a single physical - // disk. The maximum number of disks that a single file can be striped across - // is limited by the total number of disks that make up the file system. - // - // The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 - // MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB. - ImportedFileChunkSize *int64 `min:"1" type:"integer"` + // A list of Tag values, with a maximum of 50 elements. + FinalBackupTags []*Tag `min:"1" type:"list"` - // Describes the state of the file system's S3 durable data repository, if it - // is configured with an S3 repository. The lifecycle can have the following - // values: - // - // * CREATING - The data repository configuration between the FSx file system - // and the linked S3 data repository is being created. The data repository - // is unavailable. - // - // * AVAILABLE - The data repository is available for use. - // - // * MISCONFIGURED - Amazon FSx cannot automatically import updates from - // the S3 bucket until the data repository configuration is corrected. For - // more information, see Troubleshooting a Misconfigured linked S3 bucket - // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/troubleshooting.html#troubleshooting-misconfigured-data-repository). - // - // * UPDATING - The data repository is undergoing a customer initiated update - // and availability may be impacted. - Lifecycle *string `type:"string" enum:"DataRepositoryLifecycle"` + // By default, Amazon FSx for OpenZFS takes a final backup on your behalf when + // the DeleteFileSystem operation is invoked. Doing this helps protect you from + // data loss, and we highly recommend taking the final backup. If you want to + // skip this backup, use this value to do so. + SkipFinalBackup *bool `type:"boolean"` } // String returns the string representation. @@ -6998,7 +10547,7 @@ type DataRepositoryConfiguration 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 DataRepositoryConfiguration) String() string { +func (s DeleteFileSystemOpenZFSConfiguration) String() string { return awsutil.Prettify(s) } @@ -7007,53 +10556,55 @@ func (s DataRepositoryConfiguration) 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 DataRepositoryConfiguration) GoString() string { +func (s DeleteFileSystemOpenZFSConfiguration) GoString() string { return s.String() } -// SetAutoImportPolicy sets the AutoImportPolicy field's value. -func (s *DataRepositoryConfiguration) SetAutoImportPolicy(v string) *DataRepositoryConfiguration { - s.AutoImportPolicy = &v - return s -} - -// SetExportPath sets the ExportPath field's value. -func (s *DataRepositoryConfiguration) SetExportPath(v string) *DataRepositoryConfiguration { - s.ExportPath = &v - return s -} - -// SetFailureDetails sets the FailureDetails field's value. -func (s *DataRepositoryConfiguration) SetFailureDetails(v *DataRepositoryFailureDetails) *DataRepositoryConfiguration { - s.FailureDetails = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFileSystemOpenZFSConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemOpenZFSConfiguration"} + if s.FinalBackupTags != nil && len(s.FinalBackupTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FinalBackupTags", 1)) + } + if s.FinalBackupTags != nil { + for i, v := range s.FinalBackupTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FinalBackupTags", i), err.(request.ErrInvalidParams)) + } + } + } -// SetImportPath sets the ImportPath field's value. -func (s *DataRepositoryConfiguration) SetImportPath(v string) *DataRepositoryConfiguration { - s.ImportPath = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetImportedFileChunkSize sets the ImportedFileChunkSize field's value. -func (s *DataRepositoryConfiguration) SetImportedFileChunkSize(v int64) *DataRepositoryConfiguration { - s.ImportedFileChunkSize = &v +// SetFinalBackupTags sets the FinalBackupTags field's value. +func (s *DeleteFileSystemOpenZFSConfiguration) SetFinalBackupTags(v []*Tag) *DeleteFileSystemOpenZFSConfiguration { + s.FinalBackupTags = v return s } -// SetLifecycle sets the Lifecycle field's value. -func (s *DataRepositoryConfiguration) SetLifecycle(v string) *DataRepositoryConfiguration { - s.Lifecycle = &v +// SetSkipFinalBackup sets the SkipFinalBackup field's value. +func (s *DeleteFileSystemOpenZFSConfiguration) SetSkipFinalBackup(v bool) *DeleteFileSystemOpenZFSConfiguration { + s.SkipFinalBackup = &v return s } -// Provides detailed information about the data respository if its Lifecycle -// is set to MISCONFIGURED. -type DataRepositoryFailureDetails struct { +// The response object for the Amazon FSx for OpenZFS file system that's being +// deleted in the DeleteFileSystem operation. +type DeleteFileSystemOpenZFSResponse struct { _ struct{} `type:"structure"` - // A detailed error message. - Message *string `min:"1" type:"string"` + // The ID of the source backup. Specifies the backup that you are copying. + FinalBackupId *string `min:"12" type:"string"` + + // A list of Tag values, with a maximum of 50 elements. + FinalBackupTags []*Tag `min:"1" type:"list"` } // String returns the string representation. @@ -7061,7 +10612,7 @@ type DataRepositoryFailureDetails 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 DataRepositoryFailureDetails) String() string { +func (s DeleteFileSystemOpenZFSResponse) String() string { return awsutil.Prettify(s) } @@ -7070,109 +10621,44 @@ func (s DataRepositoryFailureDetails) 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 DataRepositoryFailureDetails) GoString() string { +func (s DeleteFileSystemOpenZFSResponse) GoString() string { return s.String() } -// SetMessage sets the Message field's value. -func (s *DataRepositoryFailureDetails) SetMessage(v string) *DataRepositoryFailureDetails { - s.Message = &v +// SetFinalBackupId sets the FinalBackupId field's value. +func (s *DeleteFileSystemOpenZFSResponse) SetFinalBackupId(v string) *DeleteFileSystemOpenZFSResponse { + s.FinalBackupId = &v return s } -// A description of the data repository task. You use data repository tasks -// to perform bulk transfer operations between your Amazon FSx file system and -// its linked data repository. -type DataRepositoryTask struct { - _ struct{} `type:"structure"` - - // The time that the resource was created, in seconds (since 1970-01-01T00:00:00Z), - // also known as Unix time. - // - // CreationTime is a required field - CreationTime *time.Time `type:"timestamp" required:"true"` - - // The time that Amazon FSx completed processing the task, populated after the - // task is complete. - EndTime *time.Time `type:"timestamp"` - - // Failure message describing why the task failed, it is populated only when - // Lifecycle is set to FAILED. - FailureDetails *DataRepositoryTaskFailureDetails `type:"structure"` - - // The globally unique ID of the file system, assigned by Amazon FSx. - // - // FileSystemId is a required field - FileSystemId *string `min:"11" type:"string" required:"true"` - - // The lifecycle status of the data repository task, as follows: - // - // * PENDING - Amazon FSx has not started the task. - // - // * EXECUTING - Amazon FSx is processing the task. - // - // * FAILED - Amazon FSx was not able to complete the task. For example, - // there may be files the task failed to process. The DataRepositoryTaskFailureDetails - // property provides more information about task failures. - // - // * SUCCEEDED - FSx completed the task successfully. - // - // * CANCELED - Amazon FSx canceled the task and it did not complete. - // - // * CANCELING - FSx is in process of canceling the task. - // - // You cannot delete an FSx for Lustre file system if there are data repository - // tasks for the file system in the PENDING or EXECUTING states. Please retry - // when the data repository task is finished (with a status of CANCELED, SUCCEEDED, - // or FAILED). You can use the DescribeDataRepositoryTask action to monitor - // the task status. Contact the FSx team if you need to delete your file system - // immediately. - // - // Lifecycle is a required field - Lifecycle *string `type:"string" required:"true" enum:"DataRepositoryTaskLifecycle"` - - // An array of paths on the Amazon FSx for Lustre file system that specify the - // data for the data repository task to process. For example, in an EXPORT_TO_REPOSITORY - // task, the paths specify which data to export to the linked data repository. - // - // (Default) If Paths is not specified, Amazon FSx uses the file system root - // directory. - Paths []*string `type:"list"` - - // Provides a report detailing the data repository task results of the files - // processed that match the criteria specified in the report Scope parameter. - // FSx delivers the report to the file system's linked data repository in Amazon - // S3, using the path specified in the report Path parameter. You can specify - // whether or not a report gets generated for a task using the Enabled parameter. - Report *CompletionReport `type:"structure"` - - // The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify - // Amazon Web Services resources. We require an ARN when you need to specify - // a resource unambiguously across all of Amazon Web Services. For more information, - // see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) - // in the Amazon Web Services General Reference. - ResourceARN *string `min:"8" type:"string"` +// SetFinalBackupTags sets the FinalBackupTags field's value. +func (s *DeleteFileSystemOpenZFSResponse) SetFinalBackupTags(v []*Tag) *DeleteFileSystemOpenZFSResponse { + s.FinalBackupTags = v + return s +} - // The time that Amazon FSx began processing the task. - StartTime *time.Time `type:"timestamp"` +// The response object for the DeleteFileSystem operation. +type DeleteFileSystemOutput struct { + _ struct{} `type:"structure"` - // Provides the status of the number of files that the task has processed successfully - // and failed to process. - Status *DataRepositoryTaskStatus `type:"structure"` + // The ID of the file system that's being deleted. + FileSystemId *string `min:"11" type:"string"` - // A list of Tag values, with a maximum of 50 elements. - Tags []*Tag `min:"1" type:"list"` + // The file system lifecycle for the deletion request. If the DeleteFileSystem + // operation is successful, this status is DELETING. + Lifecycle *string `type:"string" enum:"FileSystemLifecycle"` - // The system-generated, unique 17-digit ID of the data repository task. - // - // TaskId is a required field - TaskId *string `min:"12" type:"string" required:"true"` + // The response object for the Amazon FSx for Lustre file system being deleted + // in the DeleteFileSystem operation. + LustreResponse *DeleteFileSystemLustreResponse `type:"structure"` - // The type of data repository task; EXPORT_TO_REPOSITORY is the only type currently - // supported. - // - // Type is a required field - Type *string `type:"string" required:"true" enum:"DataRepositoryTaskType"` + // The response object for the OpenZFS file system that's being deleted in the + // DeleteFileSystem operation. + OpenZFSResponse *DeleteFileSystemOpenZFSResponse `type:"structure"` + + // The response object for the Microsoft Windows file system used in the DeleteFileSystem + // operation. + WindowsResponse *DeleteFileSystemWindowsResponse `type:"structure"` } // String returns the string representation. @@ -7180,7 +10666,7 @@ type DataRepositoryTask 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 DataRepositoryTask) String() string { +func (s DeleteFileSystemOutput) String() string { return awsutil.Prettify(s) } @@ -7189,96 +10675,118 @@ func (s DataRepositoryTask) 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 DataRepositoryTask) GoString() string { +func (s DeleteFileSystemOutput) GoString() string { return s.String() } -// SetCreationTime sets the CreationTime field's value. -func (s *DataRepositoryTask) SetCreationTime(v time.Time) *DataRepositoryTask { - s.CreationTime = &v - return s -} - -// SetEndTime sets the EndTime field's value. -func (s *DataRepositoryTask) SetEndTime(v time.Time) *DataRepositoryTask { - s.EndTime = &v - return s -} - -// SetFailureDetails sets the FailureDetails field's value. -func (s *DataRepositoryTask) SetFailureDetails(v *DataRepositoryTaskFailureDetails) *DataRepositoryTask { - s.FailureDetails = v - return s -} - // SetFileSystemId sets the FileSystemId field's value. -func (s *DataRepositoryTask) SetFileSystemId(v string) *DataRepositoryTask { +func (s *DeleteFileSystemOutput) SetFileSystemId(v string) *DeleteFileSystemOutput { s.FileSystemId = &v return s } // SetLifecycle sets the Lifecycle field's value. -func (s *DataRepositoryTask) SetLifecycle(v string) *DataRepositoryTask { +func (s *DeleteFileSystemOutput) SetLifecycle(v string) *DeleteFileSystemOutput { s.Lifecycle = &v return s } -// SetPaths sets the Paths field's value. -func (s *DataRepositoryTask) SetPaths(v []*string) *DataRepositoryTask { - s.Paths = v +// SetLustreResponse sets the LustreResponse field's value. +func (s *DeleteFileSystemOutput) SetLustreResponse(v *DeleteFileSystemLustreResponse) *DeleteFileSystemOutput { + s.LustreResponse = v return s } -// SetReport sets the Report field's value. -func (s *DataRepositoryTask) SetReport(v *CompletionReport) *DataRepositoryTask { - s.Report = v +// SetOpenZFSResponse sets the OpenZFSResponse field's value. +func (s *DeleteFileSystemOutput) SetOpenZFSResponse(v *DeleteFileSystemOpenZFSResponse) *DeleteFileSystemOutput { + s.OpenZFSResponse = v return s } -// SetResourceARN sets the ResourceARN field's value. -func (s *DataRepositoryTask) SetResourceARN(v string) *DataRepositoryTask { - s.ResourceARN = &v +// SetWindowsResponse sets the WindowsResponse field's value. +func (s *DeleteFileSystemOutput) SetWindowsResponse(v *DeleteFileSystemWindowsResponse) *DeleteFileSystemOutput { + s.WindowsResponse = v return s } -// SetStartTime sets the StartTime field's value. -func (s *DataRepositoryTask) SetStartTime(v time.Time) *DataRepositoryTask { - s.StartTime = &v - return s +// The configuration object for the Microsoft Windows file system used in the +// DeleteFileSystem operation. +type DeleteFileSystemWindowsConfiguration struct { + _ struct{} `type:"structure"` + + // A set of tags for your final backup. + FinalBackupTags []*Tag `min:"1" type:"list"` + + // By default, Amazon FSx for Windows takes a final backup on your behalf when + // the DeleteFileSystem operation is invoked. Doing this helps protect you from + // data loss, and we highly recommend taking the final backup. If you want to + // skip this backup, use this flag to do so. + SkipFinalBackup *bool `type:"boolean"` } -// SetStatus sets the Status field's value. -func (s *DataRepositoryTask) SetStatus(v *DataRepositoryTaskStatus) *DataRepositoryTask { - s.Status = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteFileSystemWindowsConfiguration) String() string { + return awsutil.Prettify(s) } -// SetTags sets the Tags field's value. -func (s *DataRepositoryTask) SetTags(v []*Tag) *DataRepositoryTask { - s.Tags = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteFileSystemWindowsConfiguration) GoString() string { + return s.String() } -// SetTaskId sets the TaskId field's value. -func (s *DataRepositoryTask) SetTaskId(v string) *DataRepositoryTask { - s.TaskId = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteFileSystemWindowsConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemWindowsConfiguration"} + if s.FinalBackupTags != nil && len(s.FinalBackupTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FinalBackupTags", 1)) + } + if s.FinalBackupTags != nil { + for i, v := range s.FinalBackupTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FinalBackupTags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFinalBackupTags sets the FinalBackupTags field's value. +func (s *DeleteFileSystemWindowsConfiguration) SetFinalBackupTags(v []*Tag) *DeleteFileSystemWindowsConfiguration { + s.FinalBackupTags = v return s } -// SetType sets the Type field's value. -func (s *DataRepositoryTask) SetType(v string) *DataRepositoryTask { - s.Type = &v +// SetSkipFinalBackup sets the SkipFinalBackup field's value. +func (s *DeleteFileSystemWindowsConfiguration) SetSkipFinalBackup(v bool) *DeleteFileSystemWindowsConfiguration { + s.SkipFinalBackup = &v return s } -// The data repository task could not be canceled because the task has already -// ended. -type DataRepositoryTaskEnded struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// The response object for the Microsoft Windows file system used in the DeleteFileSystem +// operation. +type DeleteFileSystemWindowsResponse struct { + _ struct{} `type:"structure"` - // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` + // The ID of the final backup for this file system. + FinalBackupId *string `min:"12" type:"string"` + + // The set of tags applied to the final backup. + FinalBackupTags []*Tag `min:"1" type:"list"` } // String returns the string representation. @@ -7286,7 +10794,7 @@ type DataRepositoryTaskEnded 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 DataRepositoryTaskEnded) String() string { +func (s DeleteFileSystemWindowsResponse) String() string { return awsutil.Prettify(s) } @@ -7295,56 +10803,34 @@ func (s DataRepositoryTaskEnded) 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 DataRepositoryTaskEnded) GoString() string { +func (s DeleteFileSystemWindowsResponse) GoString() string { return s.String() } -func newErrorDataRepositoryTaskEnded(v protocol.ResponseMetadata) error { - return &DataRepositoryTaskEnded{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *DataRepositoryTaskEnded) Code() string { - return "DataRepositoryTaskEnded" -} - -// Message returns the exception's message. -func (s *DataRepositoryTaskEnded) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *DataRepositoryTaskEnded) OrigErr() error { - return nil -} - -func (s *DataRepositoryTaskEnded) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetFinalBackupId sets the FinalBackupId field's value. +func (s *DeleteFileSystemWindowsResponse) SetFinalBackupId(v string) *DeleteFileSystemWindowsResponse { + s.FinalBackupId = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *DataRepositoryTaskEnded) StatusCode() int { - return s.RespMetadata.StatusCode +// SetFinalBackupTags sets the FinalBackupTags field's value. +func (s *DeleteFileSystemWindowsResponse) SetFinalBackupTags(v []*Tag) *DeleteFileSystemWindowsResponse { + s.FinalBackupTags = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *DataRepositoryTaskEnded) RequestID() string { - return s.RespMetadata.RequestID -} +type DeleteSnapshotInput struct { + _ struct{} `type:"structure"` -// An existing data repository task is currently executing on the file system. -// Wait until the existing task has completed, then create the new task. -type DataRepositoryTaskExecuting struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` + // The ID of the snapshot that you want to delete. + // + // SnapshotId is a required field + SnapshotId *string `min:"11" type:"string" required:"true"` } // String returns the string representation. @@ -7352,7 +10838,7 @@ type DataRepositoryTaskExecuting 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 DataRepositoryTaskExecuting) String() string { +func (s DeleteSnapshotInput) String() string { return awsutil.Prettify(s) } @@ -7361,55 +10847,94 @@ func (s DataRepositoryTaskExecuting) 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 DataRepositoryTaskExecuting) GoString() string { +func (s DeleteSnapshotInput) GoString() string { return s.String() } -func newErrorDataRepositoryTaskExecuting(v protocol.ResponseMetadata) error { - return &DataRepositoryTaskExecuting{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSnapshotInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.SnapshotId == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotId")) + } + if s.SnapshotId != nil && len(*s.SnapshotId) < 11 { + invalidParams.Add(request.NewErrParamMinLen("SnapshotId", 11)) + } + + if invalidParams.Len() > 0 { + return invalidParams } + return nil } -// Code returns the exception type name. -func (s *DataRepositoryTaskExecuting) Code() string { - return "DataRepositoryTaskExecuting" +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *DeleteSnapshotInput) SetClientRequestToken(v string) *DeleteSnapshotInput { + s.ClientRequestToken = &v + return s } -// Message returns the exception's message. -func (s *DataRepositoryTaskExecuting) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetSnapshotId sets the SnapshotId field's value. +func (s *DeleteSnapshotInput) SetSnapshotId(v string) *DeleteSnapshotInput { + s.SnapshotId = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *DataRepositoryTaskExecuting) OrigErr() error { - return nil +type DeleteSnapshotOutput struct { + _ struct{} `type:"structure"` + + // The lifecycle status of the snapshot. If the DeleteSnapshot operation is + // successful, this status is DELETING. + Lifecycle *string `type:"string" enum:"SnapshotLifecycle"` + + // The ID of the deleted snapshot. + SnapshotId *string `min:"11" type:"string"` } -func (s *DataRepositoryTaskExecuting) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// 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 DeleteSnapshotOutput) String() string { + return awsutil.Prettify(s) } -// Status code returns the HTTP status code for the request's response error. -func (s *DataRepositoryTaskExecuting) StatusCode() int { - return s.RespMetadata.StatusCode +// 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 DeleteSnapshotOutput) GoString() string { + return s.String() } -// RequestID returns the service's response RequestID for request. -func (s *DataRepositoryTaskExecuting) RequestID() string { - return s.RespMetadata.RequestID +// SetLifecycle sets the Lifecycle field's value. +func (s *DeleteSnapshotOutput) SetLifecycle(v string) *DeleteSnapshotOutput { + s.Lifecycle = &v + return s } -// Provides information about why a data repository task failed. Only populated -// when the task Lifecycle is set to FAILED. -type DataRepositoryTaskFailureDetails struct { +// SetSnapshotId sets the SnapshotId field's value. +func (s *DeleteSnapshotOutput) SetSnapshotId(v string) *DeleteSnapshotOutput { + s.SnapshotId = &v + return s +} + +type DeleteStorageVirtualMachineInput struct { _ struct{} `type:"structure"` - // A detailed error message. - Message *string `min:"1" type:"string"` + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The ID of the SVM that you want to delete. + // + // StorageVirtualMachineId is a required field + StorageVirtualMachineId *string `min:"21" type:"string" required:"true"` } // String returns the string representation. @@ -7417,7 +10942,7 @@ type DataRepositoryTaskFailureDetails 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 DataRepositoryTaskFailureDetails) String() string { +func (s DeleteStorageVirtualMachineInput) String() string { return awsutil.Prettify(s) } @@ -7426,37 +10951,49 @@ func (s DataRepositoryTaskFailureDetails) 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 DataRepositoryTaskFailureDetails) GoString() string { +func (s DeleteStorageVirtualMachineInput) GoString() string { return s.String() } -// SetMessage sets the Message field's value. -func (s *DataRepositoryTaskFailureDetails) SetMessage(v string) *DataRepositoryTaskFailureDetails { - s.Message = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteStorageVirtualMachineInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteStorageVirtualMachineInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.StorageVirtualMachineId == nil { + invalidParams.Add(request.NewErrParamRequired("StorageVirtualMachineId")) + } + if s.StorageVirtualMachineId != nil && len(*s.StorageVirtualMachineId) < 21 { + invalidParams.Add(request.NewErrParamMinLen("StorageVirtualMachineId", 21)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *DeleteStorageVirtualMachineInput) SetClientRequestToken(v string) *DeleteStorageVirtualMachineInput { + s.ClientRequestToken = &v return s } -// (Optional) An array of filter objects you can use to filter the response -// of data repository tasks you will see in the the response. You can filter -// the tasks returned in the response by one or more file system IDs, task lifecycles, -// and by task type. A filter object consists of a filter Name, and one or more -// Values for the filter. -type DataRepositoryTaskFilter struct { +// SetStorageVirtualMachineId sets the StorageVirtualMachineId field's value. +func (s *DeleteStorageVirtualMachineInput) SetStorageVirtualMachineId(v string) *DeleteStorageVirtualMachineInput { + s.StorageVirtualMachineId = &v + return s +} + +type DeleteStorageVirtualMachineOutput struct { _ struct{} `type:"structure"` - // Name of the task property to use in filtering the tasks returned in the response. - // - // * Use file-system-id to retrieve data repository tasks for specific file - // systems. - // - // * Use task-lifecycle to retrieve data repository tasks with one or more - // specific lifecycle states, as follows: CANCELED, EXECUTING, FAILED, PENDING, - // and SUCCEEDED. - Name *string `type:"string" enum:"DataRepositoryTaskFilterName"` + // Describes the lifecycle state of the SVM being deleted. + Lifecycle *string `type:"string" enum:"StorageVirtualMachineLifecycle"` - // Use Values to include the specific file system IDs and task lifecycle states - // for the filters you are using. - Values []*string `type:"list"` + // The ID of the SVM Amazon FSx is deleting. + StorageVirtualMachineId *string `min:"21" type:"string"` } // String returns the string representation. @@ -7464,7 +11001,7 @@ type DataRepositoryTaskFilter 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 DataRepositoryTaskFilter) String() string { +func (s DeleteStorageVirtualMachineOutput) String() string { return awsutil.Prettify(s) } @@ -7473,29 +11010,43 @@ func (s DataRepositoryTaskFilter) 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 DataRepositoryTaskFilter) GoString() string { +func (s DeleteStorageVirtualMachineOutput) GoString() string { return s.String() } -// SetName sets the Name field's value. -func (s *DataRepositoryTaskFilter) SetName(v string) *DataRepositoryTaskFilter { - s.Name = &v +// SetLifecycle sets the Lifecycle field's value. +func (s *DeleteStorageVirtualMachineOutput) SetLifecycle(v string) *DeleteStorageVirtualMachineOutput { + s.Lifecycle = &v return s } -// SetValues sets the Values field's value. -func (s *DataRepositoryTaskFilter) SetValues(v []*string) *DataRepositoryTaskFilter { - s.Values = v +// SetStorageVirtualMachineId sets the StorageVirtualMachineId field's value. +func (s *DeleteStorageVirtualMachineOutput) SetStorageVirtualMachineId(v string) *DeleteStorageVirtualMachineOutput { + s.StorageVirtualMachineId = &v return s } -// The data repository task or tasks you specified could not be found. -type DataRepositoryTaskNotFound struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type DeleteVolumeInput struct { + _ struct{} `type:"structure"` - // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // For Amazon FSx for ONTAP volumes, specify whether to take a final backup + // of the volume and apply tags to the backup. To apply tags to the backup, + // you must have the fsx:TagResource permission. + OntapConfiguration *DeleteVolumeOntapConfiguration `type:"structure"` + + // For Amazon FSx for OpenZFS volumes, specify whether to delete all child volumes + // and snapshots. + OpenZFSConfiguration *DeleteVolumeOpenZFSConfiguration `type:"structure"` + + // The ID of the volume that you are deleting. + // + // VolumeId is a required field + VolumeId *string `min:"23" type:"string" required:"true"` } // String returns the string representation. @@ -7503,7 +11054,7 @@ type DataRepositoryTaskNotFound 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 DataRepositoryTaskNotFound) String() string { +func (s DeleteVolumeInput) String() string { return awsutil.Prettify(s) } @@ -7512,67 +11063,68 @@ func (s DataRepositoryTaskNotFound) 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 DataRepositoryTaskNotFound) GoString() string { +func (s DeleteVolumeInput) GoString() string { return s.String() } -func newErrorDataRepositoryTaskNotFound(v protocol.ResponseMetadata) error { - return &DataRepositoryTaskNotFound{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteVolumeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.VolumeId == nil { + invalidParams.Add(request.NewErrParamRequired("VolumeId")) + } + if s.VolumeId != nil && len(*s.VolumeId) < 23 { + invalidParams.Add(request.NewErrParamMinLen("VolumeId", 23)) + } + if s.OntapConfiguration != nil { + if err := s.OntapConfiguration.Validate(); err != nil { + invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams)) + } } -} - -// Code returns the exception type name. -func (s *DataRepositoryTaskNotFound) Code() string { - return "DataRepositoryTaskNotFound" -} -// Message returns the exception's message. -func (s *DataRepositoryTaskNotFound) Message() string { - if s.Message_ != nil { - return *s.Message_ + if invalidParams.Len() > 0 { + return invalidParams } - return "" + return nil } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *DataRepositoryTaskNotFound) OrigErr() error { - return nil +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *DeleteVolumeInput) SetClientRequestToken(v string) *DeleteVolumeInput { + s.ClientRequestToken = &v + return s } -func (s *DataRepositoryTaskNotFound) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetOntapConfiguration sets the OntapConfiguration field's value. +func (s *DeleteVolumeInput) SetOntapConfiguration(v *DeleteVolumeOntapConfiguration) *DeleteVolumeInput { + s.OntapConfiguration = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *DataRepositoryTaskNotFound) StatusCode() int { - return s.RespMetadata.StatusCode +// SetOpenZFSConfiguration sets the OpenZFSConfiguration field's value. +func (s *DeleteVolumeInput) SetOpenZFSConfiguration(v *DeleteVolumeOpenZFSConfiguration) *DeleteVolumeInput { + s.OpenZFSConfiguration = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *DataRepositoryTaskNotFound) RequestID() string { - return s.RespMetadata.RequestID +// SetVolumeId sets the VolumeId field's value. +func (s *DeleteVolumeInput) SetVolumeId(v string) *DeleteVolumeInput { + s.VolumeId = &v + return s } -// Provides the task status showing a running total of the total number of files -// to be processed, the number successfully processed, and the number of files -// the task failed to process. -type DataRepositoryTaskStatus struct { +// Use to specify skipping a final backup, or to add tags to a final backup. +type DeleteVolumeOntapConfiguration struct { _ struct{} `type:"structure"` - // A running total of the number of files that the task failed to process. - FailedCount *int64 `type:"long"` - - // The time at which the task status was last updated. - LastUpdatedTime *time.Time `type:"timestamp"` - - // A running total of the number of files that the task has successfully processed. - SucceededCount *int64 `type:"long"` + // A list of Tag values, with a maximum of 50 elements. + FinalBackupTags []*Tag `min:"1" type:"list"` - // The total number of files that the task will process. While a task is executing, - // the sum of SucceededCount plus FailedCount may not equal TotalCount. When - // the task is complete, TotalCount equals the sum of SucceededCount plus FailedCount. - TotalCount *int64 `type:"long"` + // Set to true if you want to skip taking a final backup of the volume you are + // deleting. + SkipFinalBackup *bool `type:"boolean"` } // String returns the string representation. @@ -7580,7 +11132,7 @@ type DataRepositoryTaskStatus 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 DataRepositoryTaskStatus) String() string { +func (s DeleteVolumeOntapConfiguration) String() string { return awsutil.Prettify(s) } @@ -7589,47 +11141,93 @@ func (s DataRepositoryTaskStatus) 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 DataRepositoryTaskStatus) GoString() string { +func (s DeleteVolumeOntapConfiguration) GoString() string { return s.String() } -// SetFailedCount sets the FailedCount field's value. -func (s *DataRepositoryTaskStatus) SetFailedCount(v int64) *DataRepositoryTaskStatus { - s.FailedCount = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteVolumeOntapConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeOntapConfiguration"} + if s.FinalBackupTags != nil && len(s.FinalBackupTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FinalBackupTags", 1)) + } + if s.FinalBackupTags != nil { + for i, v := range s.FinalBackupTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FinalBackupTags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFinalBackupTags sets the FinalBackupTags field's value. +func (s *DeleteVolumeOntapConfiguration) SetFinalBackupTags(v []*Tag) *DeleteVolumeOntapConfiguration { + s.FinalBackupTags = v return s } -// SetLastUpdatedTime sets the LastUpdatedTime field's value. -func (s *DataRepositoryTaskStatus) SetLastUpdatedTime(v time.Time) *DataRepositoryTaskStatus { - s.LastUpdatedTime = &v +// SetSkipFinalBackup sets the SkipFinalBackup field's value. +func (s *DeleteVolumeOntapConfiguration) SetSkipFinalBackup(v bool) *DeleteVolumeOntapConfiguration { + s.SkipFinalBackup = &v return s } -// SetSucceededCount sets the SucceededCount field's value. -func (s *DataRepositoryTaskStatus) SetSucceededCount(v int64) *DataRepositoryTaskStatus { - s.SucceededCount = &v +// The response object for the Amazon FSx for NetApp ONTAP volume being deleted +// in the DeleteVolume operation. +type DeleteVolumeOntapResponse struct { + _ struct{} `type:"structure"` + + // The ID of the source backup. Specifies the backup that you are copying. + FinalBackupId *string `min:"12" type:"string"` + + // A list of Tag values, with a maximum of 50 elements. + FinalBackupTags []*Tag `min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteVolumeOntapResponse) 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 DeleteVolumeOntapResponse) GoString() string { + return s.String() +} + +// SetFinalBackupId sets the FinalBackupId field's value. +func (s *DeleteVolumeOntapResponse) SetFinalBackupId(v string) *DeleteVolumeOntapResponse { + s.FinalBackupId = &v return s } -// SetTotalCount sets the TotalCount field's value. -func (s *DataRepositoryTaskStatus) SetTotalCount(v int64) *DataRepositoryTaskStatus { - s.TotalCount = &v +// SetFinalBackupTags sets the FinalBackupTags field's value. +func (s *DeleteVolumeOntapResponse) SetFinalBackupTags(v []*Tag) *DeleteVolumeOntapResponse { + s.FinalBackupTags = v return s } -// The request object for DeleteBackup operation. -type DeleteBackupInput struct { +// A value that specifies whether to delete all child volumes and snapshots. +type DeleteVolumeOpenZFSConfiguration struct { _ struct{} `type:"structure"` - // The ID of the backup you want to delete. - // - // BackupId is a required field - BackupId *string `min:"12" type:"string" required:"true"` - - // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent - // deletion. This is automatically filled on your behalf when using the CLI - // or SDK. - ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + // To delete the volume's children and snapshots, use the string DELETE_CHILD_VOLUMES_AND_SNAPSHOTS. + Options []*string `type:"list"` } // String returns the string representation. @@ -7637,7 +11235,7 @@ type DeleteBackupInput 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 DeleteBackupInput) String() string { +func (s DeleteVolumeOpenZFSConfiguration) String() string { return awsutil.Prettify(s) } @@ -7646,50 +11244,28 @@ func (s DeleteBackupInput) 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 DeleteBackupInput) GoString() string { +func (s DeleteVolumeOpenZFSConfiguration) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteBackupInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteBackupInput"} - if s.BackupId == nil { - invalidParams.Add(request.NewErrParamRequired("BackupId")) - } - if s.BackupId != nil && len(*s.BackupId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("BackupId", 12)) - } - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetBackupId sets the BackupId field's value. -func (s *DeleteBackupInput) SetBackupId(v string) *DeleteBackupInput { - s.BackupId = &v - return s -} - -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *DeleteBackupInput) SetClientRequestToken(v string) *DeleteBackupInput { - s.ClientRequestToken = &v +// SetOptions sets the Options field's value. +func (s *DeleteVolumeOpenZFSConfiguration) SetOptions(v []*string) *DeleteVolumeOpenZFSConfiguration { + s.Options = v return s } -// The response object for DeleteBackup operation. -type DeleteBackupOutput struct { +type DeleteVolumeOutput struct { _ struct{} `type:"structure"` - // The ID of the backup deleted. - BackupId *string `min:"12" type:"string"` + // The lifecycle state of the volume being deleted. If the DeleteVolume operation + // is successful, this value is DELETING. + Lifecycle *string `type:"string" enum:"VolumeLifecycle"` - // The lifecycle of the backup. Should be DELETED. - Lifecycle *string `type:"string" enum:"BackupLifecycle"` + // Returned after a DeleteVolume request, showing the status of the delete request. + OntapResponse *DeleteVolumeOntapResponse `type:"structure"` + + // The ID of the volume that's being deleted. + VolumeId *string `min:"23" type:"string"` } // String returns the string representation. @@ -7697,7 +11273,7 @@ type DeleteBackupOutput 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 DeleteBackupOutput) String() string { +func (s DeleteVolumeOutput) String() string { return awsutil.Prettify(s) } @@ -7706,43 +11282,50 @@ func (s DeleteBackupOutput) 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 DeleteBackupOutput) GoString() string { +func (s DeleteVolumeOutput) GoString() string { return s.String() } -// SetBackupId sets the BackupId field's value. -func (s *DeleteBackupOutput) SetBackupId(v string) *DeleteBackupOutput { - s.BackupId = &v +// SetLifecycle sets the Lifecycle field's value. +func (s *DeleteVolumeOutput) SetLifecycle(v string) *DeleteVolumeOutput { + s.Lifecycle = &v return s } -// SetLifecycle sets the Lifecycle field's value. -func (s *DeleteBackupOutput) SetLifecycle(v string) *DeleteBackupOutput { - s.Lifecycle = &v +// SetOntapResponse sets the OntapResponse field's value. +func (s *DeleteVolumeOutput) SetOntapResponse(v *DeleteVolumeOntapResponse) *DeleteVolumeOutput { + s.OntapResponse = v return s } -// The request object for DeleteFileSystem operation. -type DeleteFileSystemInput struct { +// SetVolumeId sets the VolumeId field's value. +func (s *DeleteVolumeOutput) SetVolumeId(v string) *DeleteVolumeOutput { + s.VolumeId = &v + return s +} + +// The request object for the DescribeBackups operation. +type DescribeBackupsInput struct { _ struct{} `type:"structure"` - // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent - // deletion. This is automatically filled on your behalf when using the Command - // Line Interface (CLI) or an Amazon Web Services SDK. - ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + // The IDs of the backups that you want to retrieve. This parameter value overrides + // any filters. If any IDs aren't found, a BackupNotFound error occurs. + BackupIds []*string `type:"list"` - // The ID of the file system you want to delete. - // - // FileSystemId is a required field - FileSystemId *string `min:"11" type:"string" required:"true"` + // The filters structure. The supported names are file-system-id, backup-type, + // file-system-type, and volume-id. + Filters []*Filter `type:"list"` - // The configuration object for the Amazon FSx for Lustre file system being - // deleted in the DeleteFileSystem operation. - LustreConfiguration *DeleteFileSystemLustreConfiguration `type:"structure"` + // Maximum number of backups to return in the response. This parameter value + // must be greater than 0. The number of items that Amazon FSx returns is the + // minimum of the MaxResults parameter specified in the request and the service's + // internal maximum number of items per page. + MaxResults *int64 `min:"1" type:"integer"` - // The configuration object for the Microsoft Windows file system used in the - // DeleteFileSystem operation. - WindowsConfiguration *DeleteFileSystemWindowsConfiguration `type:"structure"` + // An opaque pagination token returned from a previous DescribeBackups operation. + // If a token is present, the operation continues the list from where the returning + // call left off. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -7750,7 +11333,7 @@ type DeleteFileSystemInput 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 DeleteFileSystemInput) String() string { +func (s DescribeBackupsInput) String() string { return awsutil.Prettify(s) } @@ -7759,31 +11342,18 @@ func (s DeleteFileSystemInput) 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 DeleteFileSystemInput) GoString() string { +func (s DescribeBackupsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteFileSystemInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemInput"} - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) - } - if s.FileSystemId == nil { - invalidParams.Add(request.NewErrParamRequired("FileSystemId")) - } - if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { - invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) - } - if s.LustreConfiguration != nil { - if err := s.LustreConfiguration.Validate(); err != nil { - invalidParams.AddNested("LustreConfiguration", err.(request.ErrInvalidParams)) - } +func (s *DescribeBackupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeBackupsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.WindowsConfiguration != nil { - if err := s.WindowsConfiguration.Validate(); err != nil { - invalidParams.AddNested("WindowsConfiguration", err.(request.ErrInvalidParams)) - } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } if invalidParams.Len() > 0 { @@ -7792,46 +11362,41 @@ func (s *DeleteFileSystemInput) Validate() error { return nil } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *DeleteFileSystemInput) SetClientRequestToken(v string) *DeleteFileSystemInput { - s.ClientRequestToken = &v +// SetBackupIds sets the BackupIds field's value. +func (s *DescribeBackupsInput) SetBackupIds(v []*string) *DescribeBackupsInput { + s.BackupIds = v return s } -// SetFileSystemId sets the FileSystemId field's value. -func (s *DeleteFileSystemInput) SetFileSystemId(v string) *DeleteFileSystemInput { - s.FileSystemId = &v +// SetFilters sets the Filters field's value. +func (s *DescribeBackupsInput) SetFilters(v []*Filter) *DescribeBackupsInput { + s.Filters = v return s } -// SetLustreConfiguration sets the LustreConfiguration field's value. -func (s *DeleteFileSystemInput) SetLustreConfiguration(v *DeleteFileSystemLustreConfiguration) *DeleteFileSystemInput { - s.LustreConfiguration = v +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeBackupsInput) SetMaxResults(v int64) *DescribeBackupsInput { + s.MaxResults = &v return s } -// SetWindowsConfiguration sets the WindowsConfiguration field's value. -func (s *DeleteFileSystemInput) SetWindowsConfiguration(v *DeleteFileSystemWindowsConfiguration) *DeleteFileSystemInput { - s.WindowsConfiguration = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeBackupsInput) SetNextToken(v string) *DescribeBackupsInput { + s.NextToken = &v return s } -// The configuration object for the Amazon FSx for Lustre file system being -// deleted in the DeleteFileSystem operation. -type DeleteFileSystemLustreConfiguration struct { +// Response object for the DescribeBackups operation. +type DescribeBackupsOutput struct { _ struct{} `type:"structure"` - // Use if SkipFinalBackup is set to false, and you want to apply an array of - // tags to the final backup. If you have set the file system property CopyTagsToBackups - // to true, and you specify one or more FinalBackupTags when deleting a file - // system, Amazon FSx will not copy any existing file system tags to the backup. - FinalBackupTags []*Tag `min:"1" type:"list"` + // An array of backups. + Backups []*Backup `type:"list"` - // Set SkipFinalBackup to false if you want to take a final backup of the file - // system you are deleting. By default, Amazon FSx will not take a final backup - // on your behalf when the DeleteFileSystem operation is invoked. (Default = - // true) - SkipFinalBackup *bool `type:"boolean"` + // A NextToken value is present if there are more backups than returned in the + // response. You can use the NextToken value in the subsequent request to fetch + // the backups. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -7839,7 +11404,7 @@ type DeleteFileSystemLustreConfiguration 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 DeleteFileSystemLustreConfiguration) String() string { +func (s DescribeBackupsOutput) String() string { return awsutil.Prettify(s) } @@ -7848,55 +11413,40 @@ func (s DeleteFileSystemLustreConfiguration) 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 DeleteFileSystemLustreConfiguration) GoString() string { +func (s DescribeBackupsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteFileSystemLustreConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemLustreConfiguration"} - if s.FinalBackupTags != nil && len(s.FinalBackupTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FinalBackupTags", 1)) - } - if s.FinalBackupTags != nil { - for i, v := range s.FinalBackupTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FinalBackupTags", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetFinalBackupTags sets the FinalBackupTags field's value. -func (s *DeleteFileSystemLustreConfiguration) SetFinalBackupTags(v []*Tag) *DeleteFileSystemLustreConfiguration { - s.FinalBackupTags = v +// SetBackups sets the Backups field's value. +func (s *DescribeBackupsOutput) SetBackups(v []*Backup) *DescribeBackupsOutput { + s.Backups = v return s } -// SetSkipFinalBackup sets the SkipFinalBackup field's value. -func (s *DeleteFileSystemLustreConfiguration) SetSkipFinalBackup(v bool) *DeleteFileSystemLustreConfiguration { - s.SkipFinalBackup = &v +// SetNextToken sets the NextToken field's value. +func (s *DescribeBackupsOutput) SetNextToken(v string) *DescribeBackupsOutput { + s.NextToken = &v return s } -// The response object for the Amazon FSx for Lustre file system being deleted -// in the DeleteFileSystem operation. -type DeleteFileSystemLustreResponse struct { +type DescribeDataRepositoryAssociationsInput struct { _ struct{} `type:"structure"` - // The ID of the final backup for this file system. - FinalBackupId *string `min:"12" type:"string"` + // IDs of the data repository associations whose descriptions you want to retrieve + // (String). + AssociationIds []*string `type:"list"` - // The set of tags applied to the final backup. - FinalBackupTags []*Tag `min:"1" type:"list"` + // A list of Filter elements. + Filters []*Filter `type:"list"` + + // The maximum number of resources to return in the response. This value must + // be an integer greater than zero. + MaxResults *int64 `min:"1" type:"integer"` + + // (Optional) Opaque pagination token returned from a previous operation (String). + // If present, this token indicates from what point you can continue processing + // the request, where the previous NextToken value left off. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -7904,7 +11454,7 @@ type DeleteFileSystemLustreResponse 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 DeleteFileSystemLustreResponse) String() string { +func (s DescribeDataRepositoryAssociationsInput) String() string { return awsutil.Prettify(s) } @@ -7913,39 +11463,60 @@ func (s DeleteFileSystemLustreResponse) 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 DeleteFileSystemLustreResponse) GoString() string { +func (s DescribeDataRepositoryAssociationsInput) GoString() string { return s.String() } -// SetFinalBackupId sets the FinalBackupId field's value. -func (s *DeleteFileSystemLustreResponse) SetFinalBackupId(v string) *DeleteFileSystemLustreResponse { - s.FinalBackupId = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeDataRepositoryAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDataRepositoryAssociationsInput"} + 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 +} + +// SetAssociationIds sets the AssociationIds field's value. +func (s *DescribeDataRepositoryAssociationsInput) SetAssociationIds(v []*string) *DescribeDataRepositoryAssociationsInput { + s.AssociationIds = v + return s +} + +// SetFilters sets the Filters field's value. +func (s *DescribeDataRepositoryAssociationsInput) SetFilters(v []*Filter) *DescribeDataRepositoryAssociationsInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeDataRepositoryAssociationsInput) SetMaxResults(v int64) *DescribeDataRepositoryAssociationsInput { + s.MaxResults = &v return s } -// SetFinalBackupTags sets the FinalBackupTags field's value. -func (s *DeleteFileSystemLustreResponse) SetFinalBackupTags(v []*Tag) *DeleteFileSystemLustreResponse { - s.FinalBackupTags = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeDataRepositoryAssociationsInput) SetNextToken(v string) *DescribeDataRepositoryAssociationsInput { + s.NextToken = &v return s } -// The response object for the DeleteFileSystem operation. -type DeleteFileSystemOutput struct { +type DescribeDataRepositoryAssociationsOutput struct { _ struct{} `type:"structure"` - // The ID of the file system being deleted. - FileSystemId *string `min:"11" type:"string"` - - // The file system lifecycle for the deletion request. Should be DELETING. - Lifecycle *string `type:"string" enum:"FileSystemLifecycle"` - - // The response object for the Amazon FSx for Lustre file system being deleted - // in the DeleteFileSystem operation. - LustreResponse *DeleteFileSystemLustreResponse `type:"structure"` + // An array of one ore more data repository association descriptions. + Associations []*DataRepositoryAssociation `type:"list"` - // The response object for the Microsoft Windows file system used in the DeleteFileSystem - // operation. - WindowsResponse *DeleteFileSystemWindowsResponse `type:"structure"` + // (Optional) Opaque pagination token returned from a previous operation (String). + // If present, this token indicates from what point you can continue processing + // the request, where the previous NextToken value left off. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -7953,7 +11524,7 @@ type DeleteFileSystemOutput 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 DeleteFileSystemOutput) String() string { +func (s DescribeDataRepositoryAssociationsOutput) String() string { return awsutil.Prettify(s) } @@ -7962,47 +11533,41 @@ func (s DeleteFileSystemOutput) 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 DeleteFileSystemOutput) GoString() string { +func (s DescribeDataRepositoryAssociationsOutput) GoString() string { return s.String() } -// SetFileSystemId sets the FileSystemId field's value. -func (s *DeleteFileSystemOutput) SetFileSystemId(v string) *DeleteFileSystemOutput { - s.FileSystemId = &v +// SetAssociations sets the Associations field's value. +func (s *DescribeDataRepositoryAssociationsOutput) SetAssociations(v []*DataRepositoryAssociation) *DescribeDataRepositoryAssociationsOutput { + s.Associations = v return s } -// SetLifecycle sets the Lifecycle field's value. -func (s *DeleteFileSystemOutput) SetLifecycle(v string) *DeleteFileSystemOutput { - s.Lifecycle = &v +// SetNextToken sets the NextToken field's value. +func (s *DescribeDataRepositoryAssociationsOutput) SetNextToken(v string) *DescribeDataRepositoryAssociationsOutput { + s.NextToken = &v return s } -// SetLustreResponse sets the LustreResponse field's value. -func (s *DeleteFileSystemOutput) SetLustreResponse(v *DeleteFileSystemLustreResponse) *DeleteFileSystemOutput { - s.LustreResponse = v - return s -} +type DescribeDataRepositoryTasksInput struct { + _ struct{} `type:"structure"` -// SetWindowsResponse sets the WindowsResponse field's value. -func (s *DeleteFileSystemOutput) SetWindowsResponse(v *DeleteFileSystemWindowsResponse) *DeleteFileSystemOutput { - s.WindowsResponse = v - return s -} + // (Optional) You can use filters to narrow the DescribeDataRepositoryTasks + // response to include just tasks for specific file systems, or tasks in a specific + // lifecycle state. + Filters []*DataRepositoryTaskFilter `type:"list"` -// The configuration object for the Microsoft Windows file system used in the -// DeleteFileSystem operation. -type DeleteFileSystemWindowsConfiguration struct { - _ struct{} `type:"structure"` + // The maximum number of resources to return in the response. This value must + // be an integer greater than zero. + MaxResults *int64 `min:"1" type:"integer"` - // A set of tags for your final backup. - FinalBackupTags []*Tag `min:"1" type:"list"` + // (Optional) Opaque pagination token returned from a previous operation (String). + // If present, this token indicates from what point you can continue processing + // the request, where the previous NextToken value left off. + NextToken *string `min:"1" type:"string"` - // By default, Amazon FSx for Windows takes a final backup on your behalf when - // the DeleteFileSystem operation is invoked. Doing this helps protect you from - // data loss, and we highly recommend taking the final backup. If you want to - // skip this backup, use this flag to do so. - SkipFinalBackup *bool `type:"boolean"` + // (Optional) IDs of the tasks whose descriptions you want to retrieve (String). + TaskIds []*string `type:"list"` } // String returns the string representation. @@ -8010,7 +11575,7 @@ type DeleteFileSystemWindowsConfiguration 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 DeleteFileSystemWindowsConfiguration) String() string { +func (s DescribeDataRepositoryTasksInput) String() string { return awsutil.Prettify(s) } @@ -8019,25 +11584,18 @@ func (s DeleteFileSystemWindowsConfiguration) 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 DeleteFileSystemWindowsConfiguration) GoString() string { +func (s DescribeDataRepositoryTasksInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteFileSystemWindowsConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteFileSystemWindowsConfiguration"} - if s.FinalBackupTags != nil && len(s.FinalBackupTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FinalBackupTags", 1)) +func (s *DescribeDataRepositoryTasksInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeDataRepositoryTasksInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.FinalBackupTags != nil { - for i, v := range s.FinalBackupTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FinalBackupTags", i), err.(request.ErrInvalidParams)) - } - } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } if invalidParams.Len() > 0 { @@ -8046,28 +11604,40 @@ func (s *DeleteFileSystemWindowsConfiguration) Validate() error { return nil } -// SetFinalBackupTags sets the FinalBackupTags field's value. -func (s *DeleteFileSystemWindowsConfiguration) SetFinalBackupTags(v []*Tag) *DeleteFileSystemWindowsConfiguration { - s.FinalBackupTags = v +// SetFilters sets the Filters field's value. +func (s *DescribeDataRepositoryTasksInput) SetFilters(v []*DataRepositoryTaskFilter) *DescribeDataRepositoryTasksInput { + s.Filters = v return s } -// SetSkipFinalBackup sets the SkipFinalBackup field's value. -func (s *DeleteFileSystemWindowsConfiguration) SetSkipFinalBackup(v bool) *DeleteFileSystemWindowsConfiguration { - s.SkipFinalBackup = &v +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeDataRepositoryTasksInput) SetMaxResults(v int64) *DescribeDataRepositoryTasksInput { + s.MaxResults = &v return s } -// The response object for the Microsoft Windows file system used in the DeleteFileSystem -// operation. -type DeleteFileSystemWindowsResponse struct { +// SetNextToken sets the NextToken field's value. +func (s *DescribeDataRepositoryTasksInput) SetNextToken(v string) *DescribeDataRepositoryTasksInput { + s.NextToken = &v + return s +} + +// SetTaskIds sets the TaskIds field's value. +func (s *DescribeDataRepositoryTasksInput) SetTaskIds(v []*string) *DescribeDataRepositoryTasksInput { + s.TaskIds = v + return s +} + +type DescribeDataRepositoryTasksOutput struct { _ struct{} `type:"structure"` - // The ID of the final backup for this file system. - FinalBackupId *string `min:"12" type:"string"` + // The collection of data repository task descriptions returned. + DataRepositoryTasks []*DataRepositoryTask `type:"list"` - // The set of tags applied to the final backup. - FinalBackupTags []*Tag `min:"1" type:"list"` + // (Optional) Opaque pagination token returned from a previous operation (String). + // If present, this token indicates from what point you can continue processing + // the request, where the previous NextToken value left off. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -8075,7 +11645,7 @@ type DeleteFileSystemWindowsResponse 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 DeleteFileSystemWindowsResponse) String() string { +func (s DescribeDataRepositoryTasksOutput) String() string { return awsutil.Prettify(s) } @@ -8084,23 +11654,24 @@ func (s DeleteFileSystemWindowsResponse) 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 DeleteFileSystemWindowsResponse) GoString() string { +func (s DescribeDataRepositoryTasksOutput) GoString() string { return s.String() } -// SetFinalBackupId sets the FinalBackupId field's value. -func (s *DeleteFileSystemWindowsResponse) SetFinalBackupId(v string) *DeleteFileSystemWindowsResponse { - s.FinalBackupId = &v +// SetDataRepositoryTasks sets the DataRepositoryTasks field's value. +func (s *DescribeDataRepositoryTasksOutput) SetDataRepositoryTasks(v []*DataRepositoryTask) *DescribeDataRepositoryTasksOutput { + s.DataRepositoryTasks = v return s } -// SetFinalBackupTags sets the FinalBackupTags field's value. -func (s *DeleteFileSystemWindowsResponse) SetFinalBackupTags(v []*Tag) *DeleteFileSystemWindowsResponse { - s.FinalBackupTags = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeDataRepositoryTasksOutput) SetNextToken(v string) *DescribeDataRepositoryTasksOutput { + s.NextToken = &v return s } -type DeleteStorageVirtualMachineInput struct { +// The request object for DescribeFileSystemAliases operation. +type DescribeFileSystemAliasesInput struct { _ struct{} `type:"structure"` // (Optional) An idempotency token for resource creation, in a string of up @@ -8108,10 +11679,21 @@ type DeleteStorageVirtualMachineInput struct { // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // The ID of the SVM that you want to delete. + // The ID of the file system to return the associated DNS aliases for (String). // - // StorageVirtualMachineId is a required field - StorageVirtualMachineId *string `min:"21" type:"string" required:"true"` + // FileSystemId is a required field + FileSystemId *string `min:"11" type:"string" required:"true"` + + // Maximum number of DNS aliases to return in the response (integer). This parameter + // value must be greater than 0. The number of items that Amazon FSx returns + // is the minimum of the MaxResults parameter specified in the request and the + // service's internal maximum number of items per page. + MaxResults *int64 `min:"1" type:"integer"` + + // Opaque pagination token returned from a previous DescribeFileSystemAliases + // operation (String). If a token is included in the request, the action continues + // the list from where the previous returning call left off. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -8119,7 +11701,7 @@ type DeleteStorageVirtualMachineInput 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 DeleteStorageVirtualMachineInput) String() string { +func (s DescribeFileSystemAliasesInput) String() string { return awsutil.Prettify(s) } @@ -8128,21 +11710,27 @@ func (s DeleteStorageVirtualMachineInput) 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 DeleteStorageVirtualMachineInput) GoString() string { +func (s DescribeFileSystemAliasesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteStorageVirtualMachineInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteStorageVirtualMachineInput"} +func (s *DescribeFileSystemAliasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeFileSystemAliasesInput"} if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } - if s.StorageVirtualMachineId == nil { - invalidParams.Add(request.NewErrParamRequired("StorageVirtualMachineId")) + if s.FileSystemId == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemId")) } - if s.StorageVirtualMachineId != nil && len(*s.StorageVirtualMachineId) < 21 { - invalidParams.Add(request.NewErrParamMinLen("StorageVirtualMachineId", 21)) + if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) + } + 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 { @@ -8152,25 +11740,40 @@ func (s *DeleteStorageVirtualMachineInput) Validate() error { } // SetClientRequestToken sets the ClientRequestToken field's value. -func (s *DeleteStorageVirtualMachineInput) SetClientRequestToken(v string) *DeleteStorageVirtualMachineInput { +func (s *DescribeFileSystemAliasesInput) SetClientRequestToken(v string) *DescribeFileSystemAliasesInput { s.ClientRequestToken = &v return s } -// SetStorageVirtualMachineId sets the StorageVirtualMachineId field's value. -func (s *DeleteStorageVirtualMachineInput) SetStorageVirtualMachineId(v string) *DeleteStorageVirtualMachineInput { - s.StorageVirtualMachineId = &v +// SetFileSystemId sets the FileSystemId field's value. +func (s *DescribeFileSystemAliasesInput) SetFileSystemId(v string) *DescribeFileSystemAliasesInput { + s.FileSystemId = &v return s } -type DeleteStorageVirtualMachineOutput struct { +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeFileSystemAliasesInput) SetMaxResults(v int64) *DescribeFileSystemAliasesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *DescribeFileSystemAliasesInput) SetNextToken(v string) *DescribeFileSystemAliasesInput { + s.NextToken = &v + return s +} + +// The response object for DescribeFileSystemAliases operation. +type DescribeFileSystemAliasesOutput struct { _ struct{} `type:"structure"` - // Describes the lifecycle state of the SVM being deleted. - Lifecycle *string `type:"string" enum:"StorageVirtualMachineLifecycle"` + // An array of one or more DNS aliases currently associated with the specified + // file system. + Aliases []*Alias `type:"list"` - // The ID of the SVM Amazon FSx is deleting. - StorageVirtualMachineId *string `min:"21" type:"string"` + // Present if there are more DNS aliases than returned in the response (String). + // You can use the NextToken value in a later request to fetch additional descriptions. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -8178,7 +11781,7 @@ type DeleteStorageVirtualMachineOutput 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 DeleteStorageVirtualMachineOutput) String() string { +func (s DescribeFileSystemAliasesOutput) String() string { return awsutil.Prettify(s) } @@ -8187,38 +11790,39 @@ func (s DeleteStorageVirtualMachineOutput) 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 DeleteStorageVirtualMachineOutput) GoString() string { +func (s DescribeFileSystemAliasesOutput) GoString() string { return s.String() } -// SetLifecycle sets the Lifecycle field's value. -func (s *DeleteStorageVirtualMachineOutput) SetLifecycle(v string) *DeleteStorageVirtualMachineOutput { - s.Lifecycle = &v +// SetAliases sets the Aliases field's value. +func (s *DescribeFileSystemAliasesOutput) SetAliases(v []*Alias) *DescribeFileSystemAliasesOutput { + s.Aliases = v return s } -// SetStorageVirtualMachineId sets the StorageVirtualMachineId field's value. -func (s *DeleteStorageVirtualMachineOutput) SetStorageVirtualMachineId(v string) *DeleteStorageVirtualMachineOutput { - s.StorageVirtualMachineId = &v +// SetNextToken sets the NextToken field's value. +func (s *DescribeFileSystemAliasesOutput) SetNextToken(v string) *DescribeFileSystemAliasesOutput { + s.NextToken = &v return s } -type DeleteVolumeInput struct { +// The request object for DescribeFileSystems operation. +type DescribeFileSystemsInput struct { _ struct{} `type:"structure"` - // (Optional) An idempotency token for resource creation, in a string of up - // to 64 ASCII characters. This token is automatically filled on your behalf - // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. - ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + // IDs of the file systems whose descriptions you want to retrieve (String). + FileSystemIds []*string `type:"list"` - // For Amazon FSx for ONTAP volumes, specify whether to take a final backup - // of the volume, and apply tags to the backup. - OntapConfiguration *DeleteVolumeOntapConfiguration `type:"structure"` + // Maximum number of file systems to return in the response (integer). This + // parameter value must be greater than 0. The number of items that Amazon FSx + // returns is the minimum of the MaxResults parameter specified in the request + // and the service's internal maximum number of items per page. + MaxResults *int64 `min:"1" type:"integer"` - // The ID of the volume you are deleting. - // - // VolumeId is a required field - VolumeId *string `min:"23" type:"string" required:"true"` + // Opaque pagination token returned from a previous DescribeFileSystems operation + // (String). If a token present, the operation continues the list from where + // the returning call left off. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -8226,7 +11830,7 @@ type DeleteVolumeInput 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 DeleteVolumeInput) String() string { +func (s DescribeFileSystemsInput) String() string { return awsutil.Prettify(s) } @@ -8235,26 +11839,18 @@ func (s DeleteVolumeInput) 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 DeleteVolumeInput) GoString() string { +func (s DescribeFileSystemsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteVolumeInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeInput"} - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) - } - if s.VolumeId == nil { - invalidParams.Add(request.NewErrParamRequired("VolumeId")) - } - if s.VolumeId != nil && len(*s.VolumeId) < 23 { - invalidParams.Add(request.NewErrParamMinLen("VolumeId", 23)) +func (s *DescribeFileSystemsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeFileSystemsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.OntapConfiguration != nil { - if err := s.OntapConfiguration.Validate(); err != nil { - invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams)) - } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } if invalidParams.Len() > 0 { @@ -8263,34 +11859,34 @@ func (s *DeleteVolumeInput) Validate() error { return nil } -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *DeleteVolumeInput) SetClientRequestToken(v string) *DeleteVolumeInput { - s.ClientRequestToken = &v +// SetFileSystemIds sets the FileSystemIds field's value. +func (s *DescribeFileSystemsInput) SetFileSystemIds(v []*string) *DescribeFileSystemsInput { + s.FileSystemIds = v return s } -// SetOntapConfiguration sets the OntapConfiguration field's value. -func (s *DeleteVolumeInput) SetOntapConfiguration(v *DeleteVolumeOntapConfiguration) *DeleteVolumeInput { - s.OntapConfiguration = v +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeFileSystemsInput) SetMaxResults(v int64) *DescribeFileSystemsInput { + s.MaxResults = &v return s } -// SetVolumeId sets the VolumeId field's value. -func (s *DeleteVolumeInput) SetVolumeId(v string) *DeleteVolumeInput { - s.VolumeId = &v +// SetNextToken sets the NextToken field's value. +func (s *DescribeFileSystemsInput) SetNextToken(v string) *DescribeFileSystemsInput { + s.NextToken = &v return s } -// Use to specify skipping a final backup, or to add tags to a final backup. -type DeleteVolumeOntapConfiguration struct { +// The response object for DescribeFileSystems operation. +type DescribeFileSystemsOutput struct { _ struct{} `type:"structure"` - // A list of Tag values, with a maximum of 50 elements. - FinalBackupTags []*Tag `min:"1" type:"list"` + // An array of file system descriptions. + FileSystems []*FileSystem `type:"list"` - // Set to true if you want to skip taking a final backup of the volume you are - // deleting. - SkipFinalBackup *bool `type:"boolean"` + // Present if there are more file systems than returned in the response (String). + // You can use the NextToken value in the later request to fetch the descriptions. + NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -8298,7 +11894,7 @@ type DeleteVolumeOntapConfiguration 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 DeleteVolumeOntapConfiguration) String() string { +func (s DescribeFileSystemsOutput) String() string { return awsutil.Prettify(s) } @@ -8307,55 +11903,41 @@ func (s DeleteVolumeOntapConfiguration) 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 DeleteVolumeOntapConfiguration) GoString() string { +func (s DescribeFileSystemsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteVolumeOntapConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteVolumeOntapConfiguration"} - if s.FinalBackupTags != nil && len(s.FinalBackupTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FinalBackupTags", 1)) - } - if s.FinalBackupTags != nil { - for i, v := range s.FinalBackupTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FinalBackupTags", i), err.(request.ErrInvalidParams)) - } - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetFinalBackupTags sets the FinalBackupTags field's value. -func (s *DeleteVolumeOntapConfiguration) SetFinalBackupTags(v []*Tag) *DeleteVolumeOntapConfiguration { - s.FinalBackupTags = v +// SetFileSystems sets the FileSystems field's value. +func (s *DescribeFileSystemsOutput) SetFileSystems(v []*FileSystem) *DescribeFileSystemsOutput { + s.FileSystems = v return s } -// SetSkipFinalBackup sets the SkipFinalBackup field's value. -func (s *DeleteVolumeOntapConfiguration) SetSkipFinalBackup(v bool) *DeleteVolumeOntapConfiguration { - s.SkipFinalBackup = &v +// SetNextToken sets the NextToken field's value. +func (s *DescribeFileSystemsOutput) SetNextToken(v string) *DescribeFileSystemsOutput { + s.NextToken = &v return s } -// The response object for the Amazon FSx for NetApp ONTAP volume being deleted -// in the DeleteVolume operation. -type DeleteVolumeOntapResponse struct { +type DescribeSnapshotsInput struct { _ struct{} `type:"structure"` - // The ID of the source backup. Specifies the backup you are copying. - FinalBackupId *string `min:"12" type:"string"` + // The filters structure. The supported names are file-system-id or volume-id. + Filters []*SnapshotFilter `type:"list"` - // A list of Tag values, with a maximum of 50 elements. - FinalBackupTags []*Tag `min:"1" type:"list"` + // The maximum number of resources to return in the response. This value must + // be an integer greater than zero. + MaxResults *int64 `min:"1" type:"integer"` + + // (Optional) Opaque pagination token returned from a previous operation (String). + // If present, this token indicates from what point you can continue processing + // the request, where the previous NextToken value left off. + NextToken *string `min:"1" type:"string"` + + // The IDs of the snapshots that you want to retrieve. This parameter value + // overrides any filters. If any IDs aren't found, a SnapshotNotFound error + // occurs. + SnapshotIds []*string `type:"list"` } // String returns the string representation. @@ -8363,7 +11945,7 @@ type DeleteVolumeOntapResponse 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 DeleteVolumeOntapResponse) String() string { +func (s DescribeSnapshotsInput) String() string { return awsutil.Prettify(s) } @@ -8372,33 +11954,60 @@ func (s DeleteVolumeOntapResponse) 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 DeleteVolumeOntapResponse) GoString() string { +func (s DescribeSnapshotsInput) GoString() string { return s.String() } -// SetFinalBackupId sets the FinalBackupId field's value. -func (s *DeleteVolumeOntapResponse) SetFinalBackupId(v string) *DeleteVolumeOntapResponse { - s.FinalBackupId = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeSnapshotsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeSnapshotsInput"} + 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 +} + +// SetFilters sets the Filters field's value. +func (s *DescribeSnapshotsInput) SetFilters(v []*SnapshotFilter) *DescribeSnapshotsInput { + s.Filters = v return s } -// SetFinalBackupTags sets the FinalBackupTags field's value. -func (s *DeleteVolumeOntapResponse) SetFinalBackupTags(v []*Tag) *DeleteVolumeOntapResponse { - s.FinalBackupTags = v +// SetMaxResults sets the MaxResults field's value. +func (s *DescribeSnapshotsInput) SetMaxResults(v int64) *DescribeSnapshotsInput { + s.MaxResults = &v return s } -type DeleteVolumeOutput struct { - _ struct{} `type:"structure"` +// SetNextToken sets the NextToken field's value. +func (s *DescribeSnapshotsInput) SetNextToken(v string) *DescribeSnapshotsInput { + s.NextToken = &v + return s +} - // Describes the lifecycle state of the volume being deleted. - Lifecycle *string `type:"string" enum:"VolumeLifecycle"` +// SetSnapshotIds sets the SnapshotIds field's value. +func (s *DescribeSnapshotsInput) SetSnapshotIds(v []*string) *DescribeSnapshotsInput { + s.SnapshotIds = v + return s +} - // Returned after a DeleteVolume request, showing the status of the delete request. - OntapResponse *DeleteVolumeOntapResponse `type:"structure"` +type DescribeSnapshotsOutput struct { + _ struct{} `type:"structure"` - // The ID of the volume being deleted. - VolumeId *string `min:"23" type:"string"` + // (Optional) Opaque pagination token returned from a previous operation (String). + // If present, this token indicates from what point you can continue processing + // the request, where the previous NextToken value left off. + NextToken *string `min:"1" type:"string"` + + // An array of snapshots. + Snapshots []*Snapshot `type:"list"` } // String returns the string representation. @@ -8406,7 +12015,7 @@ type DeleteVolumeOutput 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 DeleteVolumeOutput) String() string { +func (s DescribeSnapshotsOutput) String() string { return awsutil.Prettify(s) } @@ -8415,50 +12024,39 @@ func (s DeleteVolumeOutput) 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 DeleteVolumeOutput) GoString() string { +func (s DescribeSnapshotsOutput) GoString() string { return s.String() } -// SetLifecycle sets the Lifecycle field's value. -func (s *DeleteVolumeOutput) SetLifecycle(v string) *DeleteVolumeOutput { - s.Lifecycle = &v - return s -} - -// SetOntapResponse sets the OntapResponse field's value. -func (s *DeleteVolumeOutput) SetOntapResponse(v *DeleteVolumeOntapResponse) *DeleteVolumeOutput { - s.OntapResponse = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeSnapshotsOutput) SetNextToken(v string) *DescribeSnapshotsOutput { + s.NextToken = &v return s } -// SetVolumeId sets the VolumeId field's value. -func (s *DeleteVolumeOutput) SetVolumeId(v string) *DeleteVolumeOutput { - s.VolumeId = &v +// SetSnapshots sets the Snapshots field's value. +func (s *DescribeSnapshotsOutput) SetSnapshots(v []*Snapshot) *DescribeSnapshotsOutput { + s.Snapshots = v return s } -// The request object for DescribeBackups operation. -type DescribeBackupsInput struct { +type DescribeStorageVirtualMachinesInput struct { _ struct{} `type:"structure"` - // IDs of the backups you want to retrieve (String). This overrides any filters. - // If any IDs are not found, BackupNotFound will be thrown. - BackupIds []*string `type:"list"` - - // Filters structure. Supported names are file-system-id, backup-type, file-system-type, - // and volume-id. - Filters []*Filter `type:"list"` + // Enter a filter name:value pair to view a select set of SVMs. + Filters []*StorageVirtualMachineFilter `type:"list"` - // Maximum number of backups to return in the response (integer). This parameter - // value must be greater than 0. The number of items that Amazon FSx returns - // is the minimum of the MaxResults parameter specified in the request and the - // service's internal maximum number of items per page. + // The maximum number of resources to return in the response. This value must + // be an integer greater than zero. MaxResults *int64 `min:"1" type:"integer"` - // Opaque pagination token returned from a previous DescribeBackups operation - // (String). If a token present, the action continues the list from where the - // returning call left off. + // (Optional) Opaque pagination token returned from a previous operation (String). + // If present, this token indicates from what point you can continue processing + // the request, where the previous NextToken value left off. NextToken *string `min:"1" type:"string"` + + // Enter the ID of one or more SVMs that you want to view. + StorageVirtualMachineIds []*string `type:"list"` } // String returns the string representation. @@ -8466,7 +12064,7 @@ type DescribeBackupsInput 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 DescribeBackupsInput) String() string { +func (s DescribeStorageVirtualMachinesInput) String() string { return awsutil.Prettify(s) } @@ -8475,13 +12073,13 @@ func (s DescribeBackupsInput) 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 DescribeBackupsInput) GoString() string { +func (s DescribeStorageVirtualMachinesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeBackupsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeBackupsInput"} +func (s *DescribeStorageVirtualMachinesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStorageVirtualMachinesInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -8495,40 +12093,41 @@ func (s *DescribeBackupsInput) Validate() error { return nil } -// SetBackupIds sets the BackupIds field's value. -func (s *DescribeBackupsInput) SetBackupIds(v []*string) *DescribeBackupsInput { - s.BackupIds = v - return s -} - // SetFilters sets the Filters field's value. -func (s *DescribeBackupsInput) SetFilters(v []*Filter) *DescribeBackupsInput { +func (s *DescribeStorageVirtualMachinesInput) SetFilters(v []*StorageVirtualMachineFilter) *DescribeStorageVirtualMachinesInput { s.Filters = v return s } // SetMaxResults sets the MaxResults field's value. -func (s *DescribeBackupsInput) SetMaxResults(v int64) *DescribeBackupsInput { +func (s *DescribeStorageVirtualMachinesInput) SetMaxResults(v int64) *DescribeStorageVirtualMachinesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *DescribeBackupsInput) SetNextToken(v string) *DescribeBackupsInput { +func (s *DescribeStorageVirtualMachinesInput) SetNextToken(v string) *DescribeStorageVirtualMachinesInput { s.NextToken = &v return s } -// Response object for DescribeBackups operation. -type DescribeBackupsOutput struct { - _ struct{} `type:"structure"` +// SetStorageVirtualMachineIds sets the StorageVirtualMachineIds field's value. +func (s *DescribeStorageVirtualMachinesInput) SetStorageVirtualMachineIds(v []*string) *DescribeStorageVirtualMachinesInput { + s.StorageVirtualMachineIds = v + return s +} - // An array of backups. - Backups []*Backup `type:"list"` +type DescribeStorageVirtualMachinesOutput struct { + _ struct{} `type:"structure"` - // This is present if there are more backups than returned in the response (String). - // You can use the NextToken value in the later request to fetch the backups. + // (Optional) Opaque pagination token returned from a previous operation (String). + // If present, this token indicates from what point you can continue processing + // the request, where the previous NextToken value left off. NextToken *string `min:"1" type:"string"` + + // Returned after a successful DescribeStorageVirtualMachines operation, describing + // each SVM. + StorageVirtualMachines []*StorageVirtualMachine `type:"list"` } // String returns the string representation. @@ -8536,7 +12135,7 @@ type DescribeBackupsOutput 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 DescribeBackupsOutput) String() string { +func (s DescribeStorageVirtualMachinesOutput) String() string { return awsutil.Prettify(s) } @@ -8545,29 +12144,27 @@ func (s DescribeBackupsOutput) 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 DescribeBackupsOutput) GoString() string { +func (s DescribeStorageVirtualMachinesOutput) GoString() string { return s.String() } -// SetBackups sets the Backups field's value. -func (s *DescribeBackupsOutput) SetBackups(v []*Backup) *DescribeBackupsOutput { - s.Backups = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeStorageVirtualMachinesOutput) SetNextToken(v string) *DescribeStorageVirtualMachinesOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeBackupsOutput) SetNextToken(v string) *DescribeBackupsOutput { - s.NextToken = &v +// SetStorageVirtualMachines sets the StorageVirtualMachines field's value. +func (s *DescribeStorageVirtualMachinesOutput) SetStorageVirtualMachines(v []*StorageVirtualMachine) *DescribeStorageVirtualMachinesOutput { + s.StorageVirtualMachines = v return s } -type DescribeDataRepositoryTasksInput struct { +type DescribeVolumesInput struct { _ struct{} `type:"structure"` - // (Optional) You can use filters to narrow the DescribeDataRepositoryTasks - // response to include just tasks for specific file systems, or tasks in a specific - // lifecycle state. - Filters []*DataRepositoryTaskFilter `type:"list"` + // Enter a filter Name and Values pair to view a select set of volumes. + Filters []*VolumeFilter `type:"list"` // The maximum number of resources to return in the response. This value must // be an integer greater than zero. @@ -8578,8 +12175,8 @@ type DescribeDataRepositoryTasksInput struct { // the request, where the previous NextToken value left off. NextToken *string `min:"1" type:"string"` - // (Optional) IDs of the tasks whose descriptions you want to retrieve (String). - TaskIds []*string `type:"list"` + // The IDs of the volumes whose descriptions you want to retrieve. + VolumeIds []*string `type:"list"` } // String returns the string representation. @@ -8587,7 +12184,7 @@ type DescribeDataRepositoryTasksInput 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 DescribeDataRepositoryTasksInput) String() string { +func (s DescribeVolumesInput) String() string { return awsutil.Prettify(s) } @@ -8596,13 +12193,13 @@ func (s DescribeDataRepositoryTasksInput) 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 DescribeDataRepositoryTasksInput) GoString() string { +func (s DescribeVolumesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeDataRepositoryTasksInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeDataRepositoryTasksInput"} +func (s *DescribeVolumesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeVolumesInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -8617,39 +12214,39 @@ func (s *DescribeDataRepositoryTasksInput) Validate() error { } // SetFilters sets the Filters field's value. -func (s *DescribeDataRepositoryTasksInput) SetFilters(v []*DataRepositoryTaskFilter) *DescribeDataRepositoryTasksInput { +func (s *DescribeVolumesInput) SetFilters(v []*VolumeFilter) *DescribeVolumesInput { s.Filters = v return s } // SetMaxResults sets the MaxResults field's value. -func (s *DescribeDataRepositoryTasksInput) SetMaxResults(v int64) *DescribeDataRepositoryTasksInput { +func (s *DescribeVolumesInput) SetMaxResults(v int64) *DescribeVolumesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *DescribeDataRepositoryTasksInput) SetNextToken(v string) *DescribeDataRepositoryTasksInput { +func (s *DescribeVolumesInput) SetNextToken(v string) *DescribeVolumesInput { s.NextToken = &v return s } -// SetTaskIds sets the TaskIds field's value. -func (s *DescribeDataRepositoryTasksInput) SetTaskIds(v []*string) *DescribeDataRepositoryTasksInput { - s.TaskIds = v +// SetVolumeIds sets the VolumeIds field's value. +func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput { + s.VolumeIds = v return s } -type DescribeDataRepositoryTasksOutput struct { +type DescribeVolumesOutput struct { _ struct{} `type:"structure"` - // The collection of data repository task descriptions returned. - DataRepositoryTasks []*DataRepositoryTask `type:"list"` - // (Optional) Opaque pagination token returned from a previous operation (String). // If present, this token indicates from what point you can continue processing // the request, where the previous NextToken value left off. NextToken *string `min:"1" type:"string"` + + // Returned after a successful DescribeVolumes operation, describing each volume. + Volumes []*Volume `type:"list"` } // String returns the string representation. @@ -8657,7 +12254,7 @@ type DescribeDataRepositoryTasksOutput 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 DescribeDataRepositoryTasksOutput) String() string { +func (s DescribeVolumesOutput) String() string { return awsutil.Prettify(s) } @@ -8666,46 +12263,42 @@ func (s DescribeDataRepositoryTasksOutput) 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 DescribeDataRepositoryTasksOutput) GoString() string { +func (s DescribeVolumesOutput) GoString() string { return s.String() } -// SetDataRepositoryTasks sets the DataRepositoryTasks field's value. -func (s *DescribeDataRepositoryTasksOutput) SetDataRepositoryTasks(v []*DataRepositoryTask) *DescribeDataRepositoryTasksOutput { - s.DataRepositoryTasks = v +// SetNextToken sets the NextToken field's value. +func (s *DescribeVolumesOutput) SetNextToken(v string) *DescribeVolumesOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeDataRepositoryTasksOutput) SetNextToken(v string) *DescribeDataRepositoryTasksOutput { - s.NextToken = &v +// SetVolumes sets the Volumes field's value. +func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput { + s.Volumes = v return s } -// The request object for DescribeFileSystemAliases operation. -type DescribeFileSystemAliasesInput struct { +// The request object of DNS aliases to disassociate from an Amazon FSx for +// Windows File Server file system. +type DisassociateFileSystemAliasesInput struct { _ struct{} `type:"structure"` + // An array of one or more DNS alias names to disassociate, or remove, from + // the file system. + // + // Aliases is a required field + Aliases []*string `type:"list" required:"true"` + // (Optional) An idempotency token for resource creation, in a string of up // to 64 ASCII characters. This token is automatically filled on your behalf // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // The ID of the file system to return the associated DNS aliases for (String). + // Specifies the file system from which to disassociate the DNS aliases. // // FileSystemId is a required field FileSystemId *string `min:"11" type:"string" required:"true"` - - // Maximum number of DNS aliases to return in the response (integer). This parameter - // value must be greater than 0. The number of items that Amazon FSx returns - // is the minimum of the MaxResults parameter specified in the request and the - // service's internal maximum number of items per page. - MaxResults *int64 `min:"1" type:"integer"` - - // Opaque pagination token returned from a previous DescribeFileSystemAliases - // operation (String). If a token is included in the request, the action continues - // the list from where the previous returning call left off. - NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -8713,7 +12306,7 @@ type DescribeFileSystemAliasesInput 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 DescribeFileSystemAliasesInput) String() string { +func (s DisassociateFileSystemAliasesInput) String() string { return awsutil.Prettify(s) } @@ -8722,13 +12315,16 @@ func (s DescribeFileSystemAliasesInput) 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 DescribeFileSystemAliasesInput) GoString() string { +func (s DisassociateFileSystemAliasesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeFileSystemAliasesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeFileSystemAliasesInput"} +func (s *DisassociateFileSystemAliasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateFileSystemAliasesInput"} + if s.Aliases == nil { + invalidParams.Add(request.NewErrParamRequired("Aliases")) + } if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } @@ -8738,12 +12334,6 @@ func (s *DescribeFileSystemAliasesInput) Validate() error { if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) } - 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 @@ -8751,41 +12341,33 @@ func (s *DescribeFileSystemAliasesInput) Validate() error { return nil } +// SetAliases sets the Aliases field's value. +func (s *DisassociateFileSystemAliasesInput) SetAliases(v []*string) *DisassociateFileSystemAliasesInput { + s.Aliases = v + return s +} + // SetClientRequestToken sets the ClientRequestToken field's value. -func (s *DescribeFileSystemAliasesInput) SetClientRequestToken(v string) *DescribeFileSystemAliasesInput { +func (s *DisassociateFileSystemAliasesInput) SetClientRequestToken(v string) *DisassociateFileSystemAliasesInput { s.ClientRequestToken = &v return s } // SetFileSystemId sets the FileSystemId field's value. -func (s *DescribeFileSystemAliasesInput) SetFileSystemId(v string) *DescribeFileSystemAliasesInput { +func (s *DisassociateFileSystemAliasesInput) SetFileSystemId(v string) *DisassociateFileSystemAliasesInput { s.FileSystemId = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeFileSystemAliasesInput) SetMaxResults(v int64) *DescribeFileSystemAliasesInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeFileSystemAliasesInput) SetNextToken(v string) *DescribeFileSystemAliasesInput { - s.NextToken = &v - return s -} - -// The response object for DescribeFileSystemAliases operation. -type DescribeFileSystemAliasesOutput struct { +// The system generated response showing the DNS aliases that Amazon FSx is +// attempting to disassociate from the file system. Use the API operation to +// monitor the status of the aliases Amazon FSx is removing from the file system. +type DisassociateFileSystemAliasesOutput struct { _ struct{} `type:"structure"` - // An array of one or more DNS aliases currently associated with the specified - // file system. + // An array of one or more DNS aliases that Amazon FSx is attempting to disassociate + // from the file system. Aliases []*Alias `type:"list"` - - // Present if there are more DNS aliases than returned in the response (String). - // You can use the NextToken value in a later request to fetch additional descriptions. - NextToken *string `min:"1" type:"string"` } // String returns the string representation. @@ -8793,7 +12375,7 @@ type DescribeFileSystemAliasesOutput 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 DescribeFileSystemAliasesOutput) String() string { +func (s DisassociateFileSystemAliasesOutput) String() string { return awsutil.Prettify(s) } @@ -8802,39 +12384,30 @@ func (s DescribeFileSystemAliasesOutput) 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 DescribeFileSystemAliasesOutput) GoString() string { +func (s DisassociateFileSystemAliasesOutput) GoString() string { return s.String() } // SetAliases sets the Aliases field's value. -func (s *DescribeFileSystemAliasesOutput) SetAliases(v []*Alias) *DescribeFileSystemAliasesOutput { +func (s *DisassociateFileSystemAliasesOutput) SetAliases(v []*Alias) *DisassociateFileSystemAliasesOutput { s.Aliases = v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeFileSystemAliasesOutput) SetNextToken(v string) *DescribeFileSystemAliasesOutput { - s.NextToken = &v - return s -} - -// The request object for DescribeFileSystems operation. -type DescribeFileSystemsInput struct { +// The SSD IOPS (input/output operations per second) configuration for an Amazon +// FSx for NetApp ONTAP or Amazon FSx for OpenZFS 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 the total number of provisioned +// SSD IOPS and how the amount was provisioned (by the customer or by the system). +type DiskIopsConfiguration struct { _ struct{} `type:"structure"` - // IDs of the file systems whose descriptions you want to retrieve (String). - FileSystemIds []*string `type:"list"` - - // Maximum number of file systems to return in the response (integer). This - // parameter value must be greater than 0. The number of items that Amazon FSx - // returns is the minimum of the MaxResults parameter specified in the request - // and the service's internal maximum number of items per page. - MaxResults *int64 `min:"1" type:"integer"` + // The total number of SSD IOPS provisioned for the file system. + Iops *int64 `type:"long"` - // Opaque pagination token returned from a previous DescribeFileSystems operation - // (String). If a token present, the action continues the list from where the - // returning call left off. - NextToken *string `min:"1" type:"string"` + // Specifies whether the number of IOPS for the file system is using the system + // default (AUTOMATIC) or was provisioned by the customer (USER_PROVISIONED). + Mode *string `type:"string" enum:"DiskIopsConfigurationMode"` } // String returns the string representation. @@ -8842,7 +12415,7 @@ type DescribeFileSystemsInput 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 DescribeFileSystemsInput) String() string { +func (s DiskIopsConfiguration) String() string { return awsutil.Prettify(s) } @@ -8851,54 +12424,140 @@ func (s DescribeFileSystemsInput) 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 DescribeFileSystemsInput) GoString() string { +func (s DiskIopsConfiguration) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeFileSystemsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeFileSystemsInput"} - 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 -} - -// SetFileSystemIds sets the FileSystemIds field's value. -func (s *DescribeFileSystemsInput) SetFileSystemIds(v []*string) *DescribeFileSystemsInput { - s.FileSystemIds = v +// SetIops sets the Iops field's value. +func (s *DiskIopsConfiguration) SetIops(v int64) *DiskIopsConfiguration { + s.Iops = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeFileSystemsInput) SetMaxResults(v int64) *DescribeFileSystemsInput { - s.MaxResults = &v +// SetMode sets the Mode field's value. +func (s *DiskIopsConfiguration) SetMode(v string) *DiskIopsConfiguration { + s.Mode = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeFileSystemsInput) SetNextToken(v string) *DescribeFileSystemsInput { - s.NextToken = &v - return s -} +// A description of a specific Amazon FSx file system. +type FileSystem struct { + _ struct{} `type:"structure"` + + // A list of administrative actions for the file system that are in process + // or waiting to be processed. Administrative actions describe changes to the + // Amazon FSx system that you have initiated using the UpdateFileSystem operation. + AdministrativeActions []*AdministrativeAction `type:"list"` + + // The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z), + // also known as Unix time. + CreationTime *time.Time `type:"timestamp"` + + // The Domain Name System (DNS) name for the file system. + DNSName *string `min:"16" type:"string"` + + // A structure providing details of any failures that occurred when creating + // a file system. + FailureDetails *FileSystemFailureDetails `type:"structure"` + + // The system-generated, unique 17-digit ID of the file system. + FileSystemId *string `min:"11" type:"string"` + + // The type of Amazon FSx file system, which can be LUSTRE, WINDOWS, ONTAP, + // or OPENZFS. + FileSystemType *string `type:"string" enum:"FileSystemType"` + + // The Lustre version of the Amazon FSx for Lustrefile 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 + // data for Amazon FSx for Windows File Server file systems, Amazon FSx for + // NetApp ONTAP file systems, and PERSISTENT Amazon FSx for Lustre file systems + // at rest. If this ID isn't specified, the Amazon FSx-managed key for your + // account is used. The scratch Amazon FSx for Lustre file systems are always + // encrypted at rest using the Amazon FSx-managed key for your account. For + // more information, see Encrypt (https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) + // in the Key Management Service API Reference. + KmsKeyId *string `min:"1" type:"string"` + + // The lifecycle status of the file system. The following are the possible values + // and what they mean: + // + // * AVAILABLE - The file system is in a healthy state, and is reachable + // and available for use. + // + // * CREATING - Amazon FSx is creating the new file system. + // + // * DELETING - Amazon FSx is deleting an existing file system. + // + // * FAILED - An existing file system has experienced an unrecoverable failure. + // When creating a new file system, Amazon FSx was unable to create the file + // system. + // + // * MISCONFIGURED - The file system is in a failed but recoverable state. + // + // * UPDATING - The file system is undergoing a customer-initiated update. + Lifecycle *string `type:"string" enum:"FileSystemLifecycle"` + + // The configuration for the Amazon FSx for Lustre file system. + LustreConfiguration *LustreFileSystemConfiguration `type:"structure"` + + // The IDs of the elastic network interfaces from which a specific file system + // is accessible. The elastic network interface is automatically created in + // the same virtual private cloud (VPC) that the Amazon FSx file system was + // created in. For more information, see Elastic Network Interfaces (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) + // in the Amazon EC2 User Guide. + // + // For an Amazon FSx for Windows File Server file system, you can have one network + // interface ID. For an Amazon FSx for Lustre file system, you can have more + // than one. + NetworkInterfaceIds []*string `type:"list"` + + // The configuration for this FSx for ONTAP file system. + OntapConfiguration *OntapFileSystemConfiguration `type:"structure"` + + // The configuration for this Amazon FSx for OpenZFS file system. + OpenZFSConfiguration *OpenZFSFileSystemConfiguration `type:"structure"` + + // The Amazon Web Services account that created the file system. If the file + // system was created by an Identity and Access Management (IAM) user, the Amazon + // Web Services account to which the IAM user belongs is the owner. + OwnerId *string `min:"12" type:"string"` + + // The Amazon Resource Name (ARN) for the file system resource. + ResourceARN *string `min:"8" type:"string"` + + // The storage capacity of the file system in gibibytes (GiB). + StorageCapacity *int64 `type:"integer"` -// The response object for DescribeFileSystems operation. -type DescribeFileSystemsOutput struct { - _ struct{} `type:"structure"` + // 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. + StorageType *string `type:"string" enum:"StorageType"` - // An array of file system descriptions. - FileSystems []*FileSystem `type:"list"` + // Specifies the IDs of the subnets that the file system is accessible from. + // For the Amazon FSx Windows and ONTAP MULTI_AZ_1 file system deployment type, + // there are two subnet IDs, one for the preferred file server and one for the + // standby file server. The preferred file server subnet identified in the PreferredSubnetID + // property. All other file systems have only one subnet ID. + // + // For FSx for Lustre file systems, and Single-AZ Windows file systems, this + // is the ID of the subnet that contains the file system's endpoint. For MULTI_AZ_1 + // Windows and ONTAP file systems, the file system endpoint is available in + // the PreferredSubnetID. + SubnetIds []*string `type:"list"` - // Present if there are more file systems than returned in the response (String). - // You can use the NextToken value in the later request to fetch the descriptions. - NextToken *string `min:"1" type:"string"` + // The tags to associate with the file system. For more information, see Tagging + // your Amazon EC2 resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) + // in the Amazon EC2 User Guide. + Tags []*Tag `min:"1" type:"list"` + + // The ID of the primary virtual private cloud (VPC) for the file system. + VpcId *string `min:"12" type:"string"` + + // The configuration for this FSx for Windows File Server file system. + WindowsConfiguration *WindowsFileSystemConfiguration `type:"structure"` } // String returns the string representation. @@ -8906,7 +12565,7 @@ type DescribeFileSystemsOutput 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 DescribeFileSystemsOutput) String() string { +func (s FileSystem) String() string { return awsutil.Prettify(s) } @@ -8915,159 +12574,148 @@ func (s DescribeFileSystemsOutput) 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 DescribeFileSystemsOutput) GoString() string { +func (s FileSystem) GoString() string { return s.String() } -// SetFileSystems sets the FileSystems field's value. -func (s *DescribeFileSystemsOutput) SetFileSystems(v []*FileSystem) *DescribeFileSystemsOutput { - s.FileSystems = v +// SetAdministrativeActions sets the AdministrativeActions field's value. +func (s *FileSystem) SetAdministrativeActions(v []*AdministrativeAction) *FileSystem { + s.AdministrativeActions = v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeFileSystemsOutput) SetNextToken(v string) *DescribeFileSystemsOutput { - s.NextToken = &v +// SetCreationTime sets the CreationTime field's value. +func (s *FileSystem) SetCreationTime(v time.Time) *FileSystem { + s.CreationTime = &v return s } -type DescribeStorageVirtualMachinesInput struct { - _ struct{} `type:"structure"` - - // Enter a filter name:value pair to view a select set of SVMs. - Filters []*StorageVirtualMachineFilter `type:"list"` +// SetDNSName sets the DNSName field's value. +func (s *FileSystem) SetDNSName(v string) *FileSystem { + s.DNSName = &v + return s +} - // The maximum number of resources to return in the response. This value must - // be an integer greater than zero. - MaxResults *int64 `min:"1" type:"integer"` +// SetFailureDetails sets the FailureDetails field's value. +func (s *FileSystem) SetFailureDetails(v *FileSystemFailureDetails) *FileSystem { + s.FailureDetails = v + return s +} - // (Optional) Opaque pagination token returned from a previous operation (String). - // If present, this token indicates from what point you can continue processing - // the request, where the previous NextToken value left off. - NextToken *string `min:"1" type:"string"` +// SetFileSystemId sets the FileSystemId field's value. +func (s *FileSystem) SetFileSystemId(v string) *FileSystem { + s.FileSystemId = &v + return s +} - // Enter the ID of one or more SVMs that you want to view. - StorageVirtualMachineIds []*string `type:"list"` +// SetFileSystemType sets the FileSystemType field's value. +func (s *FileSystem) SetFileSystemType(v string) *FileSystem { + s.FileSystemType = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeStorageVirtualMachinesInput) String() string { - return awsutil.Prettify(s) +// SetFileSystemTypeVersion sets the FileSystemTypeVersion field's value. +func (s *FileSystem) SetFileSystemTypeVersion(v string) *FileSystem { + s.FileSystemTypeVersion = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeStorageVirtualMachinesInput) GoString() string { - return s.String() +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *FileSystem) SetKmsKeyId(v string) *FileSystem { + s.KmsKeyId = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeStorageVirtualMachinesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeStorageVirtualMachinesInput"} - 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)) - } +// SetLifecycle sets the Lifecycle field's value. +func (s *FileSystem) SetLifecycle(v string) *FileSystem { + s.Lifecycle = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetLustreConfiguration sets the LustreConfiguration field's value. +func (s *FileSystem) SetLustreConfiguration(v *LustreFileSystemConfiguration) *FileSystem { + s.LustreConfiguration = v + return s } -// SetFilters sets the Filters field's value. -func (s *DescribeStorageVirtualMachinesInput) SetFilters(v []*StorageVirtualMachineFilter) *DescribeStorageVirtualMachinesInput { - s.Filters = v +// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value. +func (s *FileSystem) SetNetworkInterfaceIds(v []*string) *FileSystem { + s.NetworkInterfaceIds = v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeStorageVirtualMachinesInput) SetMaxResults(v int64) *DescribeStorageVirtualMachinesInput { - s.MaxResults = &v +// SetOntapConfiguration sets the OntapConfiguration field's value. +func (s *FileSystem) SetOntapConfiguration(v *OntapFileSystemConfiguration) *FileSystem { + s.OntapConfiguration = v return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeStorageVirtualMachinesInput) SetNextToken(v string) *DescribeStorageVirtualMachinesInput { - s.NextToken = &v +// SetOpenZFSConfiguration sets the OpenZFSConfiguration field's value. +func (s *FileSystem) SetOpenZFSConfiguration(v *OpenZFSFileSystemConfiguration) *FileSystem { + s.OpenZFSConfiguration = v return s } -// SetStorageVirtualMachineIds sets the StorageVirtualMachineIds field's value. -func (s *DescribeStorageVirtualMachinesInput) SetStorageVirtualMachineIds(v []*string) *DescribeStorageVirtualMachinesInput { - s.StorageVirtualMachineIds = v +// SetOwnerId sets the OwnerId field's value. +func (s *FileSystem) SetOwnerId(v string) *FileSystem { + s.OwnerId = &v return s } -type DescribeStorageVirtualMachinesOutput struct { - _ struct{} `type:"structure"` +// SetResourceARN sets the ResourceARN field's value. +func (s *FileSystem) SetResourceARN(v string) *FileSystem { + s.ResourceARN = &v + return s +} - // (Optional) Opaque pagination token returned from a previous operation (String). - // If present, this token indicates from what point you can continue processing - // the request, where the previous NextToken value left off. - NextToken *string `min:"1" type:"string"` +// SetStorageCapacity sets the StorageCapacity field's value. +func (s *FileSystem) SetStorageCapacity(v int64) *FileSystem { + s.StorageCapacity = &v + return s +} - // Returned after a successful DescribeStorageVirtualMachines operation, describing - // each SVM. - StorageVirtualMachines []*StorageVirtualMachine `type:"list"` +// SetStorageType sets the StorageType field's value. +func (s *FileSystem) SetStorageType(v string) *FileSystem { + s.StorageType = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeStorageVirtualMachinesOutput) String() string { - return awsutil.Prettify(s) +// SetSubnetIds sets the SubnetIds field's value. +func (s *FileSystem) SetSubnetIds(v []*string) *FileSystem { + s.SubnetIds = v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DescribeStorageVirtualMachinesOutput) GoString() string { - return s.String() +// SetTags sets the Tags field's value. +func (s *FileSystem) SetTags(v []*Tag) *FileSystem { + s.Tags = v + return s } -// SetNextToken sets the NextToken field's value. -func (s *DescribeStorageVirtualMachinesOutput) SetNextToken(v string) *DescribeStorageVirtualMachinesOutput { - s.NextToken = &v +// SetVpcId sets the VpcId field's value. +func (s *FileSystem) SetVpcId(v string) *FileSystem { + s.VpcId = &v return s } -// SetStorageVirtualMachines sets the StorageVirtualMachines field's value. -func (s *DescribeStorageVirtualMachinesOutput) SetStorageVirtualMachines(v []*StorageVirtualMachine) *DescribeStorageVirtualMachinesOutput { - s.StorageVirtualMachines = v +// SetWindowsConfiguration sets the WindowsConfiguration field's value. +func (s *FileSystem) SetWindowsConfiguration(v *WindowsFileSystemConfiguration) *FileSystem { + s.WindowsConfiguration = v return s } -type DescribeVolumesInput struct { +// An Amazon FSx for NetApp ONTAP file system has two endpoints that are used +// to access data or to manage the file system using the NetApp ONTAP CLI, REST +// API, or NetApp SnapMirror. They are the Management and Intercluster endpoints. +type FileSystemEndpoint struct { _ struct{} `type:"structure"` - // Enter a filter name:value pair to view a select set of volumes. - Filters []*VolumeFilter `type:"list"` - - // The maximum number of resources to return in the response. This value must - // be an integer greater than zero. - MaxResults *int64 `min:"1" type:"integer"` - - // (Optional) Opaque pagination token returned from a previous operation (String). - // If present, this token indicates from what point you can continue processing - // the request, where the previous NextToken value left off. - NextToken *string `min:"1" type:"string"` + // The Domain Name Service (DNS) name for the file system. You can mount your + // file system using its DNS name. + DNSName *string `min:"16" type:"string"` - // IDs of the volumes whose descriptions you want to retrieve. - VolumeIds []*string `type:"list"` + // IP addresses of the file system endpoint. + IpAddresses []*string `min:"1" type:"list"` } // String returns the string representation. @@ -9075,7 +12723,7 @@ type DescribeVolumesInput 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 DescribeVolumesInput) String() string { +func (s FileSystemEndpoint) String() string { return awsutil.Prettify(s) } @@ -9084,60 +12732,35 @@ func (s DescribeVolumesInput) 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 DescribeVolumesInput) GoString() string { +func (s FileSystemEndpoint) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeVolumesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeVolumesInput"} - 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 -} - -// SetFilters sets the Filters field's value. -func (s *DescribeVolumesInput) SetFilters(v []*VolumeFilter) *DescribeVolumesInput { - s.Filters = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *DescribeVolumesInput) SetMaxResults(v int64) *DescribeVolumesInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *DescribeVolumesInput) SetNextToken(v string) *DescribeVolumesInput { - s.NextToken = &v +// SetDNSName sets the DNSName field's value. +func (s *FileSystemEndpoint) SetDNSName(v string) *FileSystemEndpoint { + s.DNSName = &v return s } -// SetVolumeIds sets the VolumeIds field's value. -func (s *DescribeVolumesInput) SetVolumeIds(v []*string) *DescribeVolumesInput { - s.VolumeIds = v +// SetIpAddresses sets the IpAddresses field's value. +func (s *FileSystemEndpoint) SetIpAddresses(v []*string) *FileSystemEndpoint { + s.IpAddresses = v return s } -type DescribeVolumesOutput struct { +// An Amazon FSx for NetApp ONTAP file system has the following endpoints that +// are used to access data or to manage the file system using the NetApp ONTAP +// CLI, REST API, or NetApp SnapMirror. +type FileSystemEndpoints struct { _ struct{} `type:"structure"` - // (Optional) Opaque pagination token returned from a previous operation (String). - // If present, this token indicates from what point you can continue processing - // the request, where the previous NextToken value left off. - NextToken *string `min:"1" type:"string"` + // An endpoint for managing your file system by setting up NetApp SnapMirror + // with other ONTAP systems. + Intercluster *FileSystemEndpoint `type:"structure"` - // Returned after a successful DescribeVolumes operation, describing each volume. - Volumes []*Volume `type:"list"` + // An endpoint for managing your file system using the NetApp ONTAP CLI and + // NetApp ONTAP API. + Management *FileSystemEndpoint `type:"structure"` } // String returns the string representation. @@ -9145,7 +12768,7 @@ type DescribeVolumesOutput 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 DescribeVolumesOutput) String() string { +func (s FileSystemEndpoints) String() string { return awsutil.Prettify(s) } @@ -9154,42 +12777,29 @@ func (s DescribeVolumesOutput) 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 DescribeVolumesOutput) GoString() string { +func (s FileSystemEndpoints) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *DescribeVolumesOutput) SetNextToken(v string) *DescribeVolumesOutput { - s.NextToken = &v +// SetIntercluster sets the Intercluster field's value. +func (s *FileSystemEndpoints) SetIntercluster(v *FileSystemEndpoint) *FileSystemEndpoints { + s.Intercluster = v return s } -// SetVolumes sets the Volumes field's value. -func (s *DescribeVolumesOutput) SetVolumes(v []*Volume) *DescribeVolumesOutput { - s.Volumes = v +// SetManagement sets the Management field's value. +func (s *FileSystemEndpoints) SetManagement(v *FileSystemEndpoint) *FileSystemEndpoints { + s.Management = v return s } -// The request object of DNS aliases to disassociate from an Amazon FSx for -// Windows File Server file system. -type DisassociateFileSystemAliasesInput struct { +// A structure providing details of any failures that occurred when creating +// a file system. +type FileSystemFailureDetails struct { _ struct{} `type:"structure"` - // An array of one or more DNS alias names to disassociate, or remove, from - // the file system. - // - // Aliases is a required field - Aliases []*string `type:"list" required:"true"` - - // (Optional) An idempotency token for resource creation, in a string of up - // to 64 ASCII characters. This token is automatically filled on your behalf - // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. - ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - - // Specifies the file system from which to disassociate the DNS aliases. - // - // FileSystemId is a required field - FileSystemId *string `min:"11" type:"string" required:"true"` + // A message describing any failures that occurred during file system creation. + Message *string `min:"1" type:"string"` } // String returns the string representation. @@ -9197,7 +12807,7 @@ type DisassociateFileSystemAliasesInput 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 DisassociateFileSystemAliasesInput) String() string { +func (s FileSystemFailureDetails) String() string { return awsutil.Prettify(s) } @@ -9206,59 +12816,23 @@ func (s DisassociateFileSystemAliasesInput) 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 DisassociateFileSystemAliasesInput) GoString() string { +func (s FileSystemFailureDetails) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DisassociateFileSystemAliasesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DisassociateFileSystemAliasesInput"} - if s.Aliases == nil { - invalidParams.Add(request.NewErrParamRequired("Aliases")) - } - if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) - } - if s.FileSystemId == nil { - invalidParams.Add(request.NewErrParamRequired("FileSystemId")) - } - if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { - invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAliases sets the Aliases field's value. -func (s *DisassociateFileSystemAliasesInput) SetAliases(v []*string) *DisassociateFileSystemAliasesInput { - s.Aliases = v - return s -} - -// SetClientRequestToken sets the ClientRequestToken field's value. -func (s *DisassociateFileSystemAliasesInput) SetClientRequestToken(v string) *DisassociateFileSystemAliasesInput { - s.ClientRequestToken = &v - return s -} - -// SetFileSystemId sets the FileSystemId field's value. -func (s *DisassociateFileSystemAliasesInput) SetFileSystemId(v string) *DisassociateFileSystemAliasesInput { - s.FileSystemId = &v +// SetMessage sets the Message field's value. +func (s *FileSystemFailureDetails) SetMessage(v string) *FileSystemFailureDetails { + s.Message = &v return s } -// The system generated response showing the DNS aliases that Amazon FSx is -// attempting to disassociate from the file system. Use the API operation to -// monitor the status of the aliases Amazon FSx is removing from the file system. -type DisassociateFileSystemAliasesOutput struct { - _ struct{} `type:"structure"` +// No Amazon FSx file systems were found based upon supplied parameters. +type FileSystemNotFound struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // An array of one or more DNS aliases that Amazon FSx is attempting to disassociate - // from the file system. - Aliases []*Alias `type:"list"` + // A detailed error message. + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation. @@ -9266,7 +12840,7 @@ type DisassociateFileSystemAliasesOutput 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 DisassociateFileSystemAliasesOutput) String() string { +func (s FileSystemNotFound) String() string { return awsutil.Prettify(s) } @@ -9275,30 +12849,59 @@ func (s DisassociateFileSystemAliasesOutput) 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 DisassociateFileSystemAliasesOutput) GoString() string { +func (s FileSystemNotFound) GoString() string { return s.String() } -// SetAliases sets the Aliases field's value. -func (s *DisassociateFileSystemAliasesOutput) SetAliases(v []*Alias) *DisassociateFileSystemAliasesOutput { - s.Aliases = v - return s +func newErrorFileSystemNotFound(v protocol.ResponseMetadata) error { + return &FileSystemNotFound{ + RespMetadata: v, + } } -// 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 the total number of provisioned SSD IOPS and how the amount was -// provisioned (by the customer or by the system). -type DiskIopsConfiguration struct { +// Code returns the exception type name. +func (s *FileSystemNotFound) Code() string { + return "FileSystemNotFound" +} + +// Message returns the exception's message. +func (s *FileSystemNotFound) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *FileSystemNotFound) OrigErr() error { + return nil +} + +func (s *FileSystemNotFound) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *FileSystemNotFound) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *FileSystemNotFound) RequestID() string { + return s.RespMetadata.RequestID +} + +// A filter used to restrict the results of describe calls. You can use multiple +// filters to return results that meet all applied filter requirements. +type Filter struct { _ struct{} `type:"structure"` - // The total number of SSD IOPS provisioned for the file system. - Iops *int64 `type:"long"` + // The name for this filter. + Name *string `type:"string" enum:"FilterName"` - // Specifies whether the number of IOPS for the file system is using the system - // default (AUTOMATIC) or was provisioned by the customer (USER_PROVISIONED). - Mode *string `type:"string" enum:"DiskIopsConfigurationMode"` + // The values of the filter. These are all the values for any of the applied + // filters. + Values []*string `type:"list"` } // String returns the string representation. @@ -9306,7 +12909,7 @@ type DiskIopsConfiguration 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 DiskIopsConfiguration) String() string { +func (s Filter) String() string { return awsutil.Prettify(s) } @@ -9315,137 +12918,102 @@ func (s DiskIopsConfiguration) 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 DiskIopsConfiguration) GoString() string { +func (s Filter) GoString() string { return s.String() } -// SetIops sets the Iops field's value. -func (s *DiskIopsConfiguration) SetIops(v int64) *DiskIopsConfiguration { - s.Iops = &v +// SetName sets the Name field's value. +func (s *Filter) SetName(v string) *Filter { + s.Name = &v return s } -// SetMode sets the Mode field's value. -func (s *DiskIopsConfiguration) SetMode(v string) *DiskIopsConfiguration { - s.Mode = &v +// SetValues sets the Values field's value. +func (s *Filter) SetValues(v []*string) *Filter { + s.Values = v return s } -// A description of a specific Amazon FSx file system. -type FileSystem struct { - _ struct{} `type:"structure"` - - // A list of administrative actions for the file system that are in process - // or waiting to be processed. Administrative actions describe changes to the - // Amazon FSx file system that you have initiated using the UpdateFileSystem - // action. - AdministrativeActions []*AdministrativeAction `type:"list"` - - // The time that the file system was created, in seconds (since 1970-01-01T00:00:00Z), - // also known as Unix time. - CreationTime *time.Time `type:"timestamp"` - - // The DNS name for the file system. - DNSName *string `min:"16" type:"string"` - - // A structure providing details of any failures that occur when creating the - // file system has failed. - FailureDetails *FileSystemFailureDetails `type:"structure"` - - // The system-generated, unique 17-digit ID of the file system. - FileSystemId *string `min:"11" type:"string"` - - // The type of Amazon FSx file system, which can be LUSTRE, WINDOWS, or ONTAP. - FileSystemType *string `type:"string" enum:"FileSystemType"` - - // The version of your Amazon FSx for Lustre file system, either 2.10 or 2.12. - FileSystemTypeVersion *string `min:"1" type:"string"` +// The error returned when a second request is received with the same client +// request token but different parameters settings. A client request token should +// always uniquely identify a single request. +type IncompatibleParameterError struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The ID of the Key Management Service (KMS) key used to encrypt the file system's - // data for Amazon FSx for Windows File Server file systems, Amazon FSx for - // NetApp ONTAP file systems, and persistent Amazon FSx for Lustre file systems - // at rest. If not specified, the Amazon FSx managed key is used. The scratch - // Amazon FSx for Lustre file systems are always encrypted at rest using Amazon - // FSx managed keys. For more information, see Encrypt (https://docs.aws.amazon.com/kms/latest/APIReference/API_Encrypt.html) - // in the Key Management Service API Reference. - KmsKeyId *string `min:"1" type:"string"` + // A detailed error message. + Message_ *string `locationName:"Message" min:"1" type:"string"` - // The lifecycle status of the file system, following are the possible values - // and what they mean: - // - // * AVAILABLE - The file system is in a healthy state, and is reachable - // and available for use. - // - // * CREATING - Amazon FSx is creating the new file system. - // - // * DELETING - Amazon FSx is deleting an existing file system. - // - // * FAILED - An existing file system has experienced an unrecoverable failure. - // When creating a new file system, Amazon FSx was unable to create the file - // system. - // - // * MISCONFIGURED indicates that the file system is in a failed but recoverable - // state. + // A parameter that is incompatible with the earlier request. // - // * UPDATING indicates that the file system is undergoing a customer initiated - // update. - Lifecycle *string `type:"string" enum:"FileSystemLifecycle"` - - // The configuration for the Amazon FSx for Lustre file system. - LustreConfiguration *LustreFileSystemConfiguration `type:"structure"` + // Parameter is a required field + Parameter *string `min:"1" type:"string" required:"true"` +} - // The IDs of the elastic network interface from which a specific file system - // is accessible. The elastic network interface is automatically created in - // the same VPC that the Amazon FSx file system was created in. For more information, - // see Elastic Network Interfaces (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) - // in the Amazon EC2 User Guide. - // - // For an Amazon FSx for Windows File Server file system, you can have one network - // interface ID. For an Amazon FSx for Lustre file system, you can have more - // than one. - NetworkInterfaceIds []*string `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 IncompatibleParameterError) String() string { + return awsutil.Prettify(s) +} - // The configuration for this FSx for NetApp ONTAP file system. - OntapConfiguration *OntapFileSystemConfiguration `type:"structure"` +// 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 IncompatibleParameterError) GoString() string { + return s.String() +} - // The Amazon Web Services account that created the file system. If the file - // system was created by an Identity and Access Management (IAM) user, the Amazon - // Web Services account to which the IAM user belongs is the owner. - OwnerId *string `min:"12" type:"string"` +func newErrorIncompatibleParameterError(v protocol.ResponseMetadata) error { + return &IncompatibleParameterError{ + RespMetadata: v, + } +} - // The Amazon Resource Name (ARN) for the file system resource. - ResourceARN *string `min:"8" type:"string"` +// Code returns the exception type name. +func (s *IncompatibleParameterError) Code() string { + return "IncompatibleParameterError" +} - // The storage capacity of the file system in gibibytes (GiB). - StorageCapacity *int64 `type:"integer"` +// Message returns the exception's message. +func (s *IncompatibleParameterError) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} - // The storage type of the file system. Valid values are SSD and HDD. If set - // to SSD, the file system uses solid state drive storage. If set to HDD, the - // file system uses hard disk drive storage. - StorageType *string `type:"string" enum:"StorageType"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *IncompatibleParameterError) OrigErr() error { + return nil +} - // Specifies the IDs of the subnets that the file system is accessible from. - // For Windows and ONTAP MULTI_AZ_1 file system deployment type, there are two - // subnet IDs, one for the preferred file server and one for the standby file - // server. The preferred file server subnet identified in the PreferredSubnetID - // property. All other file systems have only one subnet ID. - // - // For Lustre file systems, and Single-AZ Windows file systems, this is the - // ID of the subnet that contains the endpoint for the file system. For MULTI_AZ_1 - // Windows and ONTAP file systems, the endpoint for the file system is available - // in the PreferredSubnetID. - SubnetIds []*string `type:"list"` +func (s *IncompatibleParameterError) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} - // The tags to associate with the file system. For more information, see Tagging - // Your Amazon EC2 Resources (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html) - // in the Amazon EC2 User Guide. - Tags []*Tag `min:"1" type:"list"` +// Status code returns the HTTP status code for the request's response error. +func (s *IncompatibleParameterError) StatusCode() int { + return s.RespMetadata.StatusCode +} - // The ID of the primary VPC for the file system. - VpcId *string `min:"12" type:"string"` +// RequestID returns the service's response RequestID for request. +func (s *IncompatibleParameterError) RequestID() string { + return s.RespMetadata.RequestID +} - // The configuration for this Microsoft Windows file system. - WindowsConfiguration *WindowsFileSystemConfiguration `type:"structure"` +// Amazon FSx doesn't support Multi-AZ Windows File Server copy backup in the +// destination Region, so the copied backup can't be restored. +type IncompatibleRegionForMultiAZ struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A detailed error message. + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation. @@ -9453,7 +13021,7 @@ type FileSystem 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 FileSystem) String() string { +func (s IncompatibleRegionForMultiAZ) String() string { return awsutil.Prettify(s) } @@ -9462,142 +13030,185 @@ func (s FileSystem) 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 FileSystem) GoString() string { +func (s IncompatibleRegionForMultiAZ) GoString() string { return s.String() } -// SetAdministrativeActions sets the AdministrativeActions field's value. -func (s *FileSystem) SetAdministrativeActions(v []*AdministrativeAction) *FileSystem { - s.AdministrativeActions = v - return s +func newErrorIncompatibleRegionForMultiAZ(v protocol.ResponseMetadata) error { + return &IncompatibleRegionForMultiAZ{ + RespMetadata: v, + } } -// SetCreationTime sets the CreationTime field's value. -func (s *FileSystem) SetCreationTime(v time.Time) *FileSystem { - s.CreationTime = &v - return s +// Code returns the exception type name. +func (s *IncompatibleRegionForMultiAZ) Code() string { + return "IncompatibleRegionForMultiAZ" } -// SetDNSName sets the DNSName field's value. -func (s *FileSystem) SetDNSName(v string) *FileSystem { - s.DNSName = &v - return s +// Message returns the exception's message. +func (s *IncompatibleRegionForMultiAZ) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetFailureDetails sets the FailureDetails field's value. -func (s *FileSystem) SetFailureDetails(v *FileSystemFailureDetails) *FileSystem { - s.FailureDetails = v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *IncompatibleRegionForMultiAZ) OrigErr() error { + return nil } -// SetFileSystemId sets the FileSystemId field's value. -func (s *FileSystem) SetFileSystemId(v string) *FileSystem { - s.FileSystemId = &v - return s +func (s *IncompatibleRegionForMultiAZ) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetFileSystemType sets the FileSystemType field's value. -func (s *FileSystem) SetFileSystemType(v string) *FileSystem { - s.FileSystemType = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *IncompatibleRegionForMultiAZ) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetFileSystemTypeVersion sets the FileSystemTypeVersion field's value. -func (s *FileSystem) SetFileSystemTypeVersion(v string) *FileSystem { - s.FileSystemTypeVersion = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *IncompatibleRegionForMultiAZ) RequestID() string { + return s.RespMetadata.RequestID } -// SetKmsKeyId sets the KmsKeyId field's value. -func (s *FileSystem) SetKmsKeyId(v string) *FileSystem { - s.KmsKeyId = &v - return s +// A generic error indicating a server-side failure. +type InternalServerError struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A detailed error message. + Message_ *string `locationName:"Message" min:"1" type:"string"` } -// SetLifecycle sets the Lifecycle field's value. -func (s *FileSystem) SetLifecycle(v string) *FileSystem { - s.Lifecycle = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerError) String() string { + return awsutil.Prettify(s) } -// SetLustreConfiguration sets the LustreConfiguration field's value. -func (s *FileSystem) SetLustreConfiguration(v *LustreFileSystemConfiguration) *FileSystem { - s.LustreConfiguration = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerError) GoString() string { + return s.String() } -// SetNetworkInterfaceIds sets the NetworkInterfaceIds field's value. -func (s *FileSystem) SetNetworkInterfaceIds(v []*string) *FileSystem { - s.NetworkInterfaceIds = v - return s +func newErrorInternalServerError(v protocol.ResponseMetadata) error { + return &InternalServerError{ + RespMetadata: v, + } } -// SetOntapConfiguration sets the OntapConfiguration field's value. -func (s *FileSystem) SetOntapConfiguration(v *OntapFileSystemConfiguration) *FileSystem { - s.OntapConfiguration = v - return s +// Code returns the exception type name. +func (s *InternalServerError) Code() string { + return "InternalServerError" } -// SetOwnerId sets the OwnerId field's value. -func (s *FileSystem) SetOwnerId(v string) *FileSystem { - s.OwnerId = &v - return s +// Message returns the exception's message. +func (s *InternalServerError) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetResourceARN sets the ResourceARN field's value. -func (s *FileSystem) SetResourceARN(v string) *FileSystem { - s.ResourceARN = &v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerError) OrigErr() error { + return nil } -// SetStorageCapacity sets the StorageCapacity field's value. -func (s *FileSystem) SetStorageCapacity(v int64) *FileSystem { - s.StorageCapacity = &v - return s +func (s *InternalServerError) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetStorageType sets the StorageType field's value. -func (s *FileSystem) SetStorageType(v string) *FileSystem { - s.StorageType = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerError) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetSubnetIds sets the SubnetIds field's value. -func (s *FileSystem) SetSubnetIds(v []*string) *FileSystem { - s.SubnetIds = v - return s +// RequestID returns the service's response RequestID for request. +func (s *InternalServerError) RequestID() string { + return s.RespMetadata.RequestID } -// SetTags sets the Tags field's value. -func (s *FileSystem) SetTags(v []*Tag) *FileSystem { - s.Tags = v - return s +// You have filtered the response to a data repository type that is not supported. +type InvalidDataRepositoryType struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A detailed error message. + Message_ *string `locationName:"Message" min:"1" type:"string"` } -// SetVpcId sets the VpcId field's value. -func (s *FileSystem) SetVpcId(v string) *FileSystem { - s.VpcId = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvalidDataRepositoryType) 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 InvalidDataRepositoryType) GoString() string { + return s.String() +} + +func newErrorInvalidDataRepositoryType(v protocol.ResponseMetadata) error { + return &InvalidDataRepositoryType{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidDataRepositoryType) Code() string { + return "InvalidDataRepositoryType" +} + +// Message returns the exception's message. +func (s *InvalidDataRepositoryType) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidDataRepositoryType) OrigErr() error { + return nil } -// SetWindowsConfiguration sets the WindowsConfiguration field's value. -func (s *FileSystem) SetWindowsConfiguration(v *WindowsFileSystemConfiguration) *FileSystem { - s.WindowsConfiguration = v - return s +func (s *InvalidDataRepositoryType) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// An Amazon FSx for NetApp ONTAP file system has two endpoints that are used -// to access data or to manage the file system using the NetApp ONTAP CLI, REST -// API, or NetApp SnapMirror. They are the Management and Intercluster endpoints. -type FileSystemEndpoint struct { - _ struct{} `type:"structure"` +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidDataRepositoryType) StatusCode() int { + return s.RespMetadata.StatusCode +} - // The Domain Name Service (DNS) name for the file system. You can mount your - // file system using its DNS name. - DNSName *string `min:"16" type:"string"` +// RequestID returns the service's response RequestID for request. +func (s *InvalidDataRepositoryType) RequestID() string { + return s.RespMetadata.RequestID +} - // IP addresses of the file system endpoint. - IpAddresses []*string `min:"1" type:"list"` +// The Key Management Service (KMS) key of the destination backup is not valid. +type InvalidDestinationKmsKey struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A detailed error message. + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation. @@ -9605,7 +13216,7 @@ type FileSystemEndpoint 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 FileSystemEndpoint) String() string { +func (s InvalidDestinationKmsKey) String() string { return awsutil.Prettify(s) } @@ -9614,35 +13225,55 @@ func (s FileSystemEndpoint) 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 FileSystemEndpoint) GoString() string { +func (s InvalidDestinationKmsKey) GoString() string { return s.String() } -// SetDNSName sets the DNSName field's value. -func (s *FileSystemEndpoint) SetDNSName(v string) *FileSystemEndpoint { - s.DNSName = &v - return s +func newErrorInvalidDestinationKmsKey(v protocol.ResponseMetadata) error { + return &InvalidDestinationKmsKey{ + RespMetadata: v, + } } -// SetIpAddresses sets the IpAddresses field's value. -func (s *FileSystemEndpoint) SetIpAddresses(v []*string) *FileSystemEndpoint { - s.IpAddresses = v - return s +// Code returns the exception type name. +func (s *InvalidDestinationKmsKey) Code() string { + return "InvalidDestinationKmsKey" } -// An Amazon FSx for NetApp ONTAP file system has the following endpoints that -// are used to access data or to manage the file system using the NetApp ONTAP -// CLI, REST API, or NetApp SnapMirror. -type FileSystemEndpoints struct { - _ struct{} `type:"structure"` +// Message returns the exception's message. +func (s *InvalidDestinationKmsKey) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} - // An endpoint for managing your file system by setting up NetApp SnapMirror - // with other ONTAP systems. - Intercluster *FileSystemEndpoint `type:"structure"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidDestinationKmsKey) OrigErr() error { + return nil +} - // An endpoint for managing your file system using the NetApp ONTAP CLI and - // NetApp ONTAP API. - Management *FileSystemEndpoint `type:"structure"` +func (s *InvalidDestinationKmsKey) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidDestinationKmsKey) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidDestinationKmsKey) RequestID() string { + return s.RespMetadata.RequestID +} + +// The path provided for data repository export isn't valid. +type InvalidExportPath struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A detailed error message. + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation. @@ -9650,7 +13281,7 @@ type FileSystemEndpoints 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 FileSystemEndpoints) String() string { +func (s InvalidExportPath) String() string { return awsutil.Prettify(s) } @@ -9659,57 +13290,50 @@ func (s FileSystemEndpoints) 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 FileSystemEndpoints) GoString() string { +func (s InvalidExportPath) GoString() string { return s.String() } -// SetIntercluster sets the Intercluster field's value. -func (s *FileSystemEndpoints) SetIntercluster(v *FileSystemEndpoint) *FileSystemEndpoints { - s.Intercluster = v - return s +func newErrorInvalidExportPath(v protocol.ResponseMetadata) error { + return &InvalidExportPath{ + RespMetadata: v, + } } -// SetManagement sets the Management field's value. -func (s *FileSystemEndpoints) SetManagement(v *FileSystemEndpoint) *FileSystemEndpoints { - s.Management = v - return s +// Code returns the exception type name. +func (s *InvalidExportPath) Code() string { + return "InvalidExportPath" } -// A structure providing details of any failures that occur when creating the -// file system has failed. -type FileSystemFailureDetails struct { - _ struct{} `type:"structure"` +// Message returns the exception's message. +func (s *InvalidExportPath) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} - // A message describing any failures that occurred during file system creation. - Message *string `min:"1" type:"string"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidExportPath) OrigErr() error { + return nil } -// 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 FileSystemFailureDetails) String() string { - return awsutil.Prettify(s) +func (s *InvalidExportPath) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// 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 FileSystemFailureDetails) GoString() string { - return s.String() +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidExportPath) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetMessage sets the Message field's value. -func (s *FileSystemFailureDetails) SetMessage(v string) *FileSystemFailureDetails { - s.Message = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *InvalidExportPath) RequestID() string { + return s.RespMetadata.RequestID } -// No Amazon FSx file systems were found based upon supplied parameters. -type FileSystemNotFound struct { +// The path provided for data repository import isn't valid. +type InvalidImportPath struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -9722,7 +13346,7 @@ type FileSystemNotFound 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 FileSystemNotFound) String() string { +func (s InvalidImportPath) String() string { return awsutil.Prettify(s) } @@ -9731,23 +13355,23 @@ func (s FileSystemNotFound) 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 FileSystemNotFound) GoString() string { +func (s InvalidImportPath) GoString() string { return s.String() } -func newErrorFileSystemNotFound(v protocol.ResponseMetadata) error { - return &FileSystemNotFound{ +func newErrorInvalidImportPath(v protocol.ResponseMetadata) error { + return &InvalidImportPath{ RespMetadata: v, } } // Code returns the exception type name. -func (s *FileSystemNotFound) Code() string { - return "FileSystemNotFound" +func (s *InvalidImportPath) Code() string { + return "InvalidImportPath" } // Message returns the exception's message. -func (s *FileSystemNotFound) Message() string { +func (s *InvalidImportPath) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -9755,35 +13379,40 @@ func (s *FileSystemNotFound) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *FileSystemNotFound) OrigErr() error { +func (s *InvalidImportPath) OrigErr() error { return nil } -func (s *FileSystemNotFound) Error() string { +func (s *InvalidImportPath) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. -func (s *FileSystemNotFound) StatusCode() int { +func (s *InvalidImportPath) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *FileSystemNotFound) RequestID() string { +func (s *InvalidImportPath) RequestID() string { return s.RespMetadata.RequestID } -// A filter used to restrict the results of describe calls. You can use multiple -// filters to return results that meet all applied filter requirements. -type Filter struct { - _ struct{} `type:"structure"` +// One or more network settings specified in the request are invalid. +type InvalidNetworkSettings struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The name for this filter. - Name *string `type:"string" enum:"FilterName"` + // The route table ID is either invalid or not part of the VPC specified. + InvalidRouteTableId *string `min:"12" type:"string"` - // The values of the filter. These are all the values for any of the applied - // filters. - Values []*string `type:"list"` + // The security group ID is either invalid or not part of the VPC specified. + InvalidSecurityGroupId *string `min:"11" type:"string"` + + // The subnet ID that is either invalid or not part of the VPC specified. + InvalidSubnetId *string `min:"15" type:"string"` + + // Error message explaining what's wrong with network settings. + Message_ *string `locationName:"Message" min:"1" type:"string"` } // String returns the string representation. @@ -9791,7 +13420,7 @@ type Filter 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 Filter) String() string { +func (s InvalidNetworkSettings) String() string { return awsutil.Prettify(s) } @@ -9800,36 +13429,56 @@ func (s Filter) 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 Filter) GoString() string { +func (s InvalidNetworkSettings) GoString() string { return s.String() } -// SetName sets the Name field's value. -func (s *Filter) SetName(v string) *Filter { - s.Name = &v - return s +func newErrorInvalidNetworkSettings(v protocol.ResponseMetadata) error { + return &InvalidNetworkSettings{ + RespMetadata: v, + } } -// SetValues sets the Values field's value. -func (s *Filter) SetValues(v []*string) *Filter { - s.Values = v - return s +// Code returns the exception type name. +func (s *InvalidNetworkSettings) Code() string { + return "InvalidNetworkSettings" } -// The error returned when a second request is received with the same client -// request token but different parameters settings. A client request token should -// always uniquely identify a single request. -type IncompatibleParameterError struct { +// Message returns the exception's message. +func (s *InvalidNetworkSettings) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidNetworkSettings) OrigErr() error { + return nil +} + +func (s *InvalidNetworkSettings) 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 *InvalidNetworkSettings) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidNetworkSettings) RequestID() string { + return s.RespMetadata.RequestID +} + +// An invalid value for PerUnitStorageThroughput was provided. Please create +// your file system again, using a valid value. +type InvalidPerUnitStorageThroughput struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` // A detailed error message. Message_ *string `locationName:"Message" min:"1" type:"string"` - - // A parameter that is incompatible with the earlier request. - // - // Parameter is a required field - Parameter *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -9837,7 +13486,7 @@ type IncompatibleParameterError 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 IncompatibleParameterError) String() string { +func (s InvalidPerUnitStorageThroughput) String() string { return awsutil.Prettify(s) } @@ -9846,23 +13495,23 @@ func (s IncompatibleParameterError) 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 IncompatibleParameterError) GoString() string { +func (s InvalidPerUnitStorageThroughput) GoString() string { return s.String() } -func newErrorIncompatibleParameterError(v protocol.ResponseMetadata) error { - return &IncompatibleParameterError{ +func newErrorInvalidPerUnitStorageThroughput(v protocol.ResponseMetadata) error { + return &InvalidPerUnitStorageThroughput{ RespMetadata: v, } } // Code returns the exception type name. -func (s *IncompatibleParameterError) Code() string { - return "IncompatibleParameterError" +func (s *InvalidPerUnitStorageThroughput) Code() string { + return "InvalidPerUnitStorageThroughput" } // Message returns the exception's message. -func (s *IncompatibleParameterError) Message() string { +func (s *InvalidPerUnitStorageThroughput) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -9870,27 +13519,27 @@ func (s *IncompatibleParameterError) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *IncompatibleParameterError) OrigErr() error { +func (s *InvalidPerUnitStorageThroughput) OrigErr() error { return nil } -func (s *IncompatibleParameterError) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +func (s *InvalidPerUnitStorageThroughput) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. -func (s *IncompatibleParameterError) StatusCode() int { +func (s *InvalidPerUnitStorageThroughput) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *IncompatibleParameterError) RequestID() string { +func (s *InvalidPerUnitStorageThroughput) RequestID() string { return s.RespMetadata.RequestID } -// Amazon FSx doesn't support Multi-AZ Windows File Server copy backup in the -// destination Region, so the copied backup can't be restored. -type IncompatibleRegionForMultiAZ struct { +// The Region provided for SourceRegion is not valid or is in a different Amazon +// Web Services partition. +type InvalidRegion struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -9903,7 +13552,7 @@ type IncompatibleRegionForMultiAZ 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 IncompatibleRegionForMultiAZ) String() string { +func (s InvalidRegion) String() string { return awsutil.Prettify(s) } @@ -9912,23 +13561,23 @@ func (s IncompatibleRegionForMultiAZ) 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 IncompatibleRegionForMultiAZ) GoString() string { +func (s InvalidRegion) GoString() string { return s.String() } -func newErrorIncompatibleRegionForMultiAZ(v protocol.ResponseMetadata) error { - return &IncompatibleRegionForMultiAZ{ +func newErrorInvalidRegion(v protocol.ResponseMetadata) error { + return &InvalidRegion{ RespMetadata: v, } } // Code returns the exception type name. -func (s *IncompatibleRegionForMultiAZ) Code() string { - return "IncompatibleRegionForMultiAZ" +func (s *InvalidRegion) Code() string { + return "InvalidRegion" } // Message returns the exception's message. -func (s *IncompatibleRegionForMultiAZ) Message() string { +func (s *InvalidRegion) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -9936,26 +13585,26 @@ func (s *IncompatibleRegionForMultiAZ) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *IncompatibleRegionForMultiAZ) OrigErr() error { +func (s *InvalidRegion) OrigErr() error { return nil } -func (s *IncompatibleRegionForMultiAZ) Error() string { +func (s *InvalidRegion) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. -func (s *IncompatibleRegionForMultiAZ) StatusCode() int { +func (s *InvalidRegion) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *IncompatibleRegionForMultiAZ) RequestID() string { +func (s *InvalidRegion) RequestID() string { return s.RespMetadata.RequestID } -// A generic error indicating a server-side failure. -type InternalServerError struct { +// The Key Management Service (KMS) key of the source backup is not valid. +type InvalidSourceKmsKey struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -9968,7 +13617,7 @@ type InternalServerError 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 InternalServerError) String() string { +func (s InvalidSourceKmsKey) String() string { return awsutil.Prettify(s) } @@ -9977,23 +13626,23 @@ func (s InternalServerError) 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 InternalServerError) GoString() string { +func (s InvalidSourceKmsKey) GoString() string { return s.String() } -func newErrorInternalServerError(v protocol.ResponseMetadata) error { - return &InternalServerError{ +func newErrorInvalidSourceKmsKey(v protocol.ResponseMetadata) error { + return &InvalidSourceKmsKey{ RespMetadata: v, } } // Code returns the exception type name. -func (s *InternalServerError) Code() string { - return "InternalServerError" +func (s *InvalidSourceKmsKey) Code() string { + return "InvalidSourceKmsKey" } // Message returns the exception's message. -func (s *InternalServerError) Message() string { +func (s *InvalidSourceKmsKey) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -10001,31 +13650,30 @@ func (s *InternalServerError) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InternalServerError) OrigErr() error { +func (s *InvalidSourceKmsKey) OrigErr() error { return nil } -func (s *InternalServerError) Error() string { +func (s *InvalidSourceKmsKey) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. -func (s *InternalServerError) StatusCode() int { +func (s *InvalidSourceKmsKey) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *InternalServerError) RequestID() string { +func (s *InvalidSourceKmsKey) RequestID() string { return s.RespMetadata.RequestID } -// The Key Management Service (KMS) key of the destination backup is invalid. -type InvalidDestinationKmsKey struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// Describes why a resource lifecycle state changed. +type LifecycleTransitionReason struct { + _ struct{} `type:"structure"` // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` + Message *string `min:"1" type:"string"` } // String returns the string representation. @@ -10033,7 +13681,7 @@ type InvalidDestinationKmsKey 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 InvalidDestinationKmsKey) String() string { +func (s LifecycleTransitionReason) String() string { return awsutil.Prettify(s) } @@ -10042,55 +13690,105 @@ func (s InvalidDestinationKmsKey) 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 InvalidDestinationKmsKey) GoString() string { +func (s LifecycleTransitionReason) GoString() string { return s.String() } -func newErrorInvalidDestinationKmsKey(v protocol.ResponseMetadata) error { - return &InvalidDestinationKmsKey{ - RespMetadata: v, - } +// SetMessage sets the Message field's value. +func (s *LifecycleTransitionReason) SetMessage(v string) *LifecycleTransitionReason { + s.Message = &v + return s } -// Code returns the exception type name. -func (s *InvalidDestinationKmsKey) Code() string { - return "InvalidDestinationKmsKey" +// The request object for ListTagsForResource operation. +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // Maximum number of tags to return in the response (integer). This parameter + // value must be greater than 0. The number of items that Amazon FSx returns + // is the minimum of the MaxResults parameter specified in the request and the + // service's internal maximum number of items per page. + MaxResults *int64 `min:"1" type:"integer"` + + // Opaque pagination token returned from a previous ListTagsForResource operation + // (String). If a token present, the action continues the list from where the + // returning call left off. + NextToken *string `min:"1" type:"string"` + + // The ARN of the Amazon FSx resource that will have its tags listed. + // + // ResourceARN is a required field + ResourceARN *string `min:"8" type:"string" required:"true"` } -// Message returns the exception's message. -func (s *InvalidDestinationKmsKey) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidDestinationKmsKey) OrigErr() error { +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.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 s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 8 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 8)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *InvalidDestinationKmsKey) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetMaxResults sets the MaxResults field's value. +func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput { + s.MaxResults = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidDestinationKmsKey) StatusCode() int { - return s.RespMetadata.StatusCode +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { + s.NextToken = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidDestinationKmsKey) RequestID() string { - return s.RespMetadata.RequestID +// SetResourceARN sets the ResourceARN field's value. +func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput { + s.ResourceARN = &v + return s } -// The path provided for data repository export isn't valid. -type InvalidExportPath struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// The response object for ListTagsForResource operation. +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` - // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` + // This is present if there are more tags than returned in the response (String). + // You can use the NextToken value in the later request to fetch the tags. + NextToken *string `min:"1" type:"string"` + + // A list of tags on the resource. + Tags []*Tag `min:"1" type:"list"` } // String returns the string representation. @@ -10098,7 +13796,7 @@ type InvalidExportPath 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 InvalidExportPath) String() string { +func (s ListTagsForResourceOutput) String() string { return awsutil.Prettify(s) } @@ -10107,55 +13805,118 @@ func (s InvalidExportPath) 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 InvalidExportPath) GoString() string { +func (s ListTagsForResourceOutput) GoString() string { return s.String() } -func newErrorInvalidExportPath(v protocol.ResponseMetadata) error { - return &InvalidExportPath{ - RespMetadata: v, - } +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { + s.NextToken = &v + return s } -// Code returns the exception type name. -func (s *InvalidExportPath) Code() string { - return "InvalidExportPath" +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s } -// Message returns the exception's message. -func (s *InvalidExportPath) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} +// The configuration for the Amazon FSx for Lustre file system. +type LustreFileSystemConfiguration struct { + _ struct{} `type:"structure"` -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidExportPath) OrigErr() error { - return nil -} + // The number of days to retain automatic backups. Setting this property to + // 0 disables automatic backups. You can retain automatic backups for a maximum + // of 90 days. The default is 0. + AutomaticBackupRetentionDays *int64 `type:"integer"` + + // A boolean flag indicating whether tags on the file system are copied to backups. + // If it's set to true, all tags on the file system are copied to all automatic + // backups and any user-initiated backups where the user doesn't specify any + // tags. If this value is true, and you specify one or more tags, only the specified + // tags are copied to backups. If you specify one or more tags when creating + // a user-initiated backup, no tags are copied from the file system, regardless + // of this value. (Default = false) + CopyTagsToBackups *bool `type:"boolean"` + + // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of + // the day (0-23), and MM is the zero-padded minute of the hour. For example, + // 05:00 specifies 5 AM daily. + DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + + // The data compression configuration for the file system. DataCompressionType + // can have the following values: + // + // * NONE - Data compression is turned off for the file system. + // + // * LZ4 - Data compression is turned on with the LZ4 algorithm. + // + // For more information, see Lustre data compression (https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html). + DataCompressionType *string `type:"string" enum:"DataCompressionType"` + + // The data repository configuration object for Lustre file systems returned + // in the response of the CreateFileSystem operation. + // + // This data type is not supported for file systems with the Persistent_2 deployment + // type. Instead, use . + DataRepositoryConfiguration *DataRepositoryConfiguration `type:"structure"` + + // 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 (https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html). + // + // The default is SCRATCH_1. + DeploymentType *string `type:"string" enum:"LustreDeploymentType"` -func (s *InvalidExportPath) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} + // The type of drive cache used by PERSISTENT_1 file systems that are provisioned + // with HDD storage devices. This parameter is required when StorageType is + // HDD. When set to READ the file system has an SSD storage cache that is sized + // to 20% of the file system's storage capacity. This improves the performance + // for frequently accessed files by caching up to 20% of the total storage capacity. + // + // This parameter is required when StorageType is set to HDD. + DriveCacheType *string `type:"string" enum:"DriveCacheType"` -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidExportPath) StatusCode() int { - return s.RespMetadata.StatusCode -} + // The Lustre logging configuration. Lustre logging writes the enabled log events + // for your file system to Amazon CloudWatch Logs. + LogConfiguration *LustreLogConfiguration `type:"structure"` -// RequestID returns the service's response RequestID for request. -func (s *InvalidExportPath) RequestID() string { - return s.RespMetadata.RequestID -} + // You use the MountName value when mounting the file system. + // + // For the SCRATCH_1 deployment type, this value is always "fsx". For SCRATCH_2, + // PERSISTENT_1, and PERSISTENT_2 deployment types, this value is a string that + // is unique within an Amazon Web Services Region. + MountName *string `min:"1" type:"string"` -// The path provided for data repository import isn't valid. -type InvalidImportPath struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // Per unit storage throughput represents the megabytes per second of read or + // write throughput per 1 tebibyte of storage provisioned. File system throughput + // capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput (MB/s/TiB). + // This option is only valid for PERSISTENT_1 and PERSISTENT_2 deployment types. + // + // Valid values: + // + // * For PERSISTENT_1 SSD storage: 50, 100, 200. + // + // * For PERSISTENT_1 HDD storage: 12, 40. + // + // * For PERSISTENT_2 SSD storage: 125, 250, 500, 1000. + PerUnitStorageThroughput *int64 `min:"12" type:"integer"` - // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` + // The preferred start time to perform weekly maintenance, formatted d:HH:MM + // in the UTC time zone. Here, d is the weekday number, from 1 through 7, beginning + // with Monday and ending with Sunday. + WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } // String returns the string representation. @@ -10163,7 +13924,7 @@ type InvalidImportPath 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 InvalidImportPath) String() string { +func (s LustreFileSystemConfiguration) String() string { return awsutil.Prettify(s) } @@ -10172,64 +13933,103 @@ func (s InvalidImportPath) 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 InvalidImportPath) GoString() string { +func (s LustreFileSystemConfiguration) GoString() string { return s.String() } -func newErrorInvalidImportPath(v protocol.ResponseMetadata) error { - return &InvalidImportPath{ - RespMetadata: v, - } +// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. +func (s *LustreFileSystemConfiguration) SetAutomaticBackupRetentionDays(v int64) *LustreFileSystemConfiguration { + s.AutomaticBackupRetentionDays = &v + return s } -// Code returns the exception type name. -func (s *InvalidImportPath) Code() string { - return "InvalidImportPath" +// SetCopyTagsToBackups sets the CopyTagsToBackups field's value. +func (s *LustreFileSystemConfiguration) SetCopyTagsToBackups(v bool) *LustreFileSystemConfiguration { + s.CopyTagsToBackups = &v + return s } -// Message returns the exception's message. -func (s *InvalidImportPath) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. +func (s *LustreFileSystemConfiguration) SetDailyAutomaticBackupStartTime(v string) *LustreFileSystemConfiguration { + s.DailyAutomaticBackupStartTime = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidImportPath) OrigErr() error { - return nil +// SetDataCompressionType sets the DataCompressionType field's value. +func (s *LustreFileSystemConfiguration) SetDataCompressionType(v string) *LustreFileSystemConfiguration { + s.DataCompressionType = &v + return s } -func (s *InvalidImportPath) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetDataRepositoryConfiguration sets the DataRepositoryConfiguration field's value. +func (s *LustreFileSystemConfiguration) SetDataRepositoryConfiguration(v *DataRepositoryConfiguration) *LustreFileSystemConfiguration { + s.DataRepositoryConfiguration = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidImportPath) StatusCode() int { - return s.RespMetadata.StatusCode +// SetDeploymentType sets the DeploymentType field's value. +func (s *LustreFileSystemConfiguration) SetDeploymentType(v string) *LustreFileSystemConfiguration { + s.DeploymentType = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidImportPath) RequestID() string { - return s.RespMetadata.RequestID +// SetDriveCacheType sets the DriveCacheType field's value. +func (s *LustreFileSystemConfiguration) SetDriveCacheType(v string) *LustreFileSystemConfiguration { + s.DriveCacheType = &v + return s } -// One or more network settings specified in the request are invalid. -type InvalidNetworkSettings struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetLogConfiguration sets the LogConfiguration field's value. +func (s *LustreFileSystemConfiguration) SetLogConfiguration(v *LustreLogConfiguration) *LustreFileSystemConfiguration { + s.LogConfiguration = v + return s +} - // The route table ID is either invalid or not part of the VPC specified. - InvalidRouteTableId *string `min:"12" type:"string"` +// SetMountName sets the MountName field's value. +func (s *LustreFileSystemConfiguration) SetMountName(v string) *LustreFileSystemConfiguration { + s.MountName = &v + return s +} - // The security group ID is either invalid or not part of the VPC specified. - InvalidSecurityGroupId *string `min:"11" type:"string"` +// SetPerUnitStorageThroughput sets the PerUnitStorageThroughput field's value. +func (s *LustreFileSystemConfiguration) SetPerUnitStorageThroughput(v int64) *LustreFileSystemConfiguration { + s.PerUnitStorageThroughput = &v + return s +} - // The subnet ID that is either invalid or not part of the VPC specified. - InvalidSubnetId *string `min:"15" type:"string"` +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *LustreFileSystemConfiguration) SetWeeklyMaintenanceStartTime(v string) *LustreFileSystemConfiguration { + s.WeeklyMaintenanceStartTime = &v + return s +} - // Error message explaining what's wrong with network settings. - Message_ *string `locationName:"Message" min:"1" type:"string"` +// The configuration for Lustre logging used to write the enabled logging events +// for your file system to Amazon CloudWatch Logs. +// +// When logging is enabled, Lustre logs error and warning events from data repository +// operations such as automatic export and data repository tasks. To learn more +// about Lustre logging, see Logging with Amazon CloudWatch Logs (https://docs.aws.amazon.com/fsx/latest/LustreGuide/cw-event-logging.html). +type LustreLogConfiguration struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) that specifies the destination of the logs. + // The destination can be any Amazon CloudWatch Logs log group ARN. The destination + // ARN must be in the same Amazon Web Services partition, Amazon Web Services + // Region, and Amazon Web Services account as your Amazon FSx file system. + Destination *string `min:"8" type:"string"` + + // The data repository events that are logged by Amazon FSx. + // + // * WARN_ONLY - only warning events are logged. + // + // * ERROR_ONLY - only error events are logged. + // + // * WARN_ERROR - both warning events and error events are logged. + // + // * DISABLED - logging of data repository events is turned off. + // + // Level is a required field + Level *string `type:"string" required:"true" enum:"LustreAccessAuditLogLevel"` } // String returns the string representation. @@ -10237,7 +14037,7 @@ type InvalidNetworkSettings 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 InvalidNetworkSettings) String() string { +func (s LustreLogConfiguration) String() string { return awsutil.Prettify(s) } @@ -10246,56 +14046,71 @@ func (s InvalidNetworkSettings) 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 InvalidNetworkSettings) GoString() string { +func (s LustreLogConfiguration) GoString() string { return s.String() } -func newErrorInvalidNetworkSettings(v protocol.ResponseMetadata) error { - return &InvalidNetworkSettings{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *InvalidNetworkSettings) Code() string { - return "InvalidNetworkSettings" -} - -// Message returns the exception's message. -func (s *InvalidNetworkSettings) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidNetworkSettings) OrigErr() error { - return nil -} - -func (s *InvalidNetworkSettings) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetDestination sets the Destination field's value. +func (s *LustreLogConfiguration) SetDestination(v string) *LustreLogConfiguration { + s.Destination = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidNetworkSettings) StatusCode() int { - return s.RespMetadata.StatusCode +// SetLevel sets the Level field's value. +func (s *LustreLogConfiguration) SetLevel(v string) *LustreLogConfiguration { + s.Level = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidNetworkSettings) RequestID() string { - return s.RespMetadata.RequestID -} +// The Lustre logging configuration used when creating or updating an Amazon +// FSx for Lustre file system. Lustre logging writes the enabled logging events +// for your file system to Amazon CloudWatch Logs. +// +// Error and warning events can be logged from the following data repository +// operations: +// +// * Automatic export +// +// * Data repository tasks +// +// To learn more about Lustre logging, see Logging to Amazon CloudWatch Logs +// (https://docs.aws.amazon.com/fsx/latest/LustreGuide/cw-event-logging.html). +type LustreLogCreateConfiguration struct { + _ struct{} `type:"structure"` -// An invalid value for PerUnitStorageThroughput was provided. Please create -// your file system again, using a valid value. -type InvalidPerUnitStorageThroughput struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // The Amazon Resource Name (ARN) that specifies the destination of the logs. + // + // The destination can be any Amazon CloudWatch Logs log group ARN, with the + // following requirements: + // + // * The destination ARN that you provide must be in the same Amazon Web + // Services partition, Amazon Web Services Region, and Amazon Web Services + // account as your Amazon FSx file system. + // + // * The name of the Amazon CloudWatch Logs log group must begin with the + // /aws/fsx prefix. + // + // * If you do not provide a destination, Amazon FSx will create and use + // a log stream in the CloudWatch Logs /aws/fsx/lustre log group. + // + // * If Destination is provided and the resource does not exist, the request + // will fail with a BadRequest error. + // + // * If Level is set to DISABLED, you cannot specify a destination in Destination. + Destination *string `min:"8" type:"string"` - // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` + // Sets which data repository events are logged by Amazon FSx. + // + // * WARN_ONLY - only warning events are logged. + // + // * ERROR_ONLY - only error events are logged. + // + // * WARN_ERROR - both warning events and error events are logged. + // + // * DISABLED - logging of data repository events is turned off. + // + // Level is a required field + Level *string `type:"string" required:"true" enum:"LustreAccessAuditLogLevel"` } // String returns the string representation. @@ -10303,7 +14118,7 @@ type InvalidPerUnitStorageThroughput 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 InvalidPerUnitStorageThroughput) String() string { +func (s LustreLogCreateConfiguration) String() string { return awsutil.Prettify(s) } @@ -10312,51 +14127,40 @@ func (s InvalidPerUnitStorageThroughput) 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 InvalidPerUnitStorageThroughput) GoString() string { +func (s LustreLogCreateConfiguration) GoString() string { return s.String() } -func newErrorInvalidPerUnitStorageThroughput(v protocol.ResponseMetadata) error { - return &InvalidPerUnitStorageThroughput{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *LustreLogCreateConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LustreLogCreateConfiguration"} + if s.Destination != nil && len(*s.Destination) < 8 { + invalidParams.Add(request.NewErrParamMinLen("Destination", 8)) } -} - -// Code returns the exception type name. -func (s *InvalidPerUnitStorageThroughput) Code() string { - return "InvalidPerUnitStorageThroughput" -} - -// Message returns the exception's message. -func (s *InvalidPerUnitStorageThroughput) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.Level == nil { + invalidParams.Add(request.NewErrParamRequired("Level")) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidPerUnitStorageThroughput) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *InvalidPerUnitStorageThroughput) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *InvalidPerUnitStorageThroughput) StatusCode() int { - return s.RespMetadata.StatusCode +// SetDestination sets the Destination field's value. +func (s *LustreLogCreateConfiguration) SetDestination(v string) *LustreLogCreateConfiguration { + s.Destination = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InvalidPerUnitStorageThroughput) RequestID() string { - return s.RespMetadata.RequestID +// SetLevel sets the Level field's value. +func (s *LustreLogCreateConfiguration) SetLevel(v string) *LustreLogCreateConfiguration { + s.Level = &v + return s } -// The Region provided for Source Region is invalid or is in a different Amazon -// Web Services partition. -type InvalidRegion struct { +// A file system configuration is required for this operation. +type MissingFileSystemConfiguration struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -10369,7 +14173,7 @@ type InvalidRegion 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 InvalidRegion) String() string { +func (s MissingFileSystemConfiguration) String() string { return awsutil.Prettify(s) } @@ -10378,23 +14182,23 @@ func (s InvalidRegion) 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 InvalidRegion) GoString() string { +func (s MissingFileSystemConfiguration) GoString() string { return s.String() } -func newErrorInvalidRegion(v protocol.ResponseMetadata) error { - return &InvalidRegion{ +func newErrorMissingFileSystemConfiguration(v protocol.ResponseMetadata) error { + return &MissingFileSystemConfiguration{ RespMetadata: v, } } // Code returns the exception type name. -func (s *InvalidRegion) Code() string { - return "InvalidRegion" +func (s *MissingFileSystemConfiguration) Code() string { + return "MissingFileSystemConfiguration" } // Message returns the exception's message. -func (s *InvalidRegion) Message() string { +func (s *MissingFileSystemConfiguration) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -10402,26 +14206,26 @@ func (s *InvalidRegion) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidRegion) OrigErr() error { +func (s *MissingFileSystemConfiguration) OrigErr() error { return nil } -func (s *InvalidRegion) Error() string { +func (s *MissingFileSystemConfiguration) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. -func (s *InvalidRegion) StatusCode() int { +func (s *MissingFileSystemConfiguration) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *InvalidRegion) RequestID() string { +func (s *MissingFileSystemConfiguration) RequestID() string { return s.RespMetadata.RequestID } -// The Key Management Service (KMS) key of the source backup is invalid. -type InvalidSourceKmsKey struct { +// A volume configuration is required for this operation. +type MissingVolumeConfiguration struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -10434,7 +14238,7 @@ type InvalidSourceKmsKey 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 InvalidSourceKmsKey) String() string { +func (s MissingVolumeConfiguration) String() string { return awsutil.Prettify(s) } @@ -10443,23 +14247,23 @@ func (s InvalidSourceKmsKey) 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 InvalidSourceKmsKey) GoString() string { +func (s MissingVolumeConfiguration) GoString() string { return s.String() } -func newErrorInvalidSourceKmsKey(v protocol.ResponseMetadata) error { - return &InvalidSourceKmsKey{ +func newErrorMissingVolumeConfiguration(v protocol.ResponseMetadata) error { + return &MissingVolumeConfiguration{ RespMetadata: v, } } // Code returns the exception type name. -func (s *InvalidSourceKmsKey) Code() string { - return "InvalidSourceKmsKey" +func (s *MissingVolumeConfiguration) Code() string { + return "MissingVolumeConfiguration" } // Message returns the exception's message. -func (s *InvalidSourceKmsKey) Message() string { +func (s *MissingVolumeConfiguration) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -10467,72 +14271,34 @@ func (s *InvalidSourceKmsKey) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidSourceKmsKey) OrigErr() error { +func (s *MissingVolumeConfiguration) OrigErr() error { return nil } -func (s *InvalidSourceKmsKey) Error() string { +func (s *MissingVolumeConfiguration) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. -func (s *InvalidSourceKmsKey) StatusCode() int { +func (s *MissingVolumeConfiguration) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *InvalidSourceKmsKey) RequestID() string { +func (s *MissingVolumeConfiguration) RequestID() string { return s.RespMetadata.RequestID } -// Describes why a resource lifecycle state changed. -type LifecycleTransitionReason struct { - _ struct{} `type:"structure"` +// The resource specified for the tagging operation is not a resource type owned +// by Amazon FSx. Use the API of the relevant service to perform the operation. +type NotServiceResourceError struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` // A detailed error message. - Message *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 LifecycleTransitionReason) 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 LifecycleTransitionReason) GoString() string { - return s.String() -} - -// SetMessage sets the Message field's value. -func (s *LifecycleTransitionReason) SetMessage(v string) *LifecycleTransitionReason { - s.Message = &v - return s -} - -// The request object for ListTagsForResource operation. -type ListTagsForResourceInput struct { - _ struct{} `type:"structure"` - - // Maximum number of tags to return in the response (integer). This parameter - // value must be greater than 0. The number of items that Amazon FSx returns - // is the minimum of the MaxResults parameter specified in the request and the - // service's internal maximum number of items per page. - MaxResults *int64 `min:"1" type:"integer"` - - // Opaque pagination token returned from a previous ListTagsForResource operation - // (String). If a token present, the action continues the list from where the - // returning call left off. - NextToken *string `min:"1" type:"string"` + Message_ *string `locationName:"Message" min:"1" type:"string"` - // The ARN of the Amazon FSx resource that will have its tags listed. + // The Amazon Resource Name (ARN) of the non-Amazon FSx resource. // // ResourceARN is a required field ResourceARN *string `min:"8" type:"string" required:"true"` @@ -10543,7 +14309,7 @@ type ListTagsForResourceInput 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 ListTagsForResourceInput) String() string { +func (s NotServiceResourceError) String() string { return awsutil.Prettify(s) } @@ -10552,170 +14318,99 @@ func (s ListTagsForResourceInput) 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 ListTagsForResourceInput) GoString() string { +func (s NotServiceResourceError) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListTagsForResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} - if s.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 s.ResourceARN == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceARN")) - } - if s.ResourceARN != nil && len(*s.ResourceARN) < 8 { - invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 8)) - } - - if invalidParams.Len() > 0 { - return invalidParams +func newErrorNotServiceResourceError(v protocol.ResponseMetadata) error { + return &NotServiceResourceError{ + RespMetadata: v, } - return nil -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput { - s.MaxResults = &v - return s } -// SetNextToken sets the NextToken field's value. -func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { - s.NextToken = &v - return s -} - -// SetResourceARN sets the ResourceARN field's value. -func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput { - s.ResourceARN = &v - return s +// Code returns the exception type name. +func (s *NotServiceResourceError) Code() string { + return "NotServiceResourceError" } -// The response object for ListTagsForResource operation. -type ListTagsForResourceOutput struct { - _ struct{} `type:"structure"` - - // This is present if there are more tags than returned in the response (String). - // You can use the NextToken value in the later request to fetch the tags. - NextToken *string `min:"1" type:"string"` - - // A list of tags on the resource. - Tags []*Tag `min:"1" type:"list"` +// Message returns the exception's message. +func (s *NotServiceResourceError) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ListTagsForResourceOutput) String() string { - return awsutil.Prettify(s) +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *NotServiceResourceError) OrigErr() error { + return nil } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ListTagsForResourceOutput) GoString() string { - return s.String() +func (s *NotServiceResourceError) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetNextToken sets the NextToken field's value. -func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { - s.NextToken = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *NotServiceResourceError) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetTags sets the Tags field's value. -func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { - s.Tags = v - return s +// RequestID returns the service's response RequestID for request. +func (s *NotServiceResourceError) RequestID() string { + return s.RespMetadata.RequestID } -// The configuration for the Amazon FSx for Lustre file system. -type LustreFileSystemConfiguration struct { +// Configuration for the FSx for NetApp ONTAP file system. +type OntapFileSystemConfiguration struct { _ struct{} `type:"structure"` - // The number of days to retain automatic backups. Setting this to 0 disables - // automatic backups. You can retain automatic backups for a maximum of 90 days. - // The default is 0. + // The number of days to retain automatic backups. Setting this property to + // 0 disables automatic backups. You can retain automatic backups for a maximum + // of 90 days. The default is 0. AutomaticBackupRetentionDays *int64 `type:"integer"` - // A boolean flag indicating whether tags on the file system should be copied - // to backups. If it's set to true, all tags on the file system are copied to - // all automatic backups and any user-initiated backups where the user doesn't - // specify any tags. If this value is true, and you specify one or more tags, - // only the specified tags are copied to backups. If you specify one or more - // tags when creating a user-initiated backup, no tags are copied from the file - // system, regardless of this value. (Default = false) - CopyTagsToBackups *bool `type:"boolean"` - // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of // the day (0-23), and MM is the zero-padded minute of the hour. For example, // 05:00 specifies 5 AM daily. DailyAutomaticBackupStartTime *string `min:"5" type:"string"` - // The data compression configuration for the file system. DataCompressionType - // can have the following values: - // - // * NONE - Data compression is turned off for the file system. - // - // * LZ4 - Data compression is turned on with the LZ4 algorithm. - // - // For more information, see Lustre data compression (https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html). - DataCompressionType *string `type:"string" enum:"DataCompressionType"` + // The ONTAP file system deployment type. + DeploymentType *string `type:"string" enum:"OntapDeploymentType"` - // The data repository configuration object for Lustre file systems returned - // in the response of the CreateFileSystem operation. - DataRepositoryConfiguration *DataRepositoryConfiguration `type:"structure"` + // The SSD IOPS configuration for the ONTAP file system, specifying the number + // of provisioned IOPS and the provision mode. + DiskIopsConfiguration *DiskIopsConfiguration `type:"structure"` - // 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 deployment type is used for longer-term storage and workloads - // and encryption of data in transit. To learn more about deployment types, - // see FSx for Lustre Deployment Options (https://docs.aws.amazon.com/fsx/latest/LustreGuide/lustre-deployment-types.html). - // (Default = SCRATCH_1) - DeploymentType *string `type:"string" enum:"LustreDeploymentType"` + // The IP address range in which the endpoints to access your file system are + // created. + EndpointIpAddressRange *string `min:"9" type:"string"` - // The type of drive cache used by PERSISTENT_1 file systems that are provisioned - // with HDD storage devices. This parameter is required when storage type is - // HDD. Set to READ, improve the performance for frequently accessed files and - // allows 20% of the total storage capacity of the file system to be cached. - // - // This parameter is required when StorageType is set to HDD. - DriveCacheType *string `type:"string" enum:"DriveCacheType"` + // The Management and Intercluster endpoints that are used to access data or + // to manage the file system using the NetApp ONTAP CLI, REST API, or NetApp + // SnapMirror. + Endpoints *FileSystemEndpoints `type:"structure"` - // You use the MountName value when mounting the file system. - // - // For the SCRATCH_1 deployment type, this value is always "fsx". For SCRATCH_2 - // and PERSISTENT_1 deployment types, this value is a string that is unique - // within an Amazon Web Services Region. - MountName *string `min:"1" type:"string"` + // The ID for a subnet. A subnet is a range of IP addresses in your virtual + // private cloud (VPC). For more information, see VPC and subnets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html) + // in the Amazon VPC User Guide. + PreferredSubnetId *string `min:"15" type:"string"` - // Per unit storage throughput represents the megabytes per second of read or - // write throughput per 1 tebibyte of storage provisioned. File system throughput - // capacity is equal to Storage capacity (TiB) * PerUnitStorageThroughput (MB/s/TiB). - // This option is only valid for PERSISTENT_1 deployment types. - // - // Valid values for SSD storage: 50, 100, 200. Valid values for HDD storage: - // 12, 40. - PerUnitStorageThroughput *int64 `min:"12" type:"integer"` + // The VPC route tables in which your file system's endpoints are created. + RouteTableIds []*string `type:"list"` - // The preferred start time to perform weekly maintenance, formatted d:HH:MM - // in the UTC time zone. d is the weekday number, from 1 through 7, beginning - // with Monday and ending with Sunday. + // The sustained throughput of an Amazon FSx file system in MBps. + ThroughputCapacity *int64 `min:"8" type:"integer"` + + // A recurring weekly time, in the format D:HH:MM. + // + // D is the day of the week, for which 1 represents Monday and 7 represents + // Sunday. For further details, see the ISO-8601 spec as described on Wikipedia + // (https://en.wikipedia.org/wiki/ISO_week_date). + // + // HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute + // of the hour. + // + // For example, 1:05:00 specifies maintenance at 5 AM Monday. WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } @@ -10724,7 +14419,7 @@ type LustreFileSystemConfiguration 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 LustreFileSystemConfiguration) String() string { +func (s OntapFileSystemConfiguration) String() string { return awsutil.Prettify(s) } @@ -10733,77 +14428,134 @@ func (s LustreFileSystemConfiguration) 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 LustreFileSystemConfiguration) GoString() string { +func (s OntapFileSystemConfiguration) GoString() string { return s.String() } // SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. -func (s *LustreFileSystemConfiguration) SetAutomaticBackupRetentionDays(v int64) *LustreFileSystemConfiguration { +func (s *OntapFileSystemConfiguration) SetAutomaticBackupRetentionDays(v int64) *OntapFileSystemConfiguration { s.AutomaticBackupRetentionDays = &v return s } -// SetCopyTagsToBackups sets the CopyTagsToBackups field's value. -func (s *LustreFileSystemConfiguration) SetCopyTagsToBackups(v bool) *LustreFileSystemConfiguration { - s.CopyTagsToBackups = &v +// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. +func (s *OntapFileSystemConfiguration) SetDailyAutomaticBackupStartTime(v string) *OntapFileSystemConfiguration { + s.DailyAutomaticBackupStartTime = &v return s } -// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. -func (s *LustreFileSystemConfiguration) SetDailyAutomaticBackupStartTime(v string) *LustreFileSystemConfiguration { - s.DailyAutomaticBackupStartTime = &v +// SetDeploymentType sets the DeploymentType field's value. +func (s *OntapFileSystemConfiguration) SetDeploymentType(v string) *OntapFileSystemConfiguration { + s.DeploymentType = &v return s } -// SetDataCompressionType sets the DataCompressionType field's value. -func (s *LustreFileSystemConfiguration) SetDataCompressionType(v string) *LustreFileSystemConfiguration { - s.DataCompressionType = &v +// SetDiskIopsConfiguration sets the DiskIopsConfiguration field's value. +func (s *OntapFileSystemConfiguration) SetDiskIopsConfiguration(v *DiskIopsConfiguration) *OntapFileSystemConfiguration { + s.DiskIopsConfiguration = v return s } -// SetDataRepositoryConfiguration sets the DataRepositoryConfiguration field's value. -func (s *LustreFileSystemConfiguration) SetDataRepositoryConfiguration(v *DataRepositoryConfiguration) *LustreFileSystemConfiguration { - s.DataRepositoryConfiguration = v +// SetEndpointIpAddressRange sets the EndpointIpAddressRange field's value. +func (s *OntapFileSystemConfiguration) SetEndpointIpAddressRange(v string) *OntapFileSystemConfiguration { + s.EndpointIpAddressRange = &v return s } -// SetDeploymentType sets the DeploymentType field's value. -func (s *LustreFileSystemConfiguration) SetDeploymentType(v string) *LustreFileSystemConfiguration { - s.DeploymentType = &v +// SetEndpoints sets the Endpoints field's value. +func (s *OntapFileSystemConfiguration) SetEndpoints(v *FileSystemEndpoints) *OntapFileSystemConfiguration { + s.Endpoints = v return s } -// SetDriveCacheType sets the DriveCacheType field's value. -func (s *LustreFileSystemConfiguration) SetDriveCacheType(v string) *LustreFileSystemConfiguration { - s.DriveCacheType = &v +// SetPreferredSubnetId sets the PreferredSubnetId field's value. +func (s *OntapFileSystemConfiguration) SetPreferredSubnetId(v string) *OntapFileSystemConfiguration { + s.PreferredSubnetId = &v return s } -// SetMountName sets the MountName field's value. -func (s *LustreFileSystemConfiguration) SetMountName(v string) *LustreFileSystemConfiguration { - s.MountName = &v +// SetRouteTableIds sets the RouteTableIds field's value. +func (s *OntapFileSystemConfiguration) SetRouteTableIds(v []*string) *OntapFileSystemConfiguration { + s.RouteTableIds = v return s } -// SetPerUnitStorageThroughput sets the PerUnitStorageThroughput field's value. -func (s *LustreFileSystemConfiguration) SetPerUnitStorageThroughput(v int64) *LustreFileSystemConfiguration { - s.PerUnitStorageThroughput = &v +// SetThroughputCapacity sets the ThroughputCapacity field's value. +func (s *OntapFileSystemConfiguration) SetThroughputCapacity(v int64) *OntapFileSystemConfiguration { + s.ThroughputCapacity = &v return s } // SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. -func (s *LustreFileSystemConfiguration) SetWeeklyMaintenanceStartTime(v string) *LustreFileSystemConfiguration { +func (s *OntapFileSystemConfiguration) SetWeeklyMaintenanceStartTime(v string) *OntapFileSystemConfiguration { s.WeeklyMaintenanceStartTime = &v return s } -// A file system configuration is required for this operation. -type MissingFileSystemConfiguration struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// The configuration of an Amazon FSx for NetApp ONTAP volume. +type OntapVolumeConfiguration struct { + _ struct{} `type:"structure"` - // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` + // Specifies the FlexCache endpoint type of the volume. Valid values are the + // following: + // + // * NONE specifies that the volume doesn't have a FlexCache configuration. + // NONE is the default. + // + // * ORIGIN specifies that the volume is the origin volume for a FlexCache + // volume. + // + // * CACHE specifies that the volume is a FlexCache volume. + FlexCacheEndpointType *string `type:"string" enum:"FlexCacheEndpointType"` + + // Specifies the directory that network-attached storage (NAS) clients use to + // mount the volume, along with the storage virtual machine (SVM) Domain Name + // System (DNS) name or IP address. You can create a JunctionPath directly below + // a parent volume junction or on a directory within a volume. A JunctionPath + // for a volume named vol3 might be /vol1/vol2/vol3, or /vol1/dir2/vol3, or + // even /dir1/dir2/vol3. + JunctionPath *string `min:"1" type:"string"` + + // Specifies the type of volume. Valid values are the following: + // + // * RW specifies a read/write volume. RW is the default. + // + // * DP specifies a data-protection volume. You can protect data by replicating + // it to data-protection mirror copies. If a disaster occurs, you can use + // these data-protection mirror copies to recover data. + // + // * LS specifies a load-sharing mirror volume. A load-sharing mirror reduces + // the network traffic to a FlexVol volume by providing additional read-only + // access to clients. + OntapVolumeType *string `type:"string" enum:"OntapVolumeType"` + + // The security style for the volume, which can be UNIX, NTFS, or MIXED. + SecurityStyle *string `type:"string" enum:"SecurityStyle"` + + // The configured size of the volume, in megabytes (MBs). + SizeInMegabytes *int64 `type:"integer"` + + // The volume's storage efficiency setting. + StorageEfficiencyEnabled *bool `type:"boolean"` + + // The ID of the volume's storage virtual machine. + StorageVirtualMachineId *string `min:"21" type:"string"` + + // A Boolean flag indicating whether this volume is the root volume for its + // storage virtual machine (SVM). Only one volume on an SVM can be the root + // volume. This value defaults to false. If this value is true, then this is + // the SVM root volume. + // + // This flag is useful when you're deleting an SVM, because you must first delete + // all non-root volumes. This flag, when set to false, helps you identify which + // volumes to delete before you can delete the SVM. + StorageVirtualMachineRoot *bool `type:"boolean"` + + // The volume's TieringPolicy setting. + TieringPolicy *TieringPolicy `type:"structure"` + + // The volume's universally unique identifier (UUID). + UUID *string `type:"string"` } // String returns the string representation. @@ -10811,7 +14563,7 @@ type MissingFileSystemConfiguration 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 MissingFileSystemConfiguration) String() string { +func (s OntapVolumeConfiguration) String() string { return awsutil.Prettify(s) } @@ -10820,55 +14572,97 @@ func (s MissingFileSystemConfiguration) 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 MissingFileSystemConfiguration) GoString() string { +func (s OntapVolumeConfiguration) GoString() string { return s.String() } -func newErrorMissingFileSystemConfiguration(v protocol.ResponseMetadata) error { - return &MissingFileSystemConfiguration{ - RespMetadata: v, - } +// SetFlexCacheEndpointType sets the FlexCacheEndpointType field's value. +func (s *OntapVolumeConfiguration) SetFlexCacheEndpointType(v string) *OntapVolumeConfiguration { + s.FlexCacheEndpointType = &v + return s } -// Code returns the exception type name. -func (s *MissingFileSystemConfiguration) Code() string { - return "MissingFileSystemConfiguration" +// SetJunctionPath sets the JunctionPath field's value. +func (s *OntapVolumeConfiguration) SetJunctionPath(v string) *OntapVolumeConfiguration { + s.JunctionPath = &v + return s } -// Message returns the exception's message. -func (s *MissingFileSystemConfiguration) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetOntapVolumeType sets the OntapVolumeType field's value. +func (s *OntapVolumeConfiguration) SetOntapVolumeType(v string) *OntapVolumeConfiguration { + s.OntapVolumeType = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *MissingFileSystemConfiguration) OrigErr() error { - return nil +// SetSecurityStyle sets the SecurityStyle field's value. +func (s *OntapVolumeConfiguration) SetSecurityStyle(v string) *OntapVolumeConfiguration { + s.SecurityStyle = &v + return s } -func (s *MissingFileSystemConfiguration) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetSizeInMegabytes sets the SizeInMegabytes field's value. +func (s *OntapVolumeConfiguration) SetSizeInMegabytes(v int64) *OntapVolumeConfiguration { + s.SizeInMegabytes = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *MissingFileSystemConfiguration) StatusCode() int { - return s.RespMetadata.StatusCode +// SetStorageEfficiencyEnabled sets the StorageEfficiencyEnabled field's value. +func (s *OntapVolumeConfiguration) SetStorageEfficiencyEnabled(v bool) *OntapVolumeConfiguration { + s.StorageEfficiencyEnabled = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *MissingFileSystemConfiguration) RequestID() string { - return s.RespMetadata.RequestID +// SetStorageVirtualMachineId sets the StorageVirtualMachineId field's value. +func (s *OntapVolumeConfiguration) SetStorageVirtualMachineId(v string) *OntapVolumeConfiguration { + s.StorageVirtualMachineId = &v + return s } -// A volume configuration is required for this operation. -type MissingVolumeConfiguration struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetStorageVirtualMachineRoot sets the StorageVirtualMachineRoot field's value. +func (s *OntapVolumeConfiguration) SetStorageVirtualMachineRoot(v bool) *OntapVolumeConfiguration { + s.StorageVirtualMachineRoot = &v + return s +} - // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` +// SetTieringPolicy sets the TieringPolicy field's value. +func (s *OntapVolumeConfiguration) SetTieringPolicy(v *TieringPolicy) *OntapVolumeConfiguration { + s.TieringPolicy = v + return s +} + +// SetUUID sets the UUID field's value. +func (s *OntapVolumeConfiguration) SetUUID(v string) *OntapVolumeConfiguration { + s.UUID = &v + return s +} + +// Specifies who can mount the file system and the options that can be used +// while mounting the file system. +type OpenZFSClientConfiguration struct { + _ struct{} `type:"structure"` + + // A value that specifies who can mount the file system. You can provide a wildcard + // character (*), an IP address (0.0.0.0), or a CIDR address (192.0.2.0/24. + // By default, Amazon FSx uses the wildcard character when specifying the client. + // + // Clients is a required field + Clients *string `min:"1" type:"string" required:"true"` + + // The options to use when mounting the file system. For a list of options that + // you can use with Network File System (NFS), see the exports(5) - Linux man + // page (https://linux.die.net/man/5/exports). When choosing your options, consider + // the following: + // + // * crossmount is used by default. If you don't specify crossmount when + // changing the client configuration, you won't be able to see or access + // snapshots in your file system's snapshot directory. + // + // * sync is used by default. If you instead specify async, the system acknowledges + // writes before writing to disk. If the system crashes before the writes + // are finished, you lose the unwritten data. + // + // Options is a required field + Options []*string `min:"1" type:"list" required:"true"` } // String returns the string representation. @@ -10876,7 +14670,7 @@ type MissingVolumeConfiguration 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 MissingVolumeConfiguration) String() string { +func (s OpenZFSClientConfiguration) String() string { return awsutil.Prettify(s) } @@ -10885,61 +14679,77 @@ func (s MissingVolumeConfiguration) 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 MissingVolumeConfiguration) GoString() string { +func (s OpenZFSClientConfiguration) GoString() string { return s.String() } -func newErrorMissingVolumeConfiguration(v protocol.ResponseMetadata) error { - return &MissingVolumeConfiguration{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *OpenZFSClientConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OpenZFSClientConfiguration"} + if s.Clients == nil { + invalidParams.Add(request.NewErrParamRequired("Clients")) } -} - -// Code returns the exception type name. -func (s *MissingVolumeConfiguration) Code() string { - return "MissingVolumeConfiguration" -} - -// Message returns the exception's message. -func (s *MissingVolumeConfiguration) Message() string { - if s.Message_ != nil { - return *s.Message_ + if s.Clients != nil && len(*s.Clients) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Clients", 1)) + } + if s.Options == nil { + invalidParams.Add(request.NewErrParamRequired("Options")) + } + if s.Options != nil && len(s.Options) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Options", 1)) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *MissingVolumeConfiguration) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *MissingVolumeConfiguration) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *MissingVolumeConfiguration) StatusCode() int { - return s.RespMetadata.StatusCode +// SetClients sets the Clients field's value. +func (s *OpenZFSClientConfiguration) SetClients(v string) *OpenZFSClientConfiguration { + s.Clients = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *MissingVolumeConfiguration) RequestID() string { - return s.RespMetadata.RequestID +// SetOptions sets the Options field's value. +func (s *OpenZFSClientConfiguration) SetOptions(v []*string) *OpenZFSClientConfiguration { + s.Options = v + return s } -// The resource specified for the tagging operation is not a resource type owned -// by Amazon FSx. Use the API of the relevant service to perform the operation. -type NotServiceResourceError struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// The configuration of an Amazon FSx for OpenZFS root volume. +type OpenZFSCreateRootVolumeConfiguration struct { + _ struct{} `type:"structure"` - // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` + // A Boolean value indicating whether tags for the volume should be copied to + // snapshots. This value defaults to false. If it's set to true, all tags for + // the volume are copied to snapshots where the user doesn't specify tags. If + // this value is true and you specify one or more tags, only the specified tags + // are copied to snapshots. If you specify one or more tags when creating the + // snapshot, no tags are copied from the volume, regardless of this value. + CopyTagsToSnapshots *bool `type:"boolean"` - // The Amazon Resource Name (ARN) of the non-Amazon FSx resource. + // Specifies the method used to compress the data on the volume. Unless the + // compression type is specified, volumes inherit the DataCompressionType value + // of their parent volume. // - // ResourceARN is a required field - ResourceARN *string `min:"8" type:"string" required:"true"` + // * NONE - Doesn't compress the data on the volume. + // + // * ZSTD - Compresses the data in the volume using the ZStandard (ZSTD) + // compression algorithm. This algorithm reduces the amount of space used + // on your volume and has very little impact on compute resources. + DataCompressionType *string `type:"string" enum:"OpenZFSDataCompressionType"` + + // The configuration object for mounting a file system. + NfsExports []*OpenZFSNfsExport `type:"list"` + + // A Boolean value indicating whether the volume is read-only. Setting this + // value to true can be useful after you have completed changes to a volume + // and no longer want changes to occur. + ReadOnly *bool `type:"boolean"` + + // An object specifying how much storage users or groups can use on the volume. + UserAndGroupQuotas []*OpenZFSUserOrGroupQuota `type:"list"` } // String returns the string representation. @@ -10947,7 +14757,7 @@ type NotServiceResourceError 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 NotServiceResourceError) String() string { +func (s OpenZFSCreateRootVolumeConfiguration) String() string { return awsutil.Prettify(s) } @@ -10956,87 +14766,118 @@ func (s NotServiceResourceError) 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 NotServiceResourceError) GoString() string { +func (s OpenZFSCreateRootVolumeConfiguration) GoString() string { return s.String() } -func newErrorNotServiceResourceError(v protocol.ResponseMetadata) error { - return &NotServiceResourceError{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *OpenZFSCreateRootVolumeConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OpenZFSCreateRootVolumeConfiguration"} + if s.NfsExports != nil { + for i, v := range s.NfsExports { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NfsExports", i), err.(request.ErrInvalidParams)) + } + } + } + if s.UserAndGroupQuotas != nil { + for i, v := range s.UserAndGroupQuotas { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAndGroupQuotas", i), err.(request.ErrInvalidParams)) + } + } } -} -// Code returns the exception type name. -func (s *NotServiceResourceError) Code() string { - return "NotServiceResourceError" + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// Message returns the exception's message. -func (s *NotServiceResourceError) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetCopyTagsToSnapshots sets the CopyTagsToSnapshots field's value. +func (s *OpenZFSCreateRootVolumeConfiguration) SetCopyTagsToSnapshots(v bool) *OpenZFSCreateRootVolumeConfiguration { + s.CopyTagsToSnapshots = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *NotServiceResourceError) OrigErr() error { - return nil +// SetDataCompressionType sets the DataCompressionType field's value. +func (s *OpenZFSCreateRootVolumeConfiguration) SetDataCompressionType(v string) *OpenZFSCreateRootVolumeConfiguration { + s.DataCompressionType = &v + return s } -func (s *NotServiceResourceError) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetNfsExports sets the NfsExports field's value. +func (s *OpenZFSCreateRootVolumeConfiguration) SetNfsExports(v []*OpenZFSNfsExport) *OpenZFSCreateRootVolumeConfiguration { + s.NfsExports = v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *NotServiceResourceError) StatusCode() int { - return s.RespMetadata.StatusCode +// SetReadOnly sets the ReadOnly field's value. +func (s *OpenZFSCreateRootVolumeConfiguration) SetReadOnly(v bool) *OpenZFSCreateRootVolumeConfiguration { + s.ReadOnly = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *NotServiceResourceError) RequestID() string { - return s.RespMetadata.RequestID +// SetUserAndGroupQuotas sets the UserAndGroupQuotas field's value. +func (s *OpenZFSCreateRootVolumeConfiguration) SetUserAndGroupQuotas(v []*OpenZFSUserOrGroupQuota) *OpenZFSCreateRootVolumeConfiguration { + s.UserAndGroupQuotas = v + return s } -// Configuration for the FSx for NetApp ONTAP file system. -type OntapFileSystemConfiguration struct { +// The configuration for the Amazon FSx for OpenZFS file system. +type OpenZFSFileSystemConfiguration struct { _ struct{} `type:"structure"` - // The number of days to retain automatic backups. Setting this to 0 disables - // automatic backups. You can retain automatic backups for a maximum of 90 days. - // The default is 0. + // The number of days to retain automatic backups. Setting this property to + // 0 disables automatic backups. You can retain automatic backups for a maximum + // of 90 days. The default is 0. AutomaticBackupRetentionDays *int64 `type:"integer"` + // A Boolean value indicating whether tags on the file system should be copied + // to backups. If it's set to true, all tags on the file system are copied to + // all automatic backups and any user-initiated backups where the user doesn't + // specify any tags. If this value is true and you specify one or more tags, + // only the specified tags are copied to backups. If you specify one or more + // tags when creating a user-initiated backup, no tags are copied from the file + // system, regardless of this value. + CopyTagsToBackups *bool `type:"boolean"` + + // A Boolean value indicating whether tags for the volume should be copied to + // snapshots. This value defaults to false. If it's set to true, all tags for + // the volume are copied to snapshots where the user doesn't specify tags. If + // this value is true and you specify one or more tags, only the specified tags + // are copied to snapshots. If you specify one or more tags when creating the + // snapshot, no tags are copied from the volume, regardless of this value. + CopyTagsToVolumes *bool `type:"boolean"` + // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of // the day (0-23), and MM is the zero-padded minute of the hour. For example, // 05:00 specifies 5 AM daily. DailyAutomaticBackupStartTime *string `min:"5" type:"string"` - // The ONTAP file system deployment type. - DeploymentType *string `type:"string" enum:"OntapDeploymentType"` + // Specifies the file-system deployment type. Amazon FSx for OpenZFS supports + // SINGLE_AZ_1. SINGLE_AZ_1 is a file system configured for a single Availability + // Zone (AZ) of redundancy. + DeploymentType *string `type:"string" enum:"OpenZFSDeploymentType"` - // The SSD IOPS configuration for the ONTAP file system, specifying the number - // of provisioned IOPS and the provision mode. + // The SSD IOPS (input/output operations per second) configuration for an Amazon + // FSx for NetApp ONTAP or Amazon FSx for OpenZFS 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 the total number of provisioned + // SSD IOPS and how the amount was provisioned (by the customer or by the system). DiskIopsConfiguration *DiskIopsConfiguration `type:"structure"` - // The IP address range in which the endpoints to access your file system are - // created. - EndpointIpAddressRange *string `min:"9" type:"string"` - - // The Management and Intercluster endpoints that are used to access data or - // to manage the file system using the NetApp ONTAP CLI, REST API, or NetApp - // SnapMirror. - Endpoints *FileSystemEndpoints `type:"structure"` - - // The ID for a subnet. A subnet is a range of IP addresses in your virtual - // private cloud (VPC). For more information, see VPC and Subnets (https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html) - // in the Amazon VPC User Guide. - PreferredSubnetId *string `min:"15" type:"string"` + // The ID of the root volume of the OpenZFS file system. + RootVolumeId *string `min:"23" type:"string"` - // The VPC route tables in which your file system's endpoints are created. - RouteTableIds []*string `type:"list"` - - // Sustained throughput of an Amazon FSx file system in MBps. + // 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). ThroughputCapacity *int64 `min:"8" type:"integer"` // A recurring weekly time, in the format D:HH:MM. @@ -11057,7 +14898,7 @@ type OntapFileSystemConfiguration 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 OntapFileSystemConfiguration) String() string { +func (s OpenZFSFileSystemConfiguration) String() string { return awsutil.Prettify(s) } @@ -11066,133 +14907,301 @@ func (s OntapFileSystemConfiguration) 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 OntapFileSystemConfiguration) GoString() string { +func (s OpenZFSFileSystemConfiguration) GoString() string { return s.String() } // SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. -func (s *OntapFileSystemConfiguration) SetAutomaticBackupRetentionDays(v int64) *OntapFileSystemConfiguration { +func (s *OpenZFSFileSystemConfiguration) SetAutomaticBackupRetentionDays(v int64) *OpenZFSFileSystemConfiguration { s.AutomaticBackupRetentionDays = &v return s } +// SetCopyTagsToBackups sets the CopyTagsToBackups field's value. +func (s *OpenZFSFileSystemConfiguration) SetCopyTagsToBackups(v bool) *OpenZFSFileSystemConfiguration { + s.CopyTagsToBackups = &v + return s +} + +// SetCopyTagsToVolumes sets the CopyTagsToVolumes field's value. +func (s *OpenZFSFileSystemConfiguration) SetCopyTagsToVolumes(v bool) *OpenZFSFileSystemConfiguration { + s.CopyTagsToVolumes = &v + return s +} + // SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. -func (s *OntapFileSystemConfiguration) SetDailyAutomaticBackupStartTime(v string) *OntapFileSystemConfiguration { +func (s *OpenZFSFileSystemConfiguration) SetDailyAutomaticBackupStartTime(v string) *OpenZFSFileSystemConfiguration { s.DailyAutomaticBackupStartTime = &v return s } // SetDeploymentType sets the DeploymentType field's value. -func (s *OntapFileSystemConfiguration) SetDeploymentType(v string) *OntapFileSystemConfiguration { +func (s *OpenZFSFileSystemConfiguration) SetDeploymentType(v string) *OpenZFSFileSystemConfiguration { s.DeploymentType = &v return s } // SetDiskIopsConfiguration sets the DiskIopsConfiguration field's value. -func (s *OntapFileSystemConfiguration) SetDiskIopsConfiguration(v *DiskIopsConfiguration) *OntapFileSystemConfiguration { +func (s *OpenZFSFileSystemConfiguration) SetDiskIopsConfiguration(v *DiskIopsConfiguration) *OpenZFSFileSystemConfiguration { s.DiskIopsConfiguration = v return s } -// SetEndpointIpAddressRange sets the EndpointIpAddressRange field's value. -func (s *OntapFileSystemConfiguration) SetEndpointIpAddressRange(v string) *OntapFileSystemConfiguration { - s.EndpointIpAddressRange = &v +// SetRootVolumeId sets the RootVolumeId field's value. +func (s *OpenZFSFileSystemConfiguration) SetRootVolumeId(v string) *OpenZFSFileSystemConfiguration { + s.RootVolumeId = &v return s } -// SetEndpoints sets the Endpoints field's value. -func (s *OntapFileSystemConfiguration) SetEndpoints(v *FileSystemEndpoints) *OntapFileSystemConfiguration { - s.Endpoints = v +// SetThroughputCapacity sets the ThroughputCapacity field's value. +func (s *OpenZFSFileSystemConfiguration) SetThroughputCapacity(v int64) *OpenZFSFileSystemConfiguration { + s.ThroughputCapacity = &v return s } -// SetPreferredSubnetId sets the PreferredSubnetId field's value. -func (s *OntapFileSystemConfiguration) SetPreferredSubnetId(v string) *OntapFileSystemConfiguration { - s.PreferredSubnetId = &v +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *OpenZFSFileSystemConfiguration) SetWeeklyMaintenanceStartTime(v string) *OpenZFSFileSystemConfiguration { + s.WeeklyMaintenanceStartTime = &v return s } -// SetRouteTableIds sets the RouteTableIds field's value. -func (s *OntapFileSystemConfiguration) SetRouteTableIds(v []*string) *OntapFileSystemConfiguration { - s.RouteTableIds = v +// The Network File System NFS) configurations for mounting an Amazon FSx for +// OpenZFS file system. +type OpenZFSNfsExport struct { + _ struct{} `type:"structure"` + + // A list of configuration objects that contain the client and options for mounting + // the OpenZFS file system. + // + // ClientConfigurations is a required field + ClientConfigurations []*OpenZFSClientConfiguration `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s OpenZFSNfsExport) 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 OpenZFSNfsExport) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OpenZFSNfsExport) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OpenZFSNfsExport"} + if s.ClientConfigurations == nil { + invalidParams.Add(request.NewErrParamRequired("ClientConfigurations")) + } + if s.ClientConfigurations != nil { + for i, v := range s.ClientConfigurations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ClientConfigurations", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientConfigurations sets the ClientConfigurations field's value. +func (s *OpenZFSNfsExport) SetClientConfigurations(v []*OpenZFSClientConfiguration) *OpenZFSNfsExport { + s.ClientConfigurations = v return s } -// SetThroughputCapacity sets the ThroughputCapacity field's value. -func (s *OntapFileSystemConfiguration) SetThroughputCapacity(v int64) *OntapFileSystemConfiguration { - s.ThroughputCapacity = &v +// The snapshot configuration to use when creating an OpenZFS volume from a +// snapshot. +type OpenZFSOriginSnapshotConfiguration struct { + _ struct{} `type:"structure"` + + // The strategy used when copying data from the snapshot to the new volume. + // + // * CLONE - The new volume references the data in the origin snapshot. Cloning + // a snapshot is faster than copying the data from a snapshot to a new volume + // and doesn't consume disk throughput. However, the origin snapshot can't + // be deleted if there is a volume using its copied data. + // + // * FULL_COPY - Copies all data from the snapshot to the new volume. + CopyStrategy *string `type:"string" enum:"OpenZFSCopyStrategy"` + + // The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify + // Amazon Web Services resources. We require an ARN when you need to specify + // a resource unambiguously across all of Amazon Web Services. For more information, + // see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the Amazon Web Services General Reference. + SnapshotARN *string `min:"8" 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 OpenZFSOriginSnapshotConfiguration) 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 OpenZFSOriginSnapshotConfiguration) GoString() string { + return s.String() +} + +// SetCopyStrategy sets the CopyStrategy field's value. +func (s *OpenZFSOriginSnapshotConfiguration) SetCopyStrategy(v string) *OpenZFSOriginSnapshotConfiguration { + s.CopyStrategy = &v return s } -// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. -func (s *OntapFileSystemConfiguration) SetWeeklyMaintenanceStartTime(v string) *OntapFileSystemConfiguration { - s.WeeklyMaintenanceStartTime = &v +// SetSnapshotARN sets the SnapshotARN field's value. +func (s *OpenZFSOriginSnapshotConfiguration) SetSnapshotARN(v string) *OpenZFSOriginSnapshotConfiguration { + s.SnapshotARN = &v return s } -// The configuration of an Amazon FSx for NetApp ONTAP volume -type OntapVolumeConfiguration struct { +// The configuration for how much storage a user or group can use on the volume. +type OpenZFSUserOrGroupQuota struct { _ struct{} `type:"structure"` - // Specifies the FlexCache endpoint type of the volume. Valid values are the - // following: + // The ID of the user or group. // - // * NONE specifies that the volume doesn't have a FlexCache configuration. - // NONE is the default. + // Id is a required field + Id *int64 `type:"integer" required:"true"` + + // The amount of storage that the user or group can use in gibibytes (GiB). // - // * ORIGIN specifies that the volume is the origin volume for a FlexCache - // volume. + // StorageCapacityQuotaGiB is a required field + StorageCapacityQuotaGiB *int64 `type:"integer" required:"true"` + + // A value that specifies whether the quota applies to a user or group. // - // * CACHE specifies that the volume is a FlexCache volume. - FlexCacheEndpointType *string `type:"string" enum:"FlexCacheEndpointType"` + // Type is a required field + Type *string `type:"string" required:"true" enum:"OpenZFSQuotaType"` +} - // Specifies the directory that NAS clients use to mount the volume, along with - // the SVM DNS name or IP address. You can create a JunctionPath directly below - // a parent volume junction or on a directory within a volume. A JunctionPath - // for a volume named vol3 might be /vol1/vol2/vol3, or /vol1/dir2/vol3, or - // even /dir1/dir2/vol3.. - JunctionPath *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 OpenZFSUserOrGroupQuota) String() string { + return awsutil.Prettify(s) +} - // Specifies the type of volume. Valid values are the following: - // - // * RW specifies a read-write volume. RW is the default. +// 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 OpenZFSUserOrGroupQuota) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *OpenZFSUserOrGroupQuota) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "OpenZFSUserOrGroupQuota"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.StorageCapacityQuotaGiB == nil { + invalidParams.Add(request.NewErrParamRequired("StorageCapacityQuotaGiB")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *OpenZFSUserOrGroupQuota) SetId(v int64) *OpenZFSUserOrGroupQuota { + s.Id = &v + return s +} + +// SetStorageCapacityQuotaGiB sets the StorageCapacityQuotaGiB field's value. +func (s *OpenZFSUserOrGroupQuota) SetStorageCapacityQuotaGiB(v int64) *OpenZFSUserOrGroupQuota { + s.StorageCapacityQuotaGiB = &v + return s +} + +// SetType sets the Type field's value. +func (s *OpenZFSUserOrGroupQuota) SetType(v string) *OpenZFSUserOrGroupQuota { + s.Type = &v + return s +} + +// The configuration of an Amazon FSx for OpenZFS volume. +type OpenZFSVolumeConfiguration struct { + _ struct{} `type:"structure"` + + // A Boolean value indicating whether tags for the volume should be copied to + // snapshots. This value defaults to false. If it's set to true, all tags for + // the volume are copied to snapshots where the user doesn't specify tags. If + // this value is true and you specify one or more tags, only the specified tags + // are copied to snapshots. If you specify one or more tags when creating the + // snapshot, no tags are copied from the volume, regardless of this value. + CopyTagsToSnapshots *bool `type:"boolean"` + + // The method used to compress the data on the volume. Unless a compression + // type is specified, volumes inherit the DataCompressionType value of their + // parent volume. // - // * DP specifies a data protection volume. You can protect data by replicating - // it to data protection mirror copies and use data protection mirror copies - // to recover data when a disaster occurs. + // * NONE - Doesn't compress the data on the volume. // - // * LS specifies a load-sharing mirror volume. A load-sharing mirror reduces - // the network traffic to a FlexVol volume by providing additional read-only - // access to clients. - OntapVolumeType *string `type:"string" enum:"OntapVolumeType"` + // * ZSTD - Compresses the data in the volume using the Zstandard (ZSTD) + // compression algorithm. This algorithm reduces the amount of space used + // on your volume and has very little impact on compute resources. + DataCompressionType *string `type:"string" enum:"OpenZFSDataCompressionType"` - // The security style for the volume, which can be UNIX, NTFS, or MIXED. - SecurityStyle *string `type:"string" enum:"SecurityStyle"` + // The configuration object for mounting a Network File System (NFS) file system. + NfsExports []*OpenZFSNfsExport `type:"list"` - // The configured size of the volume, in megabytes (MBs). - SizeInMegabytes *int64 `type:"integer"` + // The configuration object that specifies the snapshot to use as the origin + // of the data for the volume. + OriginSnapshot *OpenZFSOriginSnapshotConfiguration `type:"structure"` - // The volume's storage efficiency setting. - StorageEfficiencyEnabled *bool `type:"boolean"` + // The ID of the parent volume. + ParentVolumeId *string `min:"23" type:"string"` - // The ID of the volume's storage virtual machine. - StorageVirtualMachineId *string `min:"21" type:"string"` + // A Boolean value indicating whether the volume is read-only. + ReadOnly *bool `type:"boolean"` - // A boolean flag indicating whether this volume is the root volume for its - // storage virtual machine (SVM). Only one volume on an SVM can be the root - // volume. This value defaults to false. If this value is true, then this is - // the SVM root volume. - // - // This flag is useful when you're deleting an SVM, because you must first delete - // all non-root volumes. This flag, when set to false, helps you identify which - // volumes to delete before you can delete the SVM. - StorageVirtualMachineRoot *bool `type:"boolean"` + // The maximum amount of storage in gibibtyes (GiB) that the volume can use + // from its parent. You can specify a quota larger than the storage on the parent + // volume. + StorageCapacityQuotaGiB *int64 `type:"integer"` - // The volume's TieringPolicy setting. - TieringPolicy *TieringPolicy `type:"structure"` + // The amount of storage in gibibytes (GiB) to reserve from the parent volume. + // You can't reserve more storage than the parent volume has reserved. + StorageCapacityReservationGiB *int64 `type:"integer"` - // The volume's UUID (universally unique identifier). - UUID *string `type:"string"` + // An object specifying how much storage users or groups can use on the volume. + UserAndGroupQuotas []*OpenZFSUserOrGroupQuota `type:"list"` + + // The path to the volume from the root volume. For example, fsx/parentVolume/volume1. + VolumePath *string `min:"1" type:"string"` } // String returns the string representation. @@ -11200,7 +15209,7 @@ type OntapVolumeConfiguration 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 OntapVolumeConfiguration) String() string { +func (s OpenZFSVolumeConfiguration) String() string { return awsutil.Prettify(s) } @@ -11209,67 +15218,161 @@ func (s OntapVolumeConfiguration) 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 OntapVolumeConfiguration) GoString() string { +func (s OpenZFSVolumeConfiguration) GoString() string { return s.String() } -// SetFlexCacheEndpointType sets the FlexCacheEndpointType field's value. -func (s *OntapVolumeConfiguration) SetFlexCacheEndpointType(v string) *OntapVolumeConfiguration { - s.FlexCacheEndpointType = &v +// SetCopyTagsToSnapshots sets the CopyTagsToSnapshots field's value. +func (s *OpenZFSVolumeConfiguration) SetCopyTagsToSnapshots(v bool) *OpenZFSVolumeConfiguration { + s.CopyTagsToSnapshots = &v return s } -// SetJunctionPath sets the JunctionPath field's value. -func (s *OntapVolumeConfiguration) SetJunctionPath(v string) *OntapVolumeConfiguration { - s.JunctionPath = &v +// SetDataCompressionType sets the DataCompressionType field's value. +func (s *OpenZFSVolumeConfiguration) SetDataCompressionType(v string) *OpenZFSVolumeConfiguration { + s.DataCompressionType = &v return s } -// SetOntapVolumeType sets the OntapVolumeType field's value. -func (s *OntapVolumeConfiguration) SetOntapVolumeType(v string) *OntapVolumeConfiguration { - s.OntapVolumeType = &v +// SetNfsExports sets the NfsExports field's value. +func (s *OpenZFSVolumeConfiguration) SetNfsExports(v []*OpenZFSNfsExport) *OpenZFSVolumeConfiguration { + s.NfsExports = v return s } -// SetSecurityStyle sets the SecurityStyle field's value. -func (s *OntapVolumeConfiguration) SetSecurityStyle(v string) *OntapVolumeConfiguration { - s.SecurityStyle = &v +// SetOriginSnapshot sets the OriginSnapshot field's value. +func (s *OpenZFSVolumeConfiguration) SetOriginSnapshot(v *OpenZFSOriginSnapshotConfiguration) *OpenZFSVolumeConfiguration { + s.OriginSnapshot = v return s } -// SetSizeInMegabytes sets the SizeInMegabytes field's value. -func (s *OntapVolumeConfiguration) SetSizeInMegabytes(v int64) *OntapVolumeConfiguration { - s.SizeInMegabytes = &v +// SetParentVolumeId sets the ParentVolumeId field's value. +func (s *OpenZFSVolumeConfiguration) SetParentVolumeId(v string) *OpenZFSVolumeConfiguration { + s.ParentVolumeId = &v return s } -// SetStorageEfficiencyEnabled sets the StorageEfficiencyEnabled field's value. -func (s *OntapVolumeConfiguration) SetStorageEfficiencyEnabled(v bool) *OntapVolumeConfiguration { - s.StorageEfficiencyEnabled = &v +// SetReadOnly sets the ReadOnly field's value. +func (s *OpenZFSVolumeConfiguration) SetReadOnly(v bool) *OpenZFSVolumeConfiguration { + s.ReadOnly = &v return s } -// SetStorageVirtualMachineId sets the StorageVirtualMachineId field's value. -func (s *OntapVolumeConfiguration) SetStorageVirtualMachineId(v string) *OntapVolumeConfiguration { - s.StorageVirtualMachineId = &v +// SetStorageCapacityQuotaGiB sets the StorageCapacityQuotaGiB field's value. +func (s *OpenZFSVolumeConfiguration) SetStorageCapacityQuotaGiB(v int64) *OpenZFSVolumeConfiguration { + s.StorageCapacityQuotaGiB = &v return s } -// SetStorageVirtualMachineRoot sets the StorageVirtualMachineRoot field's value. -func (s *OntapVolumeConfiguration) SetStorageVirtualMachineRoot(v bool) *OntapVolumeConfiguration { - s.StorageVirtualMachineRoot = &v +// SetStorageCapacityReservationGiB sets the StorageCapacityReservationGiB field's value. +func (s *OpenZFSVolumeConfiguration) SetStorageCapacityReservationGiB(v int64) *OpenZFSVolumeConfiguration { + s.StorageCapacityReservationGiB = &v return s } -// SetTieringPolicy sets the TieringPolicy field's value. -func (s *OntapVolumeConfiguration) SetTieringPolicy(v *TieringPolicy) *OntapVolumeConfiguration { - s.TieringPolicy = v +// SetUserAndGroupQuotas sets the UserAndGroupQuotas field's value. +func (s *OpenZFSVolumeConfiguration) SetUserAndGroupQuotas(v []*OpenZFSUserOrGroupQuota) *OpenZFSVolumeConfiguration { + s.UserAndGroupQuotas = v return s } -// SetUUID sets the UUID field's value. -func (s *OntapVolumeConfiguration) SetUUID(v string) *OntapVolumeConfiguration { - s.UUID = &v +// SetVolumePath sets the VolumePath field's value. +func (s *OpenZFSVolumeConfiguration) SetVolumePath(v string) *OpenZFSVolumeConfiguration { + s.VolumePath = &v + return s +} + +type ReleaseFileSystemNfsV3LocksInput struct { + _ struct{} `type:"structure"` + + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The globally unique ID of the file system, assigned by Amazon FSx. + // + // FileSystemId is a required field + FileSystemId *string `min:"11" 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 ReleaseFileSystemNfsV3LocksInput) 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 ReleaseFileSystemNfsV3LocksInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ReleaseFileSystemNfsV3LocksInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ReleaseFileSystemNfsV3LocksInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.FileSystemId == nil { + invalidParams.Add(request.NewErrParamRequired("FileSystemId")) + } + if s.FileSystemId != nil && len(*s.FileSystemId) < 11 { + invalidParams.Add(request.NewErrParamMinLen("FileSystemId", 11)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *ReleaseFileSystemNfsV3LocksInput) SetClientRequestToken(v string) *ReleaseFileSystemNfsV3LocksInput { + s.ClientRequestToken = &v + return s +} + +// SetFileSystemId sets the FileSystemId field's value. +func (s *ReleaseFileSystemNfsV3LocksInput) SetFileSystemId(v string) *ReleaseFileSystemNfsV3LocksInput { + s.FileSystemId = &v + return s +} + +type ReleaseFileSystemNfsV3LocksOutput struct { + _ struct{} `type:"structure"` + + // A description of a specific Amazon FSx file system. + FileSystem *FileSystem `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 ReleaseFileSystemNfsV3LocksOutput) 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 ReleaseFileSystemNfsV3LocksOutput) GoString() string { + return s.String() +} + +// SetFileSystem sets the FileSystem field's value. +func (s *ReleaseFileSystemNfsV3LocksOutput) SetFileSystem(v *FileSystem) *ReleaseFileSystemNfsV3LocksOutput { + s.FileSystem = v return s } @@ -11338,23 +15441,187 @@ func (s *ResourceDoesNotSupportTagging) StatusCode() int { return s.RespMetadata.StatusCode } -// RequestID returns the service's response RequestID for request. -func (s *ResourceDoesNotSupportTagging) RequestID() string { - return s.RespMetadata.RequestID +// RequestID returns the service's response RequestID for request. +func (s *ResourceDoesNotSupportTagging) RequestID() string { + return s.RespMetadata.RequestID +} + +// The resource specified by the Amazon Resource Name (ARN) can't be found. +type ResourceNotFound struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A detailed error message. + Message_ *string `locationName:"Message" min:"1" type:"string"` + + // The resource ARN of the resource that can't be found. + // + // ResourceARN is a required field + ResourceARN *string `min:"8" 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 ResourceNotFound) 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 ResourceNotFound) GoString() string { + return s.String() +} + +func newErrorResourceNotFound(v protocol.ResponseMetadata) error { + return &ResourceNotFound{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFound) Code() string { + return "ResourceNotFound" +} + +// Message returns the exception's message. +func (s *ResourceNotFound) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFound) OrigErr() error { + return nil +} + +func (s *ResourceNotFound) 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 *ResourceNotFound) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFound) RequestID() string { + return s.RespMetadata.RequestID +} + +type RestoreVolumeFromSnapshotInput struct { + _ struct{} `type:"structure"` + + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // The settings used when restoring the specified volume from snapshot. + // + // * DELETE_INTERMEDIATE_SNAPSHOTS - Deletes snapshots between the current + // state and the specified snapshot. If there are intermediate snapshots + // and this option isn't used, RestoreVolumeFromSnapshot fails. + // + // * DELETE_CLONED_VOLUMES - Deletes any volumes cloned from this volume. + // If there are any cloned volumes and this option isn't used, RestoreVolumeFromSnapshot + // fails. + Options []*string `type:"list"` + + // The ID of the source snapshot. Specifies the snapshot that you are restoring + // from. + // + // SnapshotId is a required field + SnapshotId *string `min:"11" type:"string" required:"true"` + + // The ID of the volume that you are restoring. + // + // VolumeId is a required field + VolumeId *string `min:"23" 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 RestoreVolumeFromSnapshotInput) 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 RestoreVolumeFromSnapshotInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RestoreVolumeFromSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RestoreVolumeFromSnapshotInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.SnapshotId == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotId")) + } + if s.SnapshotId != nil && len(*s.SnapshotId) < 11 { + invalidParams.Add(request.NewErrParamMinLen("SnapshotId", 11)) + } + if s.VolumeId == nil { + invalidParams.Add(request.NewErrParamRequired("VolumeId")) + } + if s.VolumeId != nil && len(*s.VolumeId) < 23 { + invalidParams.Add(request.NewErrParamMinLen("VolumeId", 23)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *RestoreVolumeFromSnapshotInput) SetClientRequestToken(v string) *RestoreVolumeFromSnapshotInput { + s.ClientRequestToken = &v + return s +} + +// SetOptions sets the Options field's value. +func (s *RestoreVolumeFromSnapshotInput) SetOptions(v []*string) *RestoreVolumeFromSnapshotInput { + s.Options = v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *RestoreVolumeFromSnapshotInput) SetSnapshotId(v string) *RestoreVolumeFromSnapshotInput { + s.SnapshotId = &v + return s +} + +// SetVolumeId sets the VolumeId field's value. +func (s *RestoreVolumeFromSnapshotInput) SetVolumeId(v string) *RestoreVolumeFromSnapshotInput { + s.VolumeId = &v + return s } -// The resource specified by the Amazon Resource Name (ARN) can't be found. -type ResourceNotFound struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type RestoreVolumeFromSnapshotOutput struct { + _ struct{} `type:"structure"` - // A detailed error message. - Message_ *string `locationName:"Message" min:"1" type:"string"` + // The lifecycle state of the volume being restored. + Lifecycle *string `type:"string" enum:"VolumeLifecycle"` - // The resource ARN of the resource that can't be found. - // - // ResourceARN is a required field - ResourceARN *string `min:"8" type:"string" required:"true"` + // The ID of the volume that you restored. + VolumeId *string `min:"23" type:"string"` } // String returns the string representation. @@ -11362,7 +15629,7 @@ type ResourceNotFound 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 ResourceNotFound) String() string { +func (s RestoreVolumeFromSnapshotOutput) String() string { return awsutil.Prettify(s) } @@ -11371,46 +15638,69 @@ func (s ResourceNotFound) 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 ResourceNotFound) GoString() string { +func (s RestoreVolumeFromSnapshotOutput) GoString() string { return s.String() } -func newErrorResourceNotFound(v protocol.ResponseMetadata) error { - return &ResourceNotFound{ - RespMetadata: v, - } +// SetLifecycle sets the Lifecycle field's value. +func (s *RestoreVolumeFromSnapshotOutput) SetLifecycle(v string) *RestoreVolumeFromSnapshotOutput { + s.Lifecycle = &v + return s } -// Code returns the exception type name. -func (s *ResourceNotFound) Code() string { - return "ResourceNotFound" +// SetVolumeId sets the VolumeId field's value. +func (s *RestoreVolumeFromSnapshotOutput) SetVolumeId(v string) *RestoreVolumeFromSnapshotOutput { + s.VolumeId = &v + return s } -// Message returns the exception's message. -func (s *ResourceNotFound) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// The configuration for an Amazon S3 data repository linked to an Amazon FSx +// Lustre file system with a data repository association. The configuration +// consists of an AutoImportPolicy that defines file events on the data repository +// are automatically imported to the file system and an AutoExportPolicy that +// defines which file events on the file system are automatically exported to +// the data repository. File events are when files or directories are added, +// changed, or deleted on the file system or the data repository. +type S3DataRepositoryConfiguration struct { + _ struct{} `type:"structure"` + + // Specifies the type of updated objects (new, changed, deleted) that will be + // automatically exported from your file system to the linked S3 bucket. + AutoExportPolicy *AutoExportPolicy `type:"structure"` + + // Specifies the type of updated objects (new, changed, deleted) that will be + // automatically imported from the linked S3 bucket to your file system. + AutoImportPolicy *AutoImportPolicy `type:"structure"` } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceNotFound) OrigErr() error { - return nil +// 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 S3DataRepositoryConfiguration) String() string { + return awsutil.Prettify(s) } -func (s *ResourceNotFound) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s S3DataRepositoryConfiguration) GoString() string { + return s.String() } -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceNotFound) StatusCode() int { - return s.RespMetadata.StatusCode +// SetAutoExportPolicy sets the AutoExportPolicy field's value. +func (s *S3DataRepositoryConfiguration) SetAutoExportPolicy(v *AutoExportPolicy) *S3DataRepositoryConfiguration { + s.AutoExportPolicy = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ResourceNotFound) RequestID() string { - return s.RespMetadata.RequestID +// SetAutoImportPolicy sets the AutoImportPolicy field's value. +func (s *S3DataRepositoryConfiguration) SetAutoImportPolicy(v *AutoImportPolicy) *S3DataRepositoryConfiguration { + s.AutoImportPolicy = v + return s } // The configuration of the self-managed Microsoft Active Directory (AD) directory @@ -11697,41 +15987,259 @@ func (s *SelfManagedActiveDirectoryConfigurationUpdates) Validate() error { invalidParams.Add(request.NewErrParamMinLen("UserName", 1)) } - if invalidParams.Len() > 0 { - return invalidParams - } - return nil + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDnsIps sets the DnsIps field's value. +func (s *SelfManagedActiveDirectoryConfigurationUpdates) SetDnsIps(v []*string) *SelfManagedActiveDirectoryConfigurationUpdates { + s.DnsIps = v + return s +} + +// SetPassword sets the Password field's value. +func (s *SelfManagedActiveDirectoryConfigurationUpdates) SetPassword(v string) *SelfManagedActiveDirectoryConfigurationUpdates { + s.Password = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *SelfManagedActiveDirectoryConfigurationUpdates) SetUserName(v string) *SelfManagedActiveDirectoryConfigurationUpdates { + s.UserName = &v + return s +} + +// An error indicating that a particular service limit was exceeded. You can +// increase some service limits by contacting Amazon Web Services Support. +type ServiceLimitExceeded struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // Enumeration of the service limit that was exceeded. + // + // Limit is a required field + Limit *string `type:"string" required:"true" enum:"ServiceLimit"` + + // A detailed error message. + Message_ *string `locationName:"Message" 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 ServiceLimitExceeded) 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 ServiceLimitExceeded) GoString() string { + return s.String() +} + +func newErrorServiceLimitExceeded(v protocol.ResponseMetadata) error { + return &ServiceLimitExceeded{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceLimitExceeded) Code() string { + return "ServiceLimitExceeded" +} + +// Message returns the exception's message. +func (s *ServiceLimitExceeded) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceLimitExceeded) OrigErr() error { + return nil +} + +func (s *ServiceLimitExceeded) 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 *ServiceLimitExceeded) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceLimitExceeded) RequestID() string { + return s.RespMetadata.RequestID +} + +// A snapshot of an Amazon FSx for OpenZFS volume. +type Snapshot struct { + _ struct{} `type:"structure"` + + // A list of administrative actions for the file system that are in process + // or waiting to be processed. Administrative actions describe changes to the + // Amazon FSx system. + AdministrativeActions []*AdministrativeAction `type:"list"` + + // The time that the resource was created, in seconds (since 1970-01-01T00:00:00Z), + // also known as Unix time. + CreationTime *time.Time `type:"timestamp"` + + // The lifecycle status of the snapshot. + // + // * PENDING - Amazon FSx hasn't started creating the snapshot. + // + // * CREATING - Amazon FSx is creating the snapshot. + // + // * DELETING - Amazon FSx is deleting the snapshot. + // + // * AVAILABLE - The snapshot is fully available. + Lifecycle *string `type:"string" enum:"SnapshotLifecycle"` + + // The name of the snapshot. + Name *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify + // Amazon Web Services resources. We require an ARN when you need to specify + // a resource unambiguously across all of Amazon Web Services. For more information, + // see Amazon Resource Names (ARNs) (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html) + // in the Amazon Web Services General Reference. + ResourceARN *string `min:"8" type:"string"` + + // The ID of the snapshot. + SnapshotId *string `min:"11" type:"string"` + + // A list of Tag values, with a maximum of 50 elements. + Tags []*Tag `min:"1" type:"list"` + + // The ID of the volume that the snapshot is of. + VolumeId *string `min:"23" 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 Snapshot) 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 Snapshot) GoString() string { + return s.String() +} + +// SetAdministrativeActions sets the AdministrativeActions field's value. +func (s *Snapshot) SetAdministrativeActions(v []*AdministrativeAction) *Snapshot { + s.AdministrativeActions = v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *Snapshot) SetCreationTime(v time.Time) *Snapshot { + s.CreationTime = &v + return s +} + +// SetLifecycle sets the Lifecycle field's value. +func (s *Snapshot) SetLifecycle(v string) *Snapshot { + s.Lifecycle = &v + return s +} + +// SetName sets the Name field's value. +func (s *Snapshot) SetName(v string) *Snapshot { + s.Name = &v + return s +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *Snapshot) SetResourceARN(v string) *Snapshot { + s.ResourceARN = &v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *Snapshot) SetSnapshotId(v string) *Snapshot { + s.SnapshotId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *Snapshot) SetTags(v []*Tag) *Snapshot { + s.Tags = v + return s +} + +// SetVolumeId sets the VolumeId field's value. +func (s *Snapshot) SetVolumeId(v string) *Snapshot { + s.VolumeId = &v + return s +} + +// A filter used to restrict the results of DescribeSnapshots calls. You can +// use multiple filters to return results that meet all applied filter requirements. +type SnapshotFilter struct { + _ struct{} `type:"structure"` + + // The name of the filter to use. You can filter by the file-system-id or by + // volume-id. + Name *string `type:"string" enum:"SnapshotFilterName"` + + // The file-system-id or volume-id that you are filtering for. + Values []*string `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 SnapshotFilter) String() string { + return awsutil.Prettify(s) } -// SetDnsIps sets the DnsIps field's value. -func (s *SelfManagedActiveDirectoryConfigurationUpdates) SetDnsIps(v []*string) *SelfManagedActiveDirectoryConfigurationUpdates { - s.DnsIps = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SnapshotFilter) GoString() string { + return s.String() } -// SetPassword sets the Password field's value. -func (s *SelfManagedActiveDirectoryConfigurationUpdates) SetPassword(v string) *SelfManagedActiveDirectoryConfigurationUpdates { - s.Password = &v +// SetName sets the Name field's value. +func (s *SnapshotFilter) SetName(v string) *SnapshotFilter { + s.Name = &v return s } -// SetUserName sets the UserName field's value. -func (s *SelfManagedActiveDirectoryConfigurationUpdates) SetUserName(v string) *SelfManagedActiveDirectoryConfigurationUpdates { - s.UserName = &v +// SetValues sets the Values field's value. +func (s *SnapshotFilter) SetValues(v []*string) *SnapshotFilter { + s.Values = v return s } -// An error indicating that a particular service limit was exceeded. You can -// increase some service limits by contacting Amazon Web Services Support. -type ServiceLimitExceeded struct { +// No Amazon FSx snapshots were found based on the supplied parameters. +type SnapshotNotFound struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // Enumeration of the service limit that was exceeded. - // - // Limit is a required field - Limit *string `type:"string" required:"true" enum:"ServiceLimit"` - // A detailed error message. Message_ *string `locationName:"Message" min:"1" type:"string"` } @@ -11741,7 +16249,7 @@ type ServiceLimitExceeded 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 ServiceLimitExceeded) String() string { +func (s SnapshotNotFound) String() string { return awsutil.Prettify(s) } @@ -11750,23 +16258,23 @@ func (s ServiceLimitExceeded) 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 ServiceLimitExceeded) GoString() string { +func (s SnapshotNotFound) GoString() string { return s.String() } -func newErrorServiceLimitExceeded(v protocol.ResponseMetadata) error { - return &ServiceLimitExceeded{ +func newErrorSnapshotNotFound(v protocol.ResponseMetadata) error { + return &SnapshotNotFound{ RespMetadata: v, } } // Code returns the exception type name. -func (s *ServiceLimitExceeded) Code() string { - return "ServiceLimitExceeded" +func (s *SnapshotNotFound) Code() string { + return "SnapshotNotFound" } // Message returns the exception's message. -func (s *ServiceLimitExceeded) Message() string { +func (s *SnapshotNotFound) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -11774,31 +16282,31 @@ func (s *ServiceLimitExceeded) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ServiceLimitExceeded) OrigErr() error { +func (s *SnapshotNotFound) OrigErr() error { return nil } -func (s *ServiceLimitExceeded) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +func (s *SnapshotNotFound) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. -func (s *ServiceLimitExceeded) StatusCode() int { +func (s *SnapshotNotFound) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *ServiceLimitExceeded) RequestID() string { +func (s *SnapshotNotFound) RequestID() string { return s.RespMetadata.RequestID } // The request was rejected because the lifecycle status of the source backup -// is not AVAILABLE. +// isn't AVAILABLE. type SourceBackupUnavailable struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The ID of the source backup. Specifies the backup you are copying. + // The ID of the source backup. Specifies the backup that you are copying. BackupId *string `min:"12" type:"string"` // A detailed error message. @@ -12681,6 +17189,131 @@ func (s UntagResourceOutput) GoString() string { return s.String() } +type UpdateDataRepositoryAssociationInput struct { + _ struct{} `type:"structure"` + + // The ID of the data repository association that you are updating. + // + // AssociationId is a required field + AssociationId *string `min:"13" type:"string" required:"true"` + + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` + + // For files imported from a data repository, this value determines the stripe + // count and maximum amount of data per file (in MiB) stored on a single physical + // disk. The maximum number of disks that a single file can be striped across + // is limited by the total number of disks that make up the file system. + // + // The default chunk size is 1,024 MiB (1 GiB) and can go as high as 512,000 + // MiB (500 GiB). Amazon S3 objects have a maximum size of 5 TB. + ImportedFileChunkSize *int64 `min:"1" type:"integer"` + + // The configuration for an Amazon S3 data repository linked to an Amazon FSx + // Lustre file system with a data repository association. The configuration + // defines which file events (new, changed, or deleted files or directories) + // are automatically imported from the linked data repository to the file system + // or automatically exported from the file system to the data repository. + S3 *S3DataRepositoryConfiguration `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 UpdateDataRepositoryAssociationInput) 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 UpdateDataRepositoryAssociationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDataRepositoryAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDataRepositoryAssociationInput"} + if s.AssociationId == nil { + invalidParams.Add(request.NewErrParamRequired("AssociationId")) + } + if s.AssociationId != nil && len(*s.AssociationId) < 13 { + invalidParams.Add(request.NewErrParamMinLen("AssociationId", 13)) + } + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) + } + if s.ImportedFileChunkSize != nil && *s.ImportedFileChunkSize < 1 { + invalidParams.Add(request.NewErrParamMinValue("ImportedFileChunkSize", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssociationId sets the AssociationId field's value. +func (s *UpdateDataRepositoryAssociationInput) SetAssociationId(v string) *UpdateDataRepositoryAssociationInput { + s.AssociationId = &v + return s +} + +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *UpdateDataRepositoryAssociationInput) SetClientRequestToken(v string) *UpdateDataRepositoryAssociationInput { + s.ClientRequestToken = &v + return s +} + +// SetImportedFileChunkSize sets the ImportedFileChunkSize field's value. +func (s *UpdateDataRepositoryAssociationInput) SetImportedFileChunkSize(v int64) *UpdateDataRepositoryAssociationInput { + s.ImportedFileChunkSize = &v + return s +} + +// SetS3 sets the S3 field's value. +func (s *UpdateDataRepositoryAssociationInput) SetS3(v *S3DataRepositoryConfiguration) *UpdateDataRepositoryAssociationInput { + s.S3 = v + return s +} + +type UpdateDataRepositoryAssociationOutput struct { + _ struct{} `type:"structure"` + + // The response object returned after the data repository association is updated. + Association *DataRepositoryAssociation `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 UpdateDataRepositoryAssociationOutput) 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 UpdateDataRepositoryAssociationOutput) GoString() string { + return s.String() +} + +// SetAssociation sets the Association field's value. +func (s *UpdateDataRepositoryAssociationOutput) SetAssociation(v *DataRepositoryAssociation) *UpdateDataRepositoryAssociationOutput { + s.Association = v + return s +} + // The request object for the UpdateFileSystem operation. type UpdateFileSystemInput struct { _ struct{} `type:"structure"` @@ -12690,7 +17323,7 @@ type UpdateFileSystemInput struct { // the Command Line Interface (CLI) or an Amazon Web Services SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // Identifies the file system that you are updating. + // The ID of the file system that you are updating. // // FileSystemId is a required field FileSystemId *string `min:"11" type:"string" required:"true"` @@ -12702,16 +17335,20 @@ type UpdateFileSystemInput struct { // The configuration updates for an Amazon FSx for NetApp ONTAP file system. OntapConfiguration *UpdateFileSystemOntapConfiguration `type:"structure"` + // The configuration updates for an Amazon FSx for OpenZFS file system. + 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, GiB, to increase the storage capacity for the file - // system that you're updating. You cannot make a storage capacity increase - // request if there is an existing storage capacity increase request in progress. + // 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. In order - // to increase storage capacity, the file system must have at least 16 MB/s - // of throughput capacity. + // 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: // @@ -12720,15 +17357,22 @@ type UpdateFileSystemInput struct { // capacity. // // * For PERSISTENT HDD file systems, valid values are multiples of 6000 - // GiB for 12 MB/s/TiB file systems and multiples of 1800 GiB for 40 MB/s/TiB - // file systems. The values must be greater than the current storage capacity. + // GiB for 12-MBps throughput per TiB file systems and multiples of 1800 + // GiB for 40-MBps throughput per TiB file systems. The values must be greater + // than the current storage capacity. + // + // * For SCRATCH_1 file systems, you can't increase the storage capacity. // - // * For SCRATCH_1 file systems, you cannot 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 capacity (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/managing-storage-capacity.html) - // in the Amazon FSx for Windows File Server User Guide and 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. + // 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. StorageCapacity *int64 `type:"integer"` // The configuration updates for an Amazon FSx for Windows File Server file @@ -12776,6 +17420,11 @@ func (s *UpdateFileSystemInput) Validate() error { invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams)) } } + if s.OpenZFSConfiguration != nil { + if err := s.OpenZFSConfiguration.Validate(); err != nil { + invalidParams.AddNested("OpenZFSConfiguration", err.(request.ErrInvalidParams)) + } + } if s.WindowsConfiguration != nil { if err := s.WindowsConfiguration.Validate(); err != nil { invalidParams.AddNested("WindowsConfiguration", err.(request.ErrInvalidParams)) @@ -12812,6 +17461,12 @@ func (s *UpdateFileSystemInput) SetOntapConfiguration(v *UpdateFileSystemOntapCo return s } +// SetOpenZFSConfiguration sets the OpenZFSConfiguration field's value. +func (s *UpdateFileSystemInput) SetOpenZFSConfiguration(v *UpdateFileSystemOpenZFSConfiguration) *UpdateFileSystemInput { + s.OpenZFSConfiguration = v + return s +} + // SetStorageCapacity sets the StorageCapacity field's value. func (s *UpdateFileSystemInput) SetStorageCapacity(v int64) *UpdateFileSystemInput { s.StorageCapacity = &v @@ -12848,13 +17503,19 @@ type UpdateFileSystemLustreConfiguration struct { // existing objects that are changed in the S3 bucket after you choose this // option. // - // For more information, see Automatically import updates from your S3 bucket - // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html). + // * NEW_CHANGED_DELETED - AutoImport is on. Amazon FSx automatically imports + // file and directory listings of any new objects added to the S3 bucket, + // any existing objects that are changed in the S3 bucket, and any objects + // that were deleted in the S3 bucket. + // + // The AutoImportPolicy parameter is not supported for Lustre file systems with + // the Persistent_2 deployment type. Instead, use to update a data repository + // association on your Persistent_2 file system. AutoImportPolicy *string `type:"string" enum:"AutoImportPolicyType"` - // The number of days to retain automatic backups. Setting this to 0 disables - // automatic backups. You can retain automatic backups for a maximum of 90 days. - // The default is 0. + // The number of days to retain automatic backups. Setting this property to + // 0 disables automatic backups. You can retain automatic backups for a maximum + // of 90 days. The default is 0. AutomaticBackupRetentionDays *int64 `type:"integer"` // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of @@ -12865,19 +17526,134 @@ type UpdateFileSystemLustreConfiguration struct { // Sets the data compression configuration for the file system. DataCompressionType // can have the following values: // - // * NONE - Data compression is turned off for the file system. + // * NONE - Data compression is turned off for the file system. + // + // * LZ4 - Data compression is turned on with the LZ4 algorithm. + // + // If you don't use DataCompressionType, the file system retains its current + // data compression configuration. + // + // For more information, see Lustre data compression (https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html). + DataCompressionType *string `type:"string" enum:"DataCompressionType"` + + // The Lustre logging configuration used when updating an Amazon FSx for Lustre + // file system. When logging is enabled, Lustre logs error and warning events + // for data repositories associated with your file system to Amazon CloudWatch + // Logs. + LogConfiguration *LustreLogCreateConfiguration `type:"structure"` + + // (Optional) The preferred start time to perform weekly maintenance, formatted + // d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7, + // beginning with Monday and ending with Sunday. + WeeklyMaintenanceStartTime *string `min:"7" 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 UpdateFileSystemLustreConfiguration) 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 UpdateFileSystemLustreConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateFileSystemLustreConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFileSystemLustreConfiguration"} + if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { + invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) + } + if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { + invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) + } + if s.LogConfiguration != nil { + if err := s.LogConfiguration.Validate(); err != nil { + invalidParams.AddNested("LogConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoImportPolicy sets the AutoImportPolicy field's value. +func (s *UpdateFileSystemLustreConfiguration) SetAutoImportPolicy(v string) *UpdateFileSystemLustreConfiguration { + s.AutoImportPolicy = &v + return s +} + +// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. +func (s *UpdateFileSystemLustreConfiguration) SetAutomaticBackupRetentionDays(v int64) *UpdateFileSystemLustreConfiguration { + s.AutomaticBackupRetentionDays = &v + return s +} + +// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. +func (s *UpdateFileSystemLustreConfiguration) SetDailyAutomaticBackupStartTime(v string) *UpdateFileSystemLustreConfiguration { + s.DailyAutomaticBackupStartTime = &v + return s +} + +// SetDataCompressionType sets the DataCompressionType field's value. +func (s *UpdateFileSystemLustreConfiguration) SetDataCompressionType(v string) *UpdateFileSystemLustreConfiguration { + s.DataCompressionType = &v + return s +} + +// SetLogConfiguration sets the LogConfiguration field's value. +func (s *UpdateFileSystemLustreConfiguration) SetLogConfiguration(v *LustreLogCreateConfiguration) *UpdateFileSystemLustreConfiguration { + s.LogConfiguration = v + return s +} + +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *UpdateFileSystemLustreConfiguration) SetWeeklyMaintenanceStartTime(v string) *UpdateFileSystemLustreConfiguration { + s.WeeklyMaintenanceStartTime = &v + return s +} + +// The configuration updates for an Amazon FSx for NetApp ONTAP file system. +type UpdateFileSystemOntapConfiguration struct { + _ struct{} `type:"structure"` + + // The number of days to retain automatic backups. Setting this property to + // 0 disables automatic backups. You can retain automatic backups for a maximum + // of 90 days. The default is 0. + AutomaticBackupRetentionDays *int64 `type:"integer"` + + // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of + // the day (0-23), and MM is the zero-padded minute of the hour. For example, + // 05:00 specifies 5 AM daily. + DailyAutomaticBackupStartTime *string `min:"5" type:"string"` + + // The ONTAP administrative password for the fsxadmin user. + // + // FsxAdminPassword is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UpdateFileSystemOntapConfiguration's + // String and GoString methods. + FsxAdminPassword *string `min:"8" type:"string" sensitive:"true"` + + // A recurring weekly time, in the format D:HH:MM. // - // * LZ4 - Data compression is turned on with the LZ4 algorithm. + // D is the day of the week, for which 1 represents Monday and 7 represents + // Sunday. For further details, see the ISO-8601 spec as described on Wikipedia + // (https://en.wikipedia.org/wiki/ISO_week_date). // - // If you don't use DataCompressionType, the file system retains its current - // data compression configuration. + // HH is the zero-padded hour of the day (0-23), and MM is the zero-padded minute + // of the hour. // - // For more information, see Lustre data compression (https://docs.aws.amazon.com/fsx/latest/LustreGuide/data-compression.html). - DataCompressionType *string `type:"string" enum:"DataCompressionType"` - - // (Optional) The preferred start time to perform weekly maintenance, formatted - // d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7, - // beginning with Monday and ending with Sunday. + // For example, 1:05:00 specifies maintenance at 5 AM Monday. WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } @@ -12886,7 +17662,7 @@ type UpdateFileSystemLustreConfiguration 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 UpdateFileSystemLustreConfiguration) String() string { +func (s UpdateFileSystemOntapConfiguration) String() string { return awsutil.Prettify(s) } @@ -12895,16 +17671,19 @@ func (s UpdateFileSystemLustreConfiguration) 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 UpdateFileSystemLustreConfiguration) GoString() string { +func (s UpdateFileSystemOntapConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateFileSystemLustreConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateFileSystemLustreConfiguration"} +func (s *UpdateFileSystemOntapConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFileSystemOntapConfiguration"} if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) } + if s.FsxAdminPassword != nil && len(*s.FsxAdminPassword) < 8 { + invalidParams.Add(request.NewErrParamMinLen("FsxAdminPassword", 8)) + } if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) } @@ -12915,56 +17694,71 @@ func (s *UpdateFileSystemLustreConfiguration) Validate() error { return nil } -// SetAutoImportPolicy sets the AutoImportPolicy field's value. -func (s *UpdateFileSystemLustreConfiguration) SetAutoImportPolicy(v string) *UpdateFileSystemLustreConfiguration { - s.AutoImportPolicy = &v - return s -} - // SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. -func (s *UpdateFileSystemLustreConfiguration) SetAutomaticBackupRetentionDays(v int64) *UpdateFileSystemLustreConfiguration { +func (s *UpdateFileSystemOntapConfiguration) SetAutomaticBackupRetentionDays(v int64) *UpdateFileSystemOntapConfiguration { s.AutomaticBackupRetentionDays = &v return s } // SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. -func (s *UpdateFileSystemLustreConfiguration) SetDailyAutomaticBackupStartTime(v string) *UpdateFileSystemLustreConfiguration { +func (s *UpdateFileSystemOntapConfiguration) SetDailyAutomaticBackupStartTime(v string) *UpdateFileSystemOntapConfiguration { s.DailyAutomaticBackupStartTime = &v return s } -// SetDataCompressionType sets the DataCompressionType field's value. -func (s *UpdateFileSystemLustreConfiguration) SetDataCompressionType(v string) *UpdateFileSystemLustreConfiguration { - s.DataCompressionType = &v +// SetFsxAdminPassword sets the FsxAdminPassword field's value. +func (s *UpdateFileSystemOntapConfiguration) SetFsxAdminPassword(v string) *UpdateFileSystemOntapConfiguration { + s.FsxAdminPassword = &v return s } // SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. -func (s *UpdateFileSystemLustreConfiguration) SetWeeklyMaintenanceStartTime(v string) *UpdateFileSystemLustreConfiguration { +func (s *UpdateFileSystemOntapConfiguration) SetWeeklyMaintenanceStartTime(v string) *UpdateFileSystemOntapConfiguration { s.WeeklyMaintenanceStartTime = &v return s } -// The configuration updates for an Amazon FSx for NetApp ONTAP file system. -type UpdateFileSystemOntapConfiguration struct { +// The configuration updates for an Amazon FSx for OpenZFS file system. +type UpdateFileSystemOpenZFSConfiguration struct { _ struct{} `type:"structure"` - // The number of days to retain automatic backups. Setting this to 0 disables - // automatic backups. You can retain automatic backups for a maximum of 90 days. - // The default is 0. + // The number of days to retain automatic backups. Setting this property to + // 0 disables automatic backups. You can retain automatic backups for a maximum + // of 90 days. The default is 0. AutomaticBackupRetentionDays *int64 `type:"integer"` + // A Boolean value indicating whether tags for the file system should be copied + // to backups. This value defaults to false. If it's set to true, all tags for + // the file system are copied to all automatic and user-initiated backups where + // the user doesn't specify tags. If this value is true and you specify one + // or more tags, only the specified tags are copied to backups. If you specify + // one or more tags when creating a user-initiated backup, no tags are copied + // from the file system, regardless of this value. + CopyTagsToBackups *bool `type:"boolean"` + + // A Boolean value indicating whether tags for the volume should be copied to + // snapshots. This value defaults to false. If it's set to true, all tags for + // the volume are copied to snapshots where the user doesn't specify tags. If + // this value is true and you specify one or more tags, only the specified tags + // are copied to snapshots. If you specify one or more tags when creating the + // snapshot, no tags are copied from the volume, regardless of this value. + CopyTagsToVolumes *bool `type:"boolean"` + // A recurring daily time, in the format HH:MM. HH is the zero-padded hour of // the day (0-23), and MM is the zero-padded minute of the hour. For example, // 05:00 specifies 5 AM daily. DailyAutomaticBackupStartTime *string `min:"5" type:"string"` - // The ONTAP administrative password for the fsxadmin user. - // - // FsxAdminPassword is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by UpdateFileSystemOntapConfiguration's - // String and GoString methods. - FsxAdminPassword *string `min:"8" type:"string" sensitive:"true"` + // The SSD IOPS (input/output operations per second) configuration for an Amazon + // FSx for NetApp ONTAP or Amazon FSx for OpenZFS 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 the total number of provisioned + // SSD IOPS and how the amount was provisioned (by the customer or by the system). + 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). + ThroughputCapacity *int64 `min:"8" type:"integer"` // A recurring weekly time, in the format D:HH:MM. // @@ -12984,7 +17778,7 @@ type UpdateFileSystemOntapConfiguration 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 UpdateFileSystemOntapConfiguration) String() string { +func (s UpdateFileSystemOpenZFSConfiguration) String() string { return awsutil.Prettify(s) } @@ -12993,18 +17787,18 @@ func (s UpdateFileSystemOntapConfiguration) 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 UpdateFileSystemOntapConfiguration) GoString() string { +func (s UpdateFileSystemOpenZFSConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateFileSystemOntapConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateFileSystemOntapConfiguration"} +func (s *UpdateFileSystemOpenZFSConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateFileSystemOpenZFSConfiguration"} if s.DailyAutomaticBackupStartTime != nil && len(*s.DailyAutomaticBackupStartTime) < 5 { invalidParams.Add(request.NewErrParamMinLen("DailyAutomaticBackupStartTime", 5)) } - if s.FsxAdminPassword != nil && len(*s.FsxAdminPassword) < 8 { - invalidParams.Add(request.NewErrParamMinLen("FsxAdminPassword", 8)) + if s.ThroughputCapacity != nil && *s.ThroughputCapacity < 8 { + invalidParams.Add(request.NewErrParamMinValue("ThroughputCapacity", 8)) } if s.WeeklyMaintenanceStartTime != nil && len(*s.WeeklyMaintenanceStartTime) < 7 { invalidParams.Add(request.NewErrParamMinLen("WeeklyMaintenanceStartTime", 7)) @@ -13017,25 +17811,43 @@ func (s *UpdateFileSystemOntapConfiguration) Validate() error { } // SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. -func (s *UpdateFileSystemOntapConfiguration) SetAutomaticBackupRetentionDays(v int64) *UpdateFileSystemOntapConfiguration { +func (s *UpdateFileSystemOpenZFSConfiguration) SetAutomaticBackupRetentionDays(v int64) *UpdateFileSystemOpenZFSConfiguration { s.AutomaticBackupRetentionDays = &v return s } +// SetCopyTagsToBackups sets the CopyTagsToBackups field's value. +func (s *UpdateFileSystemOpenZFSConfiguration) SetCopyTagsToBackups(v bool) *UpdateFileSystemOpenZFSConfiguration { + s.CopyTagsToBackups = &v + return s +} + +// SetCopyTagsToVolumes sets the CopyTagsToVolumes field's value. +func (s *UpdateFileSystemOpenZFSConfiguration) SetCopyTagsToVolumes(v bool) *UpdateFileSystemOpenZFSConfiguration { + s.CopyTagsToVolumes = &v + return s +} + // SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. -func (s *UpdateFileSystemOntapConfiguration) SetDailyAutomaticBackupStartTime(v string) *UpdateFileSystemOntapConfiguration { +func (s *UpdateFileSystemOpenZFSConfiguration) SetDailyAutomaticBackupStartTime(v string) *UpdateFileSystemOpenZFSConfiguration { s.DailyAutomaticBackupStartTime = &v return s } -// SetFsxAdminPassword sets the FsxAdminPassword field's value. -func (s *UpdateFileSystemOntapConfiguration) SetFsxAdminPassword(v string) *UpdateFileSystemOntapConfiguration { - s.FsxAdminPassword = &v +// SetDiskIopsConfiguration sets the DiskIopsConfiguration field's value. +func (s *UpdateFileSystemOpenZFSConfiguration) SetDiskIopsConfiguration(v *DiskIopsConfiguration) *UpdateFileSystemOpenZFSConfiguration { + s.DiskIopsConfiguration = v + return s +} + +// SetThroughputCapacity sets the ThroughputCapacity field's value. +func (s *UpdateFileSystemOpenZFSConfiguration) SetThroughputCapacity(v int64) *UpdateFileSystemOpenZFSConfiguration { + s.ThroughputCapacity = &v return s } // SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. -func (s *UpdateFileSystemOntapConfiguration) SetWeeklyMaintenanceStartTime(v string) *UpdateFileSystemOntapConfiguration { +func (s *UpdateFileSystemOpenZFSConfiguration) SetWeeklyMaintenanceStartTime(v string) *UpdateFileSystemOpenZFSConfiguration { s.WeeklyMaintenanceStartTime = &v return s } @@ -13147,9 +17959,217 @@ func (s *UpdateFileSystemWindowsConfiguration) Validate() error { invalidParams.AddNested("AuditLogConfiguration", err.(request.ErrInvalidParams)) } } - if s.SelfManagedActiveDirectoryConfiguration != nil { - if err := s.SelfManagedActiveDirectoryConfiguration.Validate(); err != nil { - invalidParams.AddNested("SelfManagedActiveDirectoryConfiguration", err.(request.ErrInvalidParams)) + if s.SelfManagedActiveDirectoryConfiguration != nil { + if err := s.SelfManagedActiveDirectoryConfiguration.Validate(); err != nil { + invalidParams.AddNested("SelfManagedActiveDirectoryConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAuditLogConfiguration sets the AuditLogConfiguration field's value. +func (s *UpdateFileSystemWindowsConfiguration) SetAuditLogConfiguration(v *WindowsAuditLogCreateConfiguration) *UpdateFileSystemWindowsConfiguration { + s.AuditLogConfiguration = v + return s +} + +// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. +func (s *UpdateFileSystemWindowsConfiguration) SetAutomaticBackupRetentionDays(v int64) *UpdateFileSystemWindowsConfiguration { + s.AutomaticBackupRetentionDays = &v + return s +} + +// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. +func (s *UpdateFileSystemWindowsConfiguration) SetDailyAutomaticBackupStartTime(v string) *UpdateFileSystemWindowsConfiguration { + s.DailyAutomaticBackupStartTime = &v + return s +} + +// SetSelfManagedActiveDirectoryConfiguration sets the SelfManagedActiveDirectoryConfiguration field's value. +func (s *UpdateFileSystemWindowsConfiguration) SetSelfManagedActiveDirectoryConfiguration(v *SelfManagedActiveDirectoryConfigurationUpdates) *UpdateFileSystemWindowsConfiguration { + s.SelfManagedActiveDirectoryConfiguration = v + return s +} + +// SetThroughputCapacity sets the ThroughputCapacity field's value. +func (s *UpdateFileSystemWindowsConfiguration) SetThroughputCapacity(v int64) *UpdateFileSystemWindowsConfiguration { + s.ThroughputCapacity = &v + return s +} + +// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. +func (s *UpdateFileSystemWindowsConfiguration) SetWeeklyMaintenanceStartTime(v string) *UpdateFileSystemWindowsConfiguration { + s.WeeklyMaintenanceStartTime = &v + return s +} + +// Used to specify changes to the ONTAP configuration for the volume you are +// updating. +type UpdateOntapVolumeConfiguration struct { + _ struct{} `type:"structure"` + + // Specifies the location in the SVM's namespace where the volume is mounted. + // The JunctionPath must have a leading forward slash, such as /vol3. + JunctionPath *string `min:"1" type:"string"` + + // The security style for the volume, which can be UNIX. NTFS, or MIXED. + SecurityStyle *string `type:"string" enum:"SecurityStyle"` + + // Specifies the size of the volume in megabytes. + SizeInMegabytes *int64 `type:"integer"` + + // Default is false. Set to true to enable the deduplication, compression, and + // compaction storage efficiency features on the volume. + StorageEfficiencyEnabled *bool `type:"boolean"` + + // Update the volume's data tiering policy. + TieringPolicy *TieringPolicy `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 UpdateOntapVolumeConfiguration) 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 UpdateOntapVolumeConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateOntapVolumeConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateOntapVolumeConfiguration"} + if s.JunctionPath != nil && len(*s.JunctionPath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JunctionPath", 1)) + } + if s.TieringPolicy != nil { + if err := s.TieringPolicy.Validate(); err != nil { + invalidParams.AddNested("TieringPolicy", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJunctionPath sets the JunctionPath field's value. +func (s *UpdateOntapVolumeConfiguration) SetJunctionPath(v string) *UpdateOntapVolumeConfiguration { + s.JunctionPath = &v + return s +} + +// SetSecurityStyle sets the SecurityStyle field's value. +func (s *UpdateOntapVolumeConfiguration) SetSecurityStyle(v string) *UpdateOntapVolumeConfiguration { + s.SecurityStyle = &v + return s +} + +// SetSizeInMegabytes sets the SizeInMegabytes field's value. +func (s *UpdateOntapVolumeConfiguration) SetSizeInMegabytes(v int64) *UpdateOntapVolumeConfiguration { + s.SizeInMegabytes = &v + return s +} + +// SetStorageEfficiencyEnabled sets the StorageEfficiencyEnabled field's value. +func (s *UpdateOntapVolumeConfiguration) SetStorageEfficiencyEnabled(v bool) *UpdateOntapVolumeConfiguration { + s.StorageEfficiencyEnabled = &v + return s +} + +// SetTieringPolicy sets the TieringPolicy field's value. +func (s *UpdateOntapVolumeConfiguration) SetTieringPolicy(v *TieringPolicy) *UpdateOntapVolumeConfiguration { + s.TieringPolicy = v + return s +} + +// Used to specify changes to the OpenZFS configuration for the volume that +// you are updating. +type UpdateOpenZFSVolumeConfiguration struct { + _ struct{} `type:"structure"` + + // Specifies the method used to compress the data on the volume. Unless the + // compression type is specified, volumes inherit the DataCompressionType value + // of their parent volume. + // + // * NONE - Doesn't compress the data on the volume. + // + // * ZSTD - Compresses the data in the volume using the Zstandard (ZSTD) + // compression algorithm. This algorithm reduces the amount of space used + // on your volume and has very little impact on compute resources. + DataCompressionType *string `type:"string" enum:"OpenZFSDataCompressionType"` + + // The configuration object for mounting a Network File System (NFS) file system. + NfsExports []*OpenZFSNfsExport `type:"list"` + + // A Boolean value indicating whether the volume is read-only. + ReadOnly *bool `type:"boolean"` + + // The maximum amount of storage in gibibytes (GiB) that the volume can use + // from its parent. You can specify a quota larger than the storage on the parent + // volume. + StorageCapacityQuotaGiB *int64 `type:"integer"` + + // The amount of storage in gibibytes (GiB) to reserve from the parent volume. + // You can't reserve more storage than the parent volume has reserved. + StorageCapacityReservationGiB *int64 `type:"integer"` + + // An object specifying how much storage users or groups can use on the volume. + UserAndGroupQuotas []*OpenZFSUserOrGroupQuota `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 UpdateOpenZFSVolumeConfiguration) 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 UpdateOpenZFSVolumeConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateOpenZFSVolumeConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateOpenZFSVolumeConfiguration"} + if s.NfsExports != nil { + for i, v := range s.NfsExports { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "NfsExports", i), err.(request.ErrInvalidParams)) + } + } + } + if s.UserAndGroupQuotas != nil { + for i, v := range s.UserAndGroupQuotas { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "UserAndGroupQuotas", i), err.(request.ErrInvalidParams)) + } } } @@ -13159,63 +18179,59 @@ func (s *UpdateFileSystemWindowsConfiguration) Validate() error { return nil } -// SetAuditLogConfiguration sets the AuditLogConfiguration field's value. -func (s *UpdateFileSystemWindowsConfiguration) SetAuditLogConfiguration(v *WindowsAuditLogCreateConfiguration) *UpdateFileSystemWindowsConfiguration { - s.AuditLogConfiguration = v +// SetDataCompressionType sets the DataCompressionType field's value. +func (s *UpdateOpenZFSVolumeConfiguration) SetDataCompressionType(v string) *UpdateOpenZFSVolumeConfiguration { + s.DataCompressionType = &v return s } -// SetAutomaticBackupRetentionDays sets the AutomaticBackupRetentionDays field's value. -func (s *UpdateFileSystemWindowsConfiguration) SetAutomaticBackupRetentionDays(v int64) *UpdateFileSystemWindowsConfiguration { - s.AutomaticBackupRetentionDays = &v +// SetNfsExports sets the NfsExports field's value. +func (s *UpdateOpenZFSVolumeConfiguration) SetNfsExports(v []*OpenZFSNfsExport) *UpdateOpenZFSVolumeConfiguration { + s.NfsExports = v return s } -// SetDailyAutomaticBackupStartTime sets the DailyAutomaticBackupStartTime field's value. -func (s *UpdateFileSystemWindowsConfiguration) SetDailyAutomaticBackupStartTime(v string) *UpdateFileSystemWindowsConfiguration { - s.DailyAutomaticBackupStartTime = &v +// SetReadOnly sets the ReadOnly field's value. +func (s *UpdateOpenZFSVolumeConfiguration) SetReadOnly(v bool) *UpdateOpenZFSVolumeConfiguration { + s.ReadOnly = &v return s } -// SetSelfManagedActiveDirectoryConfiguration sets the SelfManagedActiveDirectoryConfiguration field's value. -func (s *UpdateFileSystemWindowsConfiguration) SetSelfManagedActiveDirectoryConfiguration(v *SelfManagedActiveDirectoryConfigurationUpdates) *UpdateFileSystemWindowsConfiguration { - s.SelfManagedActiveDirectoryConfiguration = v +// SetStorageCapacityQuotaGiB sets the StorageCapacityQuotaGiB field's value. +func (s *UpdateOpenZFSVolumeConfiguration) SetStorageCapacityQuotaGiB(v int64) *UpdateOpenZFSVolumeConfiguration { + s.StorageCapacityQuotaGiB = &v return s } -// SetThroughputCapacity sets the ThroughputCapacity field's value. -func (s *UpdateFileSystemWindowsConfiguration) SetThroughputCapacity(v int64) *UpdateFileSystemWindowsConfiguration { - s.ThroughputCapacity = &v +// SetStorageCapacityReservationGiB sets the StorageCapacityReservationGiB field's value. +func (s *UpdateOpenZFSVolumeConfiguration) SetStorageCapacityReservationGiB(v int64) *UpdateOpenZFSVolumeConfiguration { + s.StorageCapacityReservationGiB = &v return s } -// SetWeeklyMaintenanceStartTime sets the WeeklyMaintenanceStartTime field's value. -func (s *UpdateFileSystemWindowsConfiguration) SetWeeklyMaintenanceStartTime(v string) *UpdateFileSystemWindowsConfiguration { - s.WeeklyMaintenanceStartTime = &v +// SetUserAndGroupQuotas sets the UserAndGroupQuotas field's value. +func (s *UpdateOpenZFSVolumeConfiguration) SetUserAndGroupQuotas(v []*OpenZFSUserOrGroupQuota) *UpdateOpenZFSVolumeConfiguration { + s.UserAndGroupQuotas = v return s } -// Used to specify changes to the ONTAP configuration for the volume you are -// updating. -type UpdateOntapVolumeConfiguration struct { +type UpdateSnapshotInput struct { _ struct{} `type:"structure"` - // Specifies the location in the SVM's namespace where the volume is mounted. - // The JunctionPath must have a leading forward slash, such as /vol3. - JunctionPath *string `min:"1" type:"string"` - - // The security style for the volume, which can be UNIX. NTFS, or MIXED. - SecurityStyle *string `type:"string" enum:"SecurityStyle"` - - // Specifies the size of the volume in megabytes. - SizeInMegabytes *int64 `type:"integer"` + // (Optional) An idempotency token for resource creation, in a string of up + // to 64 ASCII characters. This token is automatically filled on your behalf + // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. + ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // Default is false. Set to true to enable the deduplication, compression, and - // compaction storage efficiency features on the volume. - StorageEfficiencyEnabled *bool `type:"boolean"` + // The name of the snapshot to update. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` - // Update the volume's data tiering policy. - TieringPolicy *TieringPolicy `type:"structure"` + // The ID of the snapshot that you want to update, in the format fsvolsnap-0123456789abcdef0. + // + // SnapshotId is a required field + SnapshotId *string `min:"11" type:"string" required:"true"` } // String returns the string representation. @@ -13223,7 +18239,7 @@ type UpdateOntapVolumeConfiguration 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 UpdateOntapVolumeConfiguration) String() string { +func (s UpdateSnapshotInput) String() string { return awsutil.Prettify(s) } @@ -13232,20 +18248,27 @@ func (s UpdateOntapVolumeConfiguration) 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 UpdateOntapVolumeConfiguration) GoString() string { +func (s UpdateSnapshotInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateOntapVolumeConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateOntapVolumeConfiguration"} - if s.JunctionPath != nil && len(*s.JunctionPath) < 1 { - invalidParams.Add(request.NewErrParamMinLen("JunctionPath", 1)) +func (s *UpdateSnapshotInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateSnapshotInput"} + if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } - if s.TieringPolicy != nil { - if err := s.TieringPolicy.Validate(); err != nil { - invalidParams.AddNested("TieringPolicy", err.(request.ErrInvalidParams)) - } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.SnapshotId == nil { + invalidParams.Add(request.NewErrParamRequired("SnapshotId")) + } + if s.SnapshotId != nil && len(*s.SnapshotId) < 11 { + invalidParams.Add(request.NewErrParamMinLen("SnapshotId", 11)) } if invalidParams.Len() > 0 { @@ -13254,33 +18277,53 @@ func (s *UpdateOntapVolumeConfiguration) Validate() error { return nil } -// SetJunctionPath sets the JunctionPath field's value. -func (s *UpdateOntapVolumeConfiguration) SetJunctionPath(v string) *UpdateOntapVolumeConfiguration { - s.JunctionPath = &v +// SetClientRequestToken sets the ClientRequestToken field's value. +func (s *UpdateSnapshotInput) SetClientRequestToken(v string) *UpdateSnapshotInput { + s.ClientRequestToken = &v return s } -// SetSecurityStyle sets the SecurityStyle field's value. -func (s *UpdateOntapVolumeConfiguration) SetSecurityStyle(v string) *UpdateOntapVolumeConfiguration { - s.SecurityStyle = &v +// SetName sets the Name field's value. +func (s *UpdateSnapshotInput) SetName(v string) *UpdateSnapshotInput { + s.Name = &v return s } -// SetSizeInMegabytes sets the SizeInMegabytes field's value. -func (s *UpdateOntapVolumeConfiguration) SetSizeInMegabytes(v int64) *UpdateOntapVolumeConfiguration { - s.SizeInMegabytes = &v +// SetSnapshotId sets the SnapshotId field's value. +func (s *UpdateSnapshotInput) SetSnapshotId(v string) *UpdateSnapshotInput { + s.SnapshotId = &v return s } -// SetStorageEfficiencyEnabled sets the StorageEfficiencyEnabled field's value. -func (s *UpdateOntapVolumeConfiguration) SetStorageEfficiencyEnabled(v bool) *UpdateOntapVolumeConfiguration { - s.StorageEfficiencyEnabled = &v - return s +type UpdateSnapshotOutput struct { + _ struct{} `type:"structure"` + + // Returned after a successful UpdateSnapshot operation, describing the snapshot + // that you updated. + Snapshot *Snapshot `type:"structure"` } -// SetTieringPolicy sets the TieringPolicy field's value. -func (s *UpdateOntapVolumeConfiguration) SetTieringPolicy(v *TieringPolicy) *UpdateOntapVolumeConfiguration { - s.TieringPolicy = v +// 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 UpdateSnapshotOutput) 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 UpdateSnapshotOutput) GoString() string { + return s.String() +} + +// SetSnapshot sets the Snapshot field's value. +func (s *UpdateSnapshotOutput) SetSnapshot(v *Snapshot) *UpdateSnapshotOutput { + s.Snapshot = v return s } @@ -13410,7 +18453,7 @@ func (s *UpdateStorageVirtualMachineOutput) SetStorageVirtualMachine(v *StorageV } // Updates the Microsoft Active Directory (AD) configuration of an SVM joined -// to an AD. Pleae note, account credentials are not returned in the response +// to an AD. Please note, account credentials are not returned in the response // payload. type UpdateSvmActiveDirectoryConfiguration struct { _ struct{} `type:"structure"` @@ -13467,10 +18510,18 @@ type UpdateVolumeInput struct { // when you use the Command Line Interface (CLI) or an Amazon Web Services SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` - // The ONTAP configuration of the volume you are updating. + // The name of the OpenZFS volume. OpenZFS root volumes are automatically named + // FSX. Child volume names must be unique among their parent volume's children. + // The name of the volume is part of the mount string for the OpenZFS volume. + Name *string `min:"1" type:"string"` + + // The configuration of the ONTAP volume that you are updating. OntapConfiguration *UpdateOntapVolumeConfiguration `type:"structure"` - // Specifies the volume that you want to update, formatted fsvol-0123456789abcdef0. + // The configuration of the OpenZFS volume that you are updating. + OpenZFSConfiguration *UpdateOpenZFSVolumeConfiguration `type:"structure"` + + // The ID of the volume that you want to update, in the format fsvol-0123456789abcdef0. // // VolumeId is a required field VolumeId *string `min:"23" type:"string" required:"true"` @@ -13500,6 +18551,9 @@ func (s *UpdateVolumeInput) Validate() error { if s.ClientRequestToken != nil && len(*s.ClientRequestToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("ClientRequestToken", 1)) } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } if s.VolumeId == nil { invalidParams.Add(request.NewErrParamRequired("VolumeId")) } @@ -13511,6 +18565,11 @@ func (s *UpdateVolumeInput) Validate() error { invalidParams.AddNested("OntapConfiguration", err.(request.ErrInvalidParams)) } } + if s.OpenZFSConfiguration != nil { + if err := s.OpenZFSConfiguration.Validate(); err != nil { + invalidParams.AddNested("OpenZFSConfiguration", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -13524,12 +18583,24 @@ func (s *UpdateVolumeInput) SetClientRequestToken(v string) *UpdateVolumeInput { return s } +// SetName sets the Name field's value. +func (s *UpdateVolumeInput) SetName(v string) *UpdateVolumeInput { + s.Name = &v + return s +} + // SetOntapConfiguration sets the OntapConfiguration field's value. func (s *UpdateVolumeInput) SetOntapConfiguration(v *UpdateOntapVolumeConfiguration) *UpdateVolumeInput { s.OntapConfiguration = v return s } +// SetOpenZFSConfiguration sets the OpenZFSConfiguration field's value. +func (s *UpdateVolumeInput) SetOpenZFSConfiguration(v *UpdateOpenZFSVolumeConfiguration) *UpdateVolumeInput { + s.OpenZFSConfiguration = v + return s +} + // SetVolumeId sets the VolumeId field's value. func (s *UpdateVolumeInput) SetVolumeId(v string) *UpdateVolumeInput { s.VolumeId = &v @@ -13539,8 +18610,8 @@ func (s *UpdateVolumeInput) SetVolumeId(v string) *UpdateVolumeInput { type UpdateVolumeOutput struct { _ struct{} `type:"structure"` - // Returned after a successful UpdateVolume API operation, describing the volume - // just updated. + // A description of the volume just updated. Returned after a successful UpdateVolume + // API operation. Volume *Volume `type:"structure"` } @@ -13568,10 +18639,15 @@ func (s *UpdateVolumeOutput) SetVolume(v *Volume) *UpdateVolumeOutput { return s } -// Describes an Amazon FSx for NetApp ONTAP volume. +// Describes an Amazon FSx for NetApp ONTAP or Amazon FSx for OpenZFS volume. type Volume struct { _ struct{} `type:"structure"` + // A list of administrative actions for the file system that are in process + // or waiting to be processed. Administrative actions describe changes to the + // Amazon FSx system that you initiated. + AdministrativeActions []*AdministrativeAction `type:"list"` + // The time that the resource was created, in seconds (since 1970-01-01T00:00:00Z), // also known as Unix time. CreationTime *time.Time `type:"timestamp"` @@ -13581,7 +18657,9 @@ type Volume struct { // The lifecycle status of the volume. // - // * CREATED - The volume is fully available for use. + // * AVAILABLE - The volume is fully available for use. + // + // * CREATED - The volume has been created. // // * CREATING - Amazon FSx is creating the new volume. // @@ -13591,18 +18669,21 @@ type Volume struct { // // * MISCONFIGURED - The volume is in a failed but recoverable state. // - // * PENDING - Amazon FSx has not started creating the volume. + // * PENDING - Amazon FSx hasn't started creating the volume. Lifecycle *string `type:"string" enum:"VolumeLifecycle"` - // Describes why the volume lifecycle state changed. + // The reason why the volume lifecycle status changed. LifecycleTransitionReason *LifecycleTransitionReason `type:"structure"` // The name of the volume. Name *string `min:"1" type:"string"` - // The configuration of an Amazon FSx for NetApp ONTAP volume + // The configuration of an Amazon FSx for NetApp ONTAP volume. OntapConfiguration *OntapVolumeConfiguration `type:"structure"` + // The configuration of an Amazon FSx for OpenZFS volume. + OpenZFSConfiguration *OpenZFSVolumeConfiguration `type:"structure"` + // The Amazon Resource Name (ARN) for a given resource. ARNs uniquely identify // Amazon Web Services resources. We require an ARN when you need to specify // a resource unambiguously across all of Amazon Web Services. For more information, @@ -13616,7 +18697,7 @@ type Volume struct { // The system-generated, unique ID of the volume. VolumeId *string `min:"23" type:"string"` - // The type of volume; ONTAP is the only valid volume type. + // The type of the volume. VolumeType *string `type:"string" enum:"VolumeType"` } @@ -13638,6 +18719,12 @@ func (s Volume) GoString() string { return s.String() } +// SetAdministrativeActions sets the AdministrativeActions field's value. +func (s *Volume) SetAdministrativeActions(v []*AdministrativeAction) *Volume { + s.AdministrativeActions = v + return s +} + // SetCreationTime sets the CreationTime field's value. func (s *Volume) SetCreationTime(v time.Time) *Volume { s.CreationTime = &v @@ -13674,6 +18761,12 @@ func (s *Volume) SetOntapConfiguration(v *OntapVolumeConfiguration) *Volume { return s } +// SetOpenZFSConfiguration sets the OpenZFSConfiguration field's value. +func (s *Volume) SetOpenZFSConfiguration(v *OpenZFSVolumeConfiguration) *Volume { + s.OpenZFSConfiguration = v + return s +} + // SetResourceARN sets the ResourceARN field's value. func (s *Volume) SetResourceARN(v string) *Volume { s.ResourceARN = &v @@ -13699,8 +18792,8 @@ func (s *Volume) SetVolumeType(v string) *Volume { } // A filter used to restrict the results of describe calls for Amazon FSx for -// NetApp ONTAP volumes. You can use multiple filters to return results that -// meet all applied filter requirements. +// NetApp ONTAP or Amazon FSx for OpenZFS volumes. You can use multiple filters +// to return results that meet all applied filter requirements. type VolumeFilter struct { _ struct{} `type:"structure"` @@ -14251,27 +19344,42 @@ func ActiveDirectoryErrorType_Values() []string { // Describes the type of administrative action, as follows: // // * FILE_SYSTEM_UPDATE - A file system update administrative action initiated -// by the user from the Amazon FSx console, API (UpdateFileSystem), or CLI -// (update-file-system). +// from the Amazon FSx console, API (UpdateFileSystem), or CLI (update-file-system). // -// * STORAGE_OPTIMIZATION - Once the FILE_SYSTEM_UPDATE task to increase -// a file system's storage capacity completes successfully, a STORAGE_OPTIMIZATION +// * 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. You can track the storage optimization progress using the ProgressPercent -// property. When STORAGE_OPTIMIZATION completes successfully, the parent +// 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) -// in the Amazon FSx for Windows File Server User Guide and Managing storage +// 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. +// 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. // // * FILE_SYSTEM_ALIAS_ASSOCIATION - A file system update to associate a -// new DNS alias with the file system. For more information, see . +// new Domain Name System (DNS) alias with the file system. For more information, +// see AssociateFileSystemAliases (https://docs.aws.amazon.com/fsx/latest/APIReference/API_AssociateFileSystemAliases.html). // // * FILE_SYSTEM_ALIAS_DISASSOCIATION - A file system update to disassociate -// a DNS alias from the file system. For more information, see . +// a DNS alias from the file system. For more information, see DisassociateFileSystemAliases +// (https://docs.aws.amazon.com/fsx/latest/APIReference/API_DisassociateFileSystemAliases.html). +// +// * VOLUME_UPDATE - A volume update to an Amazon FSx for NetApp ONTAP or +// Amazon FSx for OpenZFS volume initiated from the Amazon FSx console, API +// (UpdateVolume), or CLI (update-volume). +// +// * SNAPSHOT_UPDATE - A snapshot update to an Amazon FSx for OpenZFS volume +// initiated from the Amazon FSx console, API (UpdateSnapshot), or CLI (update-snapshot). +// +// * RELEASE_NFS_V3_LOCKS - Tracks the release of Network File System (NFS) +// V3 locks on an Amazon FSx for OpenZFS file system. const ( // AdministrativeActionTypeFileSystemUpdate is a AdministrativeActionType enum value AdministrativeActionTypeFileSystemUpdate = "FILE_SYSTEM_UPDATE" @@ -14284,6 +19392,15 @@ const ( // AdministrativeActionTypeFileSystemAliasDisassociation is a AdministrativeActionType enum value AdministrativeActionTypeFileSystemAliasDisassociation = "FILE_SYSTEM_ALIAS_DISASSOCIATION" + + // AdministrativeActionTypeVolumeUpdate is a AdministrativeActionType enum value + AdministrativeActionTypeVolumeUpdate = "VOLUME_UPDATE" + + // AdministrativeActionTypeSnapshotUpdate is a AdministrativeActionType enum value + AdministrativeActionTypeSnapshotUpdate = "SNAPSHOT_UPDATE" + + // AdministrativeActionTypeReleaseNfsV3Locks is a AdministrativeActionType enum value + AdministrativeActionTypeReleaseNfsV3Locks = "RELEASE_NFS_V3_LOCKS" ) // AdministrativeActionType_Values returns all elements of the AdministrativeActionType enum @@ -14293,6 +19410,9 @@ func AdministrativeActionType_Values() []string { AdministrativeActionTypeStorageOptimization, AdministrativeActionTypeFileSystemAliasAssociation, AdministrativeActionTypeFileSystemAliasDisassociation, + AdministrativeActionTypeVolumeUpdate, + AdministrativeActionTypeSnapshotUpdate, + AdministrativeActionTypeReleaseNfsV3Locks, } } @@ -14333,6 +19453,9 @@ const ( // AutoImportPolicyTypeNewChanged is a AutoImportPolicyType enum value AutoImportPolicyTypeNewChanged = "NEW_CHANGED" + + // AutoImportPolicyTypeNewChangedDeleted is a AutoImportPolicyType enum value + AutoImportPolicyTypeNewChangedDeleted = "NEW_CHANGED_DELETED" ) // AutoImportPolicyType_Values returns all elements of the AutoImportPolicyType enum @@ -14341,6 +19464,7 @@ func AutoImportPolicyType_Values() []string { AutoImportPolicyTypeNone, AutoImportPolicyTypeNew, AutoImportPolicyTypeNewChanged, + AutoImportPolicyTypeNewChangedDeleted, } } @@ -14349,18 +19473,18 @@ func AutoImportPolicyType_Values() []string { // * AVAILABLE - The backup is fully available. // // * PENDING - For user-initiated backups on Lustre file systems only; Amazon -// FSx has not started creating the backup. +// FSx hasn't started creating the backup. // -// * CREATING - Amazon FSx is creating the new user-intiated backup +// * CREATING - Amazon FSx is creating the new user-initiated backup. // // * TRANSFERRING - For user-initiated backups on Lustre file systems only; // Amazon FSx is backing up the file system. // // * COPYING - Amazon FSx is copying the backup. // -// * DELETED - Amazon FSx deleted the backup and it is no longer available. +// * DELETED - Amazon FSx deleted the backup and it's no longer available. // -// * FAILED - Amazon FSx could not complete the backup. +// * FAILED - Amazon FSx couldn't finish the backup. const ( // BackupLifecycleAvailable is a BackupLifecycle enum value BackupLifecycleAvailable = "AVAILABLE" @@ -14449,6 +19573,9 @@ const ( // DataRepositoryLifecycleDeleting is a DataRepositoryLifecycle enum value DataRepositoryLifecycleDeleting = "DELETING" + + // DataRepositoryLifecycleFailed is a DataRepositoryLifecycle enum value + DataRepositoryLifecycleFailed = "FAILED" ) // DataRepositoryLifecycle_Values returns all elements of the DataRepositoryLifecycle enum @@ -14459,6 +19586,7 @@ func DataRepositoryLifecycle_Values() []string { DataRepositoryLifecycleMisconfigured, DataRepositoryLifecycleUpdating, DataRepositoryLifecycleDeleting, + DataRepositoryLifecycleFailed, } } @@ -14468,6 +19596,9 @@ const ( // DataRepositoryTaskFilterNameTaskLifecycle is a DataRepositoryTaskFilterName enum value DataRepositoryTaskFilterNameTaskLifecycle = "task-lifecycle" + + // DataRepositoryTaskFilterNameDataRepositoryAssociationId is a DataRepositoryTaskFilterName enum value + DataRepositoryTaskFilterNameDataRepositoryAssociationId = "data-repository-association-id" ) // DataRepositoryTaskFilterName_Values returns all elements of the DataRepositoryTaskFilterName enum @@ -14475,6 +19606,7 @@ func DataRepositoryTaskFilterName_Values() []string { return []string{ DataRepositoryTaskFilterNameFileSystemId, DataRepositoryTaskFilterNameTaskLifecycle, + DataRepositoryTaskFilterNameDataRepositoryAssociationId, } } @@ -14513,12 +19645,28 @@ func DataRepositoryTaskLifecycle_Values() []string { const ( // DataRepositoryTaskTypeExportToRepository is a DataRepositoryTaskType enum value DataRepositoryTaskTypeExportToRepository = "EXPORT_TO_REPOSITORY" + + // DataRepositoryTaskTypeImportMetadataFromRepository is a DataRepositoryTaskType enum value + DataRepositoryTaskTypeImportMetadataFromRepository = "IMPORT_METADATA_FROM_REPOSITORY" ) // DataRepositoryTaskType_Values returns all elements of the DataRepositoryTaskType enum func DataRepositoryTaskType_Values() []string { return []string{ DataRepositoryTaskTypeExportToRepository, + DataRepositoryTaskTypeImportMetadataFromRepository, + } +} + +const ( + // DeleteOpenZFSVolumeOptionDeleteChildVolumesAndSnapshots is a DeleteOpenZFSVolumeOption enum value + DeleteOpenZFSVolumeOptionDeleteChildVolumesAndSnapshots = "DELETE_CHILD_VOLUMES_AND_SNAPSHOTS" +) + +// DeleteOpenZFSVolumeOption_Values returns all elements of the DeleteOpenZFSVolumeOption enum +func DeleteOpenZFSVolumeOption_Values() []string { + return []string{ + DeleteOpenZFSVolumeOptionDeleteChildVolumesAndSnapshots, } } @@ -14554,6 +19702,26 @@ func DriveCacheType_Values() []string { } } +const ( + // EventTypeNew is a EventType enum value + EventTypeNew = "NEW" + + // EventTypeChanged is a EventType enum value + EventTypeChanged = "CHANGED" + + // EventTypeDeleted is a EventType enum value + EventTypeDeleted = "DELETED" +) + +// EventType_Values returns all elements of the EventType enum +func EventType_Values() []string { + return []string{ + EventTypeNew, + EventTypeChanged, + EventTypeDeleted, + } +} + // The lifecycle status of the file system. const ( // FileSystemLifecycleAvailable is a FileSystemLifecycle enum value @@ -14614,6 +19782,9 @@ const ( // FileSystemTypeOntap is a FileSystemType enum value FileSystemTypeOntap = "ONTAP" + + // FileSystemTypeOpenzfs is a FileSystemType enum value + FileSystemTypeOpenzfs = "OPENZFS" ) // FileSystemType_Values returns all elements of the FileSystemType enum @@ -14622,6 +19793,7 @@ func FileSystemType_Values() []string { FileSystemTypeWindows, FileSystemTypeLustre, FileSystemTypeOntap, + FileSystemTypeOpenzfs, } } @@ -14638,6 +19810,9 @@ const ( // FilterNameVolumeId is a FilterName enum value FilterNameVolumeId = "volume-id" + + // FilterNameDataRepositoryType is a FilterName enum value + FilterNameDataRepositoryType = "data-repository-type" ) // FilterName_Values returns all elements of the FilterName enum @@ -14647,6 +19822,7 @@ func FilterName_Values() []string { FilterNameBackupType, FilterNameFileSystemType, FilterNameVolumeId, + FilterNameDataRepositoryType, } } @@ -14670,6 +19846,30 @@ func FlexCacheEndpointType_Values() []string { } } +const ( + // LustreAccessAuditLogLevelDisabled is a LustreAccessAuditLogLevel enum value + LustreAccessAuditLogLevelDisabled = "DISABLED" + + // LustreAccessAuditLogLevelWarnOnly is a LustreAccessAuditLogLevel enum value + LustreAccessAuditLogLevelWarnOnly = "WARN_ONLY" + + // LustreAccessAuditLogLevelErrorOnly is a LustreAccessAuditLogLevel enum value + LustreAccessAuditLogLevelErrorOnly = "ERROR_ONLY" + + // LustreAccessAuditLogLevelWarnError is a LustreAccessAuditLogLevel enum value + LustreAccessAuditLogLevelWarnError = "WARN_ERROR" +) + +// LustreAccessAuditLogLevel_Values returns all elements of the LustreAccessAuditLogLevel enum +func LustreAccessAuditLogLevel_Values() []string { + return []string{ + LustreAccessAuditLogLevelDisabled, + LustreAccessAuditLogLevelWarnOnly, + LustreAccessAuditLogLevelErrorOnly, + LustreAccessAuditLogLevelWarnError, + } +} + const ( // LustreDeploymentTypeScratch1 is a LustreDeploymentType enum value LustreDeploymentTypeScratch1 = "SCRATCH_1" @@ -14679,6 +19879,9 @@ const ( // LustreDeploymentTypePersistent1 is a LustreDeploymentType enum value LustreDeploymentTypePersistent1 = "PERSISTENT_1" + + // LustreDeploymentTypePersistent2 is a LustreDeploymentType enum value + LustreDeploymentTypePersistent2 = "PERSISTENT_2" ) // LustreDeploymentType_Values returns all elements of the LustreDeploymentType enum @@ -14687,6 +19890,7 @@ func LustreDeploymentType_Values() []string { LustreDeploymentTypeScratch1, LustreDeploymentTypeScratch2, LustreDeploymentTypePersistent1, + LustreDeploymentTypePersistent2, } } @@ -14722,6 +19926,66 @@ func OntapVolumeType_Values() []string { } } +const ( + // OpenZFSCopyStrategyClone is a OpenZFSCopyStrategy enum value + OpenZFSCopyStrategyClone = "CLONE" + + // OpenZFSCopyStrategyFullCopy is a OpenZFSCopyStrategy enum value + OpenZFSCopyStrategyFullCopy = "FULL_COPY" +) + +// OpenZFSCopyStrategy_Values returns all elements of the OpenZFSCopyStrategy enum +func OpenZFSCopyStrategy_Values() []string { + return []string{ + OpenZFSCopyStrategyClone, + OpenZFSCopyStrategyFullCopy, + } +} + +const ( + // OpenZFSDataCompressionTypeNone is a OpenZFSDataCompressionType enum value + OpenZFSDataCompressionTypeNone = "NONE" + + // OpenZFSDataCompressionTypeZstd is a OpenZFSDataCompressionType enum value + OpenZFSDataCompressionTypeZstd = "ZSTD" +) + +// OpenZFSDataCompressionType_Values returns all elements of the OpenZFSDataCompressionType enum +func OpenZFSDataCompressionType_Values() []string { + return []string{ + OpenZFSDataCompressionTypeNone, + OpenZFSDataCompressionTypeZstd, + } +} + +const ( + // OpenZFSDeploymentTypeSingleAz1 is a OpenZFSDeploymentType enum value + OpenZFSDeploymentTypeSingleAz1 = "SINGLE_AZ_1" +) + +// OpenZFSDeploymentType_Values returns all elements of the OpenZFSDeploymentType enum +func OpenZFSDeploymentType_Values() []string { + return []string{ + OpenZFSDeploymentTypeSingleAz1, + } +} + +const ( + // OpenZFSQuotaTypeUser is a OpenZFSQuotaType enum value + OpenZFSQuotaTypeUser = "USER" + + // OpenZFSQuotaTypeGroup is a OpenZFSQuotaType enum value + OpenZFSQuotaTypeGroup = "GROUP" +) + +// OpenZFSQuotaType_Values returns all elements of the OpenZFSQuotaType enum +func OpenZFSQuotaType_Values() []string { + return []string{ + OpenZFSQuotaTypeUser, + OpenZFSQuotaTypeGroup, + } +} + const ( // ReportFormatReportCsv20191124 is a ReportFormat enum value ReportFormatReportCsv20191124 = "REPORT_CSV_20191124" @@ -14762,6 +20026,22 @@ func ResourceType_Values() []string { } } +const ( + // RestoreOpenZFSVolumeOptionDeleteIntermediateSnapshots is a RestoreOpenZFSVolumeOption enum value + RestoreOpenZFSVolumeOptionDeleteIntermediateSnapshots = "DELETE_INTERMEDIATE_SNAPSHOTS" + + // RestoreOpenZFSVolumeOptionDeleteClonedVolumes is a RestoreOpenZFSVolumeOption enum value + RestoreOpenZFSVolumeOptionDeleteClonedVolumes = "DELETE_CLONED_VOLUMES" +) + +// RestoreOpenZFSVolumeOption_Values returns all elements of the RestoreOpenZFSVolumeOption enum +func RestoreOpenZFSVolumeOption_Values() []string { + return []string{ + RestoreOpenZFSVolumeOptionDeleteIntermediateSnapshots, + RestoreOpenZFSVolumeOptionDeleteClonedVolumes, + } +} + const ( // SecurityStyleUnix is a SecurityStyle enum value SecurityStyleUnix = "UNIX" @@ -14831,6 +20111,46 @@ func ServiceLimit_Values() []string { } } +const ( + // SnapshotFilterNameFileSystemId is a SnapshotFilterName enum value + SnapshotFilterNameFileSystemId = "file-system-id" + + // SnapshotFilterNameVolumeId is a SnapshotFilterName enum value + SnapshotFilterNameVolumeId = "volume-id" +) + +// SnapshotFilterName_Values returns all elements of the SnapshotFilterName enum +func SnapshotFilterName_Values() []string { + return []string{ + SnapshotFilterNameFileSystemId, + SnapshotFilterNameVolumeId, + } +} + +const ( + // SnapshotLifecyclePending is a SnapshotLifecycle enum value + SnapshotLifecyclePending = "PENDING" + + // SnapshotLifecycleCreating is a SnapshotLifecycle enum value + SnapshotLifecycleCreating = "CREATING" + + // SnapshotLifecycleDeleting is a SnapshotLifecycle enum value + SnapshotLifecycleDeleting = "DELETING" + + // SnapshotLifecycleAvailable is a SnapshotLifecycle enum value + SnapshotLifecycleAvailable = "AVAILABLE" +) + +// SnapshotLifecycle_Values returns all elements of the SnapshotLifecycle enum +func SnapshotLifecycle_Values() []string { + return []string{ + SnapshotLifecyclePending, + SnapshotLifecycleCreating, + SnapshotLifecycleDeleting, + SnapshotLifecycleAvailable, + } +} + const ( // StatusFailed is a Status enum value StatusFailed = "FAILED" @@ -15022,6 +20342,9 @@ const ( // VolumeLifecyclePending is a VolumeLifecycle enum value VolumeLifecyclePending = "PENDING" + + // VolumeLifecycleAvailable is a VolumeLifecycle enum value + VolumeLifecycleAvailable = "AVAILABLE" ) // VolumeLifecycle_Values returns all elements of the VolumeLifecycle enum @@ -15033,18 +20356,23 @@ func VolumeLifecycle_Values() []string { VolumeLifecycleFailed, VolumeLifecycleMisconfigured, VolumeLifecyclePending, + VolumeLifecycleAvailable, } } const ( // VolumeTypeOntap is a VolumeType enum value VolumeTypeOntap = "ONTAP" + + // VolumeTypeOpenzfs is a VolumeType enum value + VolumeTypeOpenzfs = "OPENZFS" ) // VolumeType_Values returns all elements of the VolumeType enum func VolumeType_Values() []string { return []string{ VolumeTypeOntap, + VolumeTypeOpenzfs, } } diff --git a/service/fsx/errors.go b/service/fsx/errors.go index 814fc8dcd36..4b3f68886af 100644 --- a/service/fsx/errors.go +++ b/service/fsx/errors.go @@ -45,6 +45,12 @@ const ( // A generic error indicating a failure with a client request. ErrCodeBadRequest = "BadRequest" + // ErrCodeDataRepositoryAssociationNotFound for service response error code + // "DataRepositoryAssociationNotFound". + // + // No data repository associations were found based upon the supplied parameters. + ErrCodeDataRepositoryAssociationNotFound = "DataRepositoryAssociationNotFound" + // ErrCodeDataRepositoryTaskEnded for service response error code // "DataRepositoryTaskEnded". // @@ -92,10 +98,16 @@ const ( // A generic error indicating a server-side failure. ErrCodeInternalServerError = "InternalServerError" + // ErrCodeInvalidDataRepositoryType for service response error code + // "InvalidDataRepositoryType". + // + // You have filtered the response to a data repository type that is not supported. + ErrCodeInvalidDataRepositoryType = "InvalidDataRepositoryType" + // ErrCodeInvalidDestinationKmsKey for service response error code // "InvalidDestinationKmsKey". // - // The Key Management Service (KMS) key of the destination backup is invalid. + // The Key Management Service (KMS) key of the destination backup is not valid. ErrCodeInvalidDestinationKmsKey = "InvalidDestinationKmsKey" // ErrCodeInvalidExportPath for service response error code @@ -126,14 +138,14 @@ const ( // ErrCodeInvalidRegion for service response error code // "InvalidRegion". // - // The Region provided for Source Region is invalid or is in a different Amazon + // The Region provided for SourceRegion is not valid or is in a different Amazon // Web Services partition. ErrCodeInvalidRegion = "InvalidRegion" // ErrCodeInvalidSourceKmsKey for service response error code // "InvalidSourceKmsKey". // - // The Key Management Service (KMS) key of the source backup is invalid. + // The Key Management Service (KMS) key of the source backup is not valid. ErrCodeInvalidSourceKmsKey = "InvalidSourceKmsKey" // ErrCodeMissingFileSystemConfiguration for service response error code @@ -174,11 +186,17 @@ const ( // increase some service limits by contacting Amazon Web Services Support. ErrCodeServiceLimitExceeded = "ServiceLimitExceeded" + // ErrCodeSnapshotNotFound for service response error code + // "SnapshotNotFound". + // + // No Amazon FSx snapshots were found based on the supplied parameters. + ErrCodeSnapshotNotFound = "SnapshotNotFound" + // ErrCodeSourceBackupUnavailable for service response error code // "SourceBackupUnavailable". // // The request was rejected because the lifecycle status of the source backup - // is not AVAILABLE. + // isn't AVAILABLE. ErrCodeSourceBackupUnavailable = "SourceBackupUnavailable" // ErrCodeStorageVirtualMachineNotFound for service response error code @@ -202,34 +220,37 @@ const ( ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ - "ActiveDirectoryError": newErrorActiveDirectoryError, - "BackupBeingCopied": newErrorBackupBeingCopied, - "BackupInProgress": newErrorBackupInProgress, - "BackupNotFound": newErrorBackupNotFound, - "BackupRestoring": newErrorBackupRestoring, - "BadRequest": newErrorBadRequest, - "DataRepositoryTaskEnded": newErrorDataRepositoryTaskEnded, - "DataRepositoryTaskExecuting": newErrorDataRepositoryTaskExecuting, - "DataRepositoryTaskNotFound": newErrorDataRepositoryTaskNotFound, - "FileSystemNotFound": newErrorFileSystemNotFound, - "IncompatibleParameterError": newErrorIncompatibleParameterError, - "IncompatibleRegionForMultiAZ": newErrorIncompatibleRegionForMultiAZ, - "InternalServerError": newErrorInternalServerError, - "InvalidDestinationKmsKey": newErrorInvalidDestinationKmsKey, - "InvalidExportPath": newErrorInvalidExportPath, - "InvalidImportPath": newErrorInvalidImportPath, - "InvalidNetworkSettings": newErrorInvalidNetworkSettings, - "InvalidPerUnitStorageThroughput": newErrorInvalidPerUnitStorageThroughput, - "InvalidRegion": newErrorInvalidRegion, - "InvalidSourceKmsKey": newErrorInvalidSourceKmsKey, - "MissingFileSystemConfiguration": newErrorMissingFileSystemConfiguration, - "MissingVolumeConfiguration": newErrorMissingVolumeConfiguration, - "NotServiceResourceError": newErrorNotServiceResourceError, - "ResourceDoesNotSupportTagging": newErrorResourceDoesNotSupportTagging, - "ResourceNotFound": newErrorResourceNotFound, - "ServiceLimitExceeded": newErrorServiceLimitExceeded, - "SourceBackupUnavailable": newErrorSourceBackupUnavailable, - "StorageVirtualMachineNotFound": newErrorStorageVirtualMachineNotFound, - "UnsupportedOperation": newErrorUnsupportedOperation, - "VolumeNotFound": newErrorVolumeNotFound, + "ActiveDirectoryError": newErrorActiveDirectoryError, + "BackupBeingCopied": newErrorBackupBeingCopied, + "BackupInProgress": newErrorBackupInProgress, + "BackupNotFound": newErrorBackupNotFound, + "BackupRestoring": newErrorBackupRestoring, + "BadRequest": newErrorBadRequest, + "DataRepositoryAssociationNotFound": newErrorDataRepositoryAssociationNotFound, + "DataRepositoryTaskEnded": newErrorDataRepositoryTaskEnded, + "DataRepositoryTaskExecuting": newErrorDataRepositoryTaskExecuting, + "DataRepositoryTaskNotFound": newErrorDataRepositoryTaskNotFound, + "FileSystemNotFound": newErrorFileSystemNotFound, + "IncompatibleParameterError": newErrorIncompatibleParameterError, + "IncompatibleRegionForMultiAZ": newErrorIncompatibleRegionForMultiAZ, + "InternalServerError": newErrorInternalServerError, + "InvalidDataRepositoryType": newErrorInvalidDataRepositoryType, + "InvalidDestinationKmsKey": newErrorInvalidDestinationKmsKey, + "InvalidExportPath": newErrorInvalidExportPath, + "InvalidImportPath": newErrorInvalidImportPath, + "InvalidNetworkSettings": newErrorInvalidNetworkSettings, + "InvalidPerUnitStorageThroughput": newErrorInvalidPerUnitStorageThroughput, + "InvalidRegion": newErrorInvalidRegion, + "InvalidSourceKmsKey": newErrorInvalidSourceKmsKey, + "MissingFileSystemConfiguration": newErrorMissingFileSystemConfiguration, + "MissingVolumeConfiguration": newErrorMissingVolumeConfiguration, + "NotServiceResourceError": newErrorNotServiceResourceError, + "ResourceDoesNotSupportTagging": newErrorResourceDoesNotSupportTagging, + "ResourceNotFound": newErrorResourceNotFound, + "ServiceLimitExceeded": newErrorServiceLimitExceeded, + "SnapshotNotFound": newErrorSnapshotNotFound, + "SourceBackupUnavailable": newErrorSourceBackupUnavailable, + "StorageVirtualMachineNotFound": newErrorStorageVirtualMachineNotFound, + "UnsupportedOperation": newErrorUnsupportedOperation, + "VolumeNotFound": newErrorVolumeNotFound, } diff --git a/service/fsx/fsxiface/interface.go b/service/fsx/fsxiface/interface.go index d48f100f447..240ed1d834f 100644 --- a/service/fsx/fsxiface/interface.go +++ b/service/fsx/fsxiface/interface.go @@ -76,6 +76,10 @@ type FSxAPI interface { CreateBackupWithContext(aws.Context, *fsx.CreateBackupInput, ...request.Option) (*fsx.CreateBackupOutput, error) CreateBackupRequest(*fsx.CreateBackupInput) (*request.Request, *fsx.CreateBackupOutput) + CreateDataRepositoryAssociation(*fsx.CreateDataRepositoryAssociationInput) (*fsx.CreateDataRepositoryAssociationOutput, error) + CreateDataRepositoryAssociationWithContext(aws.Context, *fsx.CreateDataRepositoryAssociationInput, ...request.Option) (*fsx.CreateDataRepositoryAssociationOutput, error) + CreateDataRepositoryAssociationRequest(*fsx.CreateDataRepositoryAssociationInput) (*request.Request, *fsx.CreateDataRepositoryAssociationOutput) + CreateDataRepositoryTask(*fsx.CreateDataRepositoryTaskInput) (*fsx.CreateDataRepositoryTaskOutput, error) CreateDataRepositoryTaskWithContext(aws.Context, *fsx.CreateDataRepositoryTaskInput, ...request.Option) (*fsx.CreateDataRepositoryTaskOutput, error) CreateDataRepositoryTaskRequest(*fsx.CreateDataRepositoryTaskInput) (*request.Request, *fsx.CreateDataRepositoryTaskOutput) @@ -88,6 +92,10 @@ type FSxAPI interface { CreateFileSystemFromBackupWithContext(aws.Context, *fsx.CreateFileSystemFromBackupInput, ...request.Option) (*fsx.CreateFileSystemFromBackupOutput, error) CreateFileSystemFromBackupRequest(*fsx.CreateFileSystemFromBackupInput) (*request.Request, *fsx.CreateFileSystemFromBackupOutput) + CreateSnapshot(*fsx.CreateSnapshotInput) (*fsx.CreateSnapshotOutput, error) + CreateSnapshotWithContext(aws.Context, *fsx.CreateSnapshotInput, ...request.Option) (*fsx.CreateSnapshotOutput, error) + CreateSnapshotRequest(*fsx.CreateSnapshotInput) (*request.Request, *fsx.CreateSnapshotOutput) + CreateStorageVirtualMachine(*fsx.CreateStorageVirtualMachineInput) (*fsx.CreateStorageVirtualMachineOutput, error) CreateStorageVirtualMachineWithContext(aws.Context, *fsx.CreateStorageVirtualMachineInput, ...request.Option) (*fsx.CreateStorageVirtualMachineOutput, error) CreateStorageVirtualMachineRequest(*fsx.CreateStorageVirtualMachineInput) (*request.Request, *fsx.CreateStorageVirtualMachineOutput) @@ -104,10 +112,18 @@ type FSxAPI interface { DeleteBackupWithContext(aws.Context, *fsx.DeleteBackupInput, ...request.Option) (*fsx.DeleteBackupOutput, error) DeleteBackupRequest(*fsx.DeleteBackupInput) (*request.Request, *fsx.DeleteBackupOutput) + DeleteDataRepositoryAssociation(*fsx.DeleteDataRepositoryAssociationInput) (*fsx.DeleteDataRepositoryAssociationOutput, error) + DeleteDataRepositoryAssociationWithContext(aws.Context, *fsx.DeleteDataRepositoryAssociationInput, ...request.Option) (*fsx.DeleteDataRepositoryAssociationOutput, error) + DeleteDataRepositoryAssociationRequest(*fsx.DeleteDataRepositoryAssociationInput) (*request.Request, *fsx.DeleteDataRepositoryAssociationOutput) + DeleteFileSystem(*fsx.DeleteFileSystemInput) (*fsx.DeleteFileSystemOutput, error) DeleteFileSystemWithContext(aws.Context, *fsx.DeleteFileSystemInput, ...request.Option) (*fsx.DeleteFileSystemOutput, error) DeleteFileSystemRequest(*fsx.DeleteFileSystemInput) (*request.Request, *fsx.DeleteFileSystemOutput) + DeleteSnapshot(*fsx.DeleteSnapshotInput) (*fsx.DeleteSnapshotOutput, error) + DeleteSnapshotWithContext(aws.Context, *fsx.DeleteSnapshotInput, ...request.Option) (*fsx.DeleteSnapshotOutput, error) + DeleteSnapshotRequest(*fsx.DeleteSnapshotInput) (*request.Request, *fsx.DeleteSnapshotOutput) + DeleteStorageVirtualMachine(*fsx.DeleteStorageVirtualMachineInput) (*fsx.DeleteStorageVirtualMachineOutput, error) DeleteStorageVirtualMachineWithContext(aws.Context, *fsx.DeleteStorageVirtualMachineInput, ...request.Option) (*fsx.DeleteStorageVirtualMachineOutput, error) DeleteStorageVirtualMachineRequest(*fsx.DeleteStorageVirtualMachineInput) (*request.Request, *fsx.DeleteStorageVirtualMachineOutput) @@ -123,6 +139,13 @@ type FSxAPI interface { DescribeBackupsPages(*fsx.DescribeBackupsInput, func(*fsx.DescribeBackupsOutput, bool) bool) error DescribeBackupsPagesWithContext(aws.Context, *fsx.DescribeBackupsInput, func(*fsx.DescribeBackupsOutput, bool) bool, ...request.Option) error + DescribeDataRepositoryAssociations(*fsx.DescribeDataRepositoryAssociationsInput) (*fsx.DescribeDataRepositoryAssociationsOutput, error) + DescribeDataRepositoryAssociationsWithContext(aws.Context, *fsx.DescribeDataRepositoryAssociationsInput, ...request.Option) (*fsx.DescribeDataRepositoryAssociationsOutput, error) + DescribeDataRepositoryAssociationsRequest(*fsx.DescribeDataRepositoryAssociationsInput) (*request.Request, *fsx.DescribeDataRepositoryAssociationsOutput) + + DescribeDataRepositoryAssociationsPages(*fsx.DescribeDataRepositoryAssociationsInput, func(*fsx.DescribeDataRepositoryAssociationsOutput, bool) bool) error + DescribeDataRepositoryAssociationsPagesWithContext(aws.Context, *fsx.DescribeDataRepositoryAssociationsInput, func(*fsx.DescribeDataRepositoryAssociationsOutput, bool) bool, ...request.Option) error + DescribeDataRepositoryTasks(*fsx.DescribeDataRepositoryTasksInput) (*fsx.DescribeDataRepositoryTasksOutput, error) DescribeDataRepositoryTasksWithContext(aws.Context, *fsx.DescribeDataRepositoryTasksInput, ...request.Option) (*fsx.DescribeDataRepositoryTasksOutput, error) DescribeDataRepositoryTasksRequest(*fsx.DescribeDataRepositoryTasksInput) (*request.Request, *fsx.DescribeDataRepositoryTasksOutput) @@ -144,6 +167,13 @@ type FSxAPI interface { DescribeFileSystemsPages(*fsx.DescribeFileSystemsInput, func(*fsx.DescribeFileSystemsOutput, bool) bool) error DescribeFileSystemsPagesWithContext(aws.Context, *fsx.DescribeFileSystemsInput, func(*fsx.DescribeFileSystemsOutput, bool) bool, ...request.Option) error + DescribeSnapshots(*fsx.DescribeSnapshotsInput) (*fsx.DescribeSnapshotsOutput, error) + DescribeSnapshotsWithContext(aws.Context, *fsx.DescribeSnapshotsInput, ...request.Option) (*fsx.DescribeSnapshotsOutput, error) + DescribeSnapshotsRequest(*fsx.DescribeSnapshotsInput) (*request.Request, *fsx.DescribeSnapshotsOutput) + + DescribeSnapshotsPages(*fsx.DescribeSnapshotsInput, func(*fsx.DescribeSnapshotsOutput, bool) bool) error + DescribeSnapshotsPagesWithContext(aws.Context, *fsx.DescribeSnapshotsInput, func(*fsx.DescribeSnapshotsOutput, bool) bool, ...request.Option) error + DescribeStorageVirtualMachines(*fsx.DescribeStorageVirtualMachinesInput) (*fsx.DescribeStorageVirtualMachinesOutput, error) DescribeStorageVirtualMachinesWithContext(aws.Context, *fsx.DescribeStorageVirtualMachinesInput, ...request.Option) (*fsx.DescribeStorageVirtualMachinesOutput, error) DescribeStorageVirtualMachinesRequest(*fsx.DescribeStorageVirtualMachinesInput) (*request.Request, *fsx.DescribeStorageVirtualMachinesOutput) @@ -169,6 +199,14 @@ type FSxAPI interface { ListTagsForResourcePages(*fsx.ListTagsForResourceInput, func(*fsx.ListTagsForResourceOutput, bool) bool) error ListTagsForResourcePagesWithContext(aws.Context, *fsx.ListTagsForResourceInput, func(*fsx.ListTagsForResourceOutput, bool) bool, ...request.Option) error + ReleaseFileSystemNfsV3Locks(*fsx.ReleaseFileSystemNfsV3LocksInput) (*fsx.ReleaseFileSystemNfsV3LocksOutput, error) + ReleaseFileSystemNfsV3LocksWithContext(aws.Context, *fsx.ReleaseFileSystemNfsV3LocksInput, ...request.Option) (*fsx.ReleaseFileSystemNfsV3LocksOutput, error) + ReleaseFileSystemNfsV3LocksRequest(*fsx.ReleaseFileSystemNfsV3LocksInput) (*request.Request, *fsx.ReleaseFileSystemNfsV3LocksOutput) + + RestoreVolumeFromSnapshot(*fsx.RestoreVolumeFromSnapshotInput) (*fsx.RestoreVolumeFromSnapshotOutput, error) + RestoreVolumeFromSnapshotWithContext(aws.Context, *fsx.RestoreVolumeFromSnapshotInput, ...request.Option) (*fsx.RestoreVolumeFromSnapshotOutput, error) + RestoreVolumeFromSnapshotRequest(*fsx.RestoreVolumeFromSnapshotInput) (*request.Request, *fsx.RestoreVolumeFromSnapshotOutput) + TagResource(*fsx.TagResourceInput) (*fsx.TagResourceOutput, error) TagResourceWithContext(aws.Context, *fsx.TagResourceInput, ...request.Option) (*fsx.TagResourceOutput, error) TagResourceRequest(*fsx.TagResourceInput) (*request.Request, *fsx.TagResourceOutput) @@ -177,10 +215,18 @@ type FSxAPI interface { UntagResourceWithContext(aws.Context, *fsx.UntagResourceInput, ...request.Option) (*fsx.UntagResourceOutput, error) UntagResourceRequest(*fsx.UntagResourceInput) (*request.Request, *fsx.UntagResourceOutput) + UpdateDataRepositoryAssociation(*fsx.UpdateDataRepositoryAssociationInput) (*fsx.UpdateDataRepositoryAssociationOutput, error) + UpdateDataRepositoryAssociationWithContext(aws.Context, *fsx.UpdateDataRepositoryAssociationInput, ...request.Option) (*fsx.UpdateDataRepositoryAssociationOutput, error) + UpdateDataRepositoryAssociationRequest(*fsx.UpdateDataRepositoryAssociationInput) (*request.Request, *fsx.UpdateDataRepositoryAssociationOutput) + UpdateFileSystem(*fsx.UpdateFileSystemInput) (*fsx.UpdateFileSystemOutput, error) UpdateFileSystemWithContext(aws.Context, *fsx.UpdateFileSystemInput, ...request.Option) (*fsx.UpdateFileSystemOutput, error) UpdateFileSystemRequest(*fsx.UpdateFileSystemInput) (*request.Request, *fsx.UpdateFileSystemOutput) + UpdateSnapshot(*fsx.UpdateSnapshotInput) (*fsx.UpdateSnapshotOutput, error) + UpdateSnapshotWithContext(aws.Context, *fsx.UpdateSnapshotInput, ...request.Option) (*fsx.UpdateSnapshotOutput, error) + UpdateSnapshotRequest(*fsx.UpdateSnapshotInput) (*request.Request, *fsx.UpdateSnapshotOutput) + UpdateStorageVirtualMachine(*fsx.UpdateStorageVirtualMachineInput) (*fsx.UpdateStorageVirtualMachineOutput, error) UpdateStorageVirtualMachineWithContext(aws.Context, *fsx.UpdateStorageVirtualMachineInput, ...request.Option) (*fsx.UpdateStorageVirtualMachineOutput, error) UpdateStorageVirtualMachineRequest(*fsx.UpdateStorageVirtualMachineInput) (*request.Request, *fsx.UpdateStorageVirtualMachineOutput) diff --git a/service/glue/api.go b/service/glue/api.go index 9d059b2682e..a0ff5dac76e 100644 --- a/service/glue/api.go +++ b/service/glue/api.go @@ -355,6 +355,12 @@ func (c *Glue) BatchDeleteTableRequest(input *BatchDeleteTableInput) (req *reque // * OperationTimeoutException // The operation timed out. // +// * EncryptionException +// An encryption operation failed. +// +// * ResourceNotReadyException +// A resource was not ready for a transaction. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchDeleteTable func (c *Glue) BatchDeleteTable(input *BatchDeleteTableInput) (*BatchDeleteTableOutput, error) { req, out := c.BatchDeleteTableRequest(input) @@ -883,6 +889,9 @@ func (c *Glue) BatchGetPartitionRequest(input *BatchGetPartitionInput) (req *req // * EncryptionException // An encryption operation failed. // +// * InvalidStateException +// An error that indicates your data is in an invalid state. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/BatchGetPartition func (c *Glue) BatchGetPartition(input *BatchGetPartitionInput) (*BatchGetPartitionOutput, error) { req, out := c.BatchGetPartitionRequest(input) @@ -2852,6 +2861,9 @@ func (c *Glue) CreateTableRequest(input *CreateTableInput) (req *request.Request // * ConcurrentModificationException // Two processes are trying to modify a resource simultaneously. // +// * ResourceNotReadyException +// A resource was not ready for a transaction. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/CreateTable func (c *Glue) CreateTable(input *CreateTableInput) (*CreateTableOutput, error) { req, out := c.CreateTableRequest(input) @@ -4798,6 +4810,9 @@ func (c *Glue) DeleteTableRequest(input *DeleteTableInput) (req *request.Request // * ConcurrentModificationException // Two processes are trying to modify a resource simultaneously. // +// * ResourceNotReadyException +// A resource was not ready for a transaction. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/DeleteTable func (c *Glue) DeleteTable(input *DeleteTableInput) (*DeleteTableOutput, error) { req, out := c.DeleteTableRequest(input) @@ -8672,6 +8687,12 @@ func (c *Glue) GetPartitionsRequest(input *GetPartitionsInput) (req *request.Req // * EncryptionException // An encryption operation failed. // +// * InvalidStateException +// An error that indicates your data is in an invalid state. +// +// * ResourceNotReadyException +// A resource was not ready for a transaction. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetPartitions func (c *Glue) GetPartitions(input *GetPartitionsInput) (*GetPartitionsOutput, error) { req, out := c.GetPartitionsRequest(input) @@ -9825,6 +9846,9 @@ func (c *Glue) GetTableRequest(input *GetTableInput) (req *request.Request, outp // * EncryptionException // An encryption operation failed. // +// * ResourceNotReadyException +// A resource was not ready for a transaction. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/GetTable func (c *Glue) GetTable(input *GetTableInput) (*GetTableOutput, error) { req, out := c.GetTableRequest(input) @@ -16657,6 +16681,9 @@ func (c *Glue) UpdateTableRequest(input *UpdateTableInput) (req *request.Request // * EncryptionException // An encryption operation failed. // +// * ResourceNotReadyException +// A resource was not ready for a transaction. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/glue-2017-03-31/UpdateTable func (c *Glue) UpdateTable(input *UpdateTableInput) (*UpdateTableOutput, error) { req, out := c.UpdateTableRequest(input) @@ -17647,6 +17674,9 @@ type BatchDeleteTableInput struct { // // TablesToDelete is a required field TablesToDelete []*string `type:"list" required:"true"` + + // The transaction ID at which to delete the table contents. + TransactionId *string `min:"1" type:"string"` } // String returns the string representation. @@ -17682,6 +17712,9 @@ func (s *BatchDeleteTableInput) Validate() error { if s.TablesToDelete == nil { invalidParams.Add(request.NewErrParamRequired("TablesToDelete")) } + if s.TransactionId != nil && len(*s.TransactionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TransactionId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -17707,6 +17740,12 @@ func (s *BatchDeleteTableInput) SetTablesToDelete(v []*string) *BatchDeleteTable return s } +// SetTransactionId sets the TransactionId field's value. +func (s *BatchDeleteTableInput) SetTransactionId(v string) *BatchDeleteTableInput { + s.TransactionId = &v + return s +} + type BatchDeleteTableOutput struct { _ struct{} `type:"structure"` @@ -25099,6 +25138,9 @@ type CreateTableInput struct { // // TableInput is a required field TableInput *TableInput `type:"structure" required:"true"` + + // The ID of the transaction. + TransactionId *string `min:"1" type:"string"` } // String returns the string representation. @@ -25134,6 +25176,9 @@ func (s *CreateTableInput) Validate() error { if s.TableInput == nil { invalidParams.Add(request.NewErrParamRequired("TableInput")) } + if s.TransactionId != nil && len(*s.TransactionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TransactionId", 1)) + } if s.PartitionIndexes != nil { for i, v := range s.PartitionIndexes { if v == nil { @@ -25180,6 +25225,12 @@ func (s *CreateTableInput) SetTableInput(v *TableInput) *CreateTableInput { return s } +// SetTransactionId sets the TransactionId field's value. +func (s *CreateTableInput) SetTransactionId(v string) *CreateTableInput { + s.TransactionId = &v + return s +} + type CreateTableOutput struct { _ struct{} `type:"structure"` } @@ -28015,6 +28066,9 @@ type DeleteTableInput struct { // // Name is a required field Name *string `min:"1" type:"string" required:"true"` + + // The transaction ID at which to delete the table contents. + TransactionId *string `min:"1" type:"string"` } // String returns the string representation. @@ -28053,6 +28107,9 @@ func (s *DeleteTableInput) Validate() error { if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } + if s.TransactionId != nil && len(*s.TransactionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TransactionId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -28078,6 +28135,12 @@ func (s *DeleteTableInput) SetName(v string) *DeleteTableInput { return s } +// SetTransactionId sets the TransactionId field's value. +func (s *DeleteTableInput) SetTransactionId(v string) *DeleteTableInput { + s.TransactionId = &v + return s +} + type DeleteTableOutput struct { _ struct{} `type:"structure"` } @@ -33372,6 +33435,11 @@ type GetPartitionsInput struct { // A continuation token, if this is not the first call to retrieve these partitions. NextToken *string `type:"string"` + // The time as of when to read the partition contents. If not set, the most + // recent transaction commit time will be used. Cannot be specified along with + // TransactionId. + QueryAsOfTime *time.Time `type:"timestamp"` + // The segment of the table's partitions to scan in this request. Segment *Segment `type:"structure"` @@ -33379,6 +33447,9 @@ type GetPartitionsInput struct { // // TableName is a required field TableName *string `min:"1" type:"string" required:"true"` + + // The transaction ID at which to read the partition contents. + TransactionId *string `min:"1" type:"string"` } // String returns the string representation. @@ -33420,6 +33491,9 @@ func (s *GetPartitionsInput) Validate() error { if s.TableName != nil && len(*s.TableName) < 1 { invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } + if s.TransactionId != nil && len(*s.TransactionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TransactionId", 1)) + } if s.Segment != nil { if err := s.Segment.Validate(); err != nil { invalidParams.AddNested("Segment", err.(request.ErrInvalidParams)) @@ -33468,6 +33542,12 @@ func (s *GetPartitionsInput) SetNextToken(v string) *GetPartitionsInput { return s } +// SetQueryAsOfTime sets the QueryAsOfTime field's value. +func (s *GetPartitionsInput) SetQueryAsOfTime(v time.Time) *GetPartitionsInput { + s.QueryAsOfTime = &v + return s +} + // SetSegment sets the Segment field's value. func (s *GetPartitionsInput) SetSegment(v *Segment) *GetPartitionsInput { s.Segment = v @@ -33480,6 +33560,12 @@ func (s *GetPartitionsInput) SetTableName(v string) *GetPartitionsInput { return s } +// SetTransactionId sets the TransactionId field's value. +func (s *GetPartitionsInput) SetTransactionId(v string) *GetPartitionsInput { + s.TransactionId = &v + return s +} + type GetPartitionsOutput struct { _ struct{} `type:"structure"` @@ -34850,6 +34936,13 @@ type GetTableInput struct { // // Name is a required field Name *string `min:"1" type:"string" required:"true"` + + // The time as of when to read the table contents. If not set, the most recent + // transaction commit time will be used. Cannot be specified along with TransactionId. + QueryAsOfTime *time.Time `type:"timestamp"` + + // The transaction ID at which to read the table contents. + TransactionId *string `min:"1" type:"string"` } // String returns the string representation. @@ -34888,6 +34981,9 @@ func (s *GetTableInput) Validate() error { if s.Name != nil && len(*s.Name) < 1 { invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } + if s.TransactionId != nil && len(*s.TransactionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TransactionId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -34913,6 +35009,18 @@ func (s *GetTableInput) SetName(v string) *GetTableInput { return s } +// SetQueryAsOfTime sets the QueryAsOfTime field's value. +func (s *GetTableInput) SetQueryAsOfTime(v time.Time) *GetTableInput { + s.QueryAsOfTime = &v + return s +} + +// SetTransactionId sets the TransactionId field's value. +func (s *GetTableInput) SetTransactionId(v string) *GetTableInput { + s.TransactionId = &v + return s +} + type GetTableOutput struct { _ struct{} `type:"structure"` @@ -35232,6 +35340,13 @@ type GetTablesInput struct { // A continuation token, included if this is a continuation call. NextToken *string `type:"string"` + + // The time as of when to read the table contents. If not set, the most recent + // transaction commit time will be used. Cannot be specified along with TransactionId. + QueryAsOfTime *time.Time `type:"timestamp"` + + // The transaction ID at which to read the table contents. + TransactionId *string `min:"1" type:"string"` } // String returns the string representation. @@ -35267,6 +35382,9 @@ func (s *GetTablesInput) Validate() error { if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.TransactionId != nil && len(*s.TransactionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TransactionId", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -35304,6 +35422,18 @@ func (s *GetTablesInput) SetNextToken(v string) *GetTablesInput { return s } +// SetQueryAsOfTime sets the QueryAsOfTime field's value. +func (s *GetTablesInput) SetQueryAsOfTime(v time.Time) *GetTablesInput { + s.QueryAsOfTime = &v + return s +} + +// SetTransactionId sets the TransactionId field's value. +func (s *GetTablesInput) SetTransactionId(v string) *GetTablesInput { + s.TransactionId = &v + return s +} + type GetTablesOutput struct { _ struct{} `type:"structure"` @@ -36857,6 +36987,71 @@ func (s *InvalidInputException) RequestID() string { return s.RespMetadata.RequestID } +// An error that indicates your data is in an invalid state. +type InvalidStateException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A message describing the problem. + 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 InvalidStateException) 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 InvalidStateException) GoString() string { + return s.String() +} + +func newErrorInvalidStateException(v protocol.ResponseMetadata) error { + return &InvalidStateException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InvalidStateException) Code() string { + return "InvalidStateException" +} + +// Message returns the exception's message. +func (s *InvalidStateException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidStateException) OrigErr() error { + return nil +} + +func (s *InvalidStateException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidStateException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InvalidStateException) RequestID() string { + return s.RespMetadata.RequestID +} + // Specifies a JDBC data store to crawl. type JdbcTarget struct { _ struct{} `type:"structure"` @@ -42488,6 +42683,71 @@ func (s *ResetJobBookmarkOutput) SetJobBookmarkEntry(v *JobBookmarkEntry) *Reset return s } +// A resource was not ready for a transaction. +type ResourceNotReadyException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A message describing the problem. + 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 ResourceNotReadyException) 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 ResourceNotReadyException) GoString() string { + return s.String() +} + +func newErrorResourceNotReadyException(v protocol.ResponseMetadata) error { + return &ResourceNotReadyException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotReadyException) Code() string { + return "ResourceNotReadyException" +} + +// Message returns the exception's message. +func (s *ResourceNotReadyException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotReadyException) OrigErr() error { + return nil +} + +func (s *ResourceNotReadyException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotReadyException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotReadyException) RequestID() string { + return s.RespMetadata.RequestID +} + // A resource numerical limit was exceeded. type ResourceNumberLimitExceededException struct { _ struct{} `type:"structure"` @@ -49517,6 +49777,9 @@ type UpdateTableInput struct { // // TableInput is a required field TableInput *TableInput `type:"structure" required:"true"` + + // The transaction ID at which to update the table contents. + TransactionId *string `min:"1" type:"string"` } // String returns the string representation. @@ -49552,6 +49815,9 @@ func (s *UpdateTableInput) Validate() error { if s.TableInput == nil { invalidParams.Add(request.NewErrParamRequired("TableInput")) } + if s.TransactionId != nil && len(*s.TransactionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TransactionId", 1)) + } if s.TableInput != nil { if err := s.TableInput.Validate(); err != nil { invalidParams.AddNested("TableInput", err.(request.ErrInvalidParams)) @@ -49588,6 +49854,12 @@ func (s *UpdateTableInput) SetTableInput(v *TableInput) *UpdateTableInput { return s } +// SetTransactionId sets the TransactionId field's value. +func (s *UpdateTableInput) SetTransactionId(v string) *UpdateTableInput { + s.TransactionId = &v + return s +} + type UpdateTableOutput struct { _ struct{} `type:"structure"` } diff --git a/service/glue/errors.go b/service/glue/errors.go index 96c8a2763cd..16078defcd7 100644 --- a/service/glue/errors.go +++ b/service/glue/errors.go @@ -102,6 +102,12 @@ const ( // The input provided was not valid. ErrCodeInvalidInputException = "InvalidInputException" + // ErrCodeInvalidStateException for service response error code + // "InvalidStateException". + // + // An error that indicates your data is in an invalid state. + ErrCodeInvalidStateException = "InvalidStateException" + // ErrCodeMLTransformNotReadyException for service response error code // "MLTransformNotReadyException". // @@ -120,6 +126,12 @@ const ( // The operation timed out. ErrCodeOperationTimeoutException = "OperationTimeoutException" + // ErrCodeResourceNotReadyException for service response error code + // "ResourceNotReadyException". + // + // A resource was not ready for a transaction. + ErrCodeResourceNotReadyException = "ResourceNotReadyException" + // ErrCodeResourceNumberLimitExceededException for service response error code // "ResourceNumberLimitExceededException". // @@ -174,9 +186,11 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "IllegalWorkflowStateException": newErrorIllegalWorkflowStateException, "InternalServiceException": newErrorInternalServiceException, "InvalidInputException": newErrorInvalidInputException, + "InvalidStateException": newErrorInvalidStateException, "MLTransformNotReadyException": newErrorMLTransformNotReadyException, "NoScheduleException": newErrorNoScheduleException, "OperationTimeoutException": newErrorOperationTimeoutException, + "ResourceNotReadyException": newErrorResourceNotReadyException, "ResourceNumberLimitExceededException": newErrorResourceNumberLimitExceededException, "SchedulerNotRunningException": newErrorSchedulerNotRunningException, "SchedulerRunningException": newErrorSchedulerRunningException, diff --git a/service/iot/api.go b/service/iot/api.go index 4416958db5b..d7a988e5e62 100644 --- a/service/iot/api.go +++ b/service/iot/api.go @@ -39821,6 +39821,9 @@ type DescribeIndexOutput struct { // // * REGISTRY_AND_SHADOW_AND_CONNECTIVITY_STATUS - Your thing index contains // registry data, shadow data, and thing connectivity status data. + // + // * MULTI_INDEXING_MODE - Your thing index contains multiple data sources. + // For more information, see GetIndexingConfiguration (https://docs.aws.amazon.com/iot/latest/apireference/API_GetIndexingConfiguration.html). Schema *string `locationName:"schema" type:"string"` } @@ -61465,7 +61468,14 @@ type ThingDocument struct { // service. Connectivity *ThingConnectivity `locationName:"connectivity" type:"structure"` - // The shadow. + // Contains Device Defender data. + // + // For more information about Device Defender, see Device Defender (https://docs.aws.amazon.com/iot/latest/developerguide/device-defender.html). + DeviceDefender *string `locationName:"deviceDefender" type:"string"` + + // The unnamed shadow and named shadow. + // + // For more information about shadows, see IoT Device Shadow service. (https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html) Shadow *string `locationName:"shadow" type:"string"` // Thing group names. @@ -61511,6 +61521,12 @@ func (s *ThingDocument) SetConnectivity(v *ThingConnectivity) *ThingDocument { return s } +// SetDeviceDefender sets the DeviceDefender field's value. +func (s *ThingDocument) SetDeviceDefender(v string) *ThingDocument { + s.DeviceDefender = &v + return s +} + // SetShadow sets the Shadow field's value. func (s *ThingDocument) SetShadow(v string) *ThingDocument { s.Shadow = &v @@ -61777,10 +61793,32 @@ type ThingIndexingConfiguration struct { // Contains custom field names and their data type. CustomFields []*Field `locationName:"customFields" type:"list"` + // Device Defender indexing mode. Valid values are: + // + // * VIOLATIONS – Your thing index contains Device Defender violations. + // To enable Device Defender indexing, deviceDefenderIndexingMode must not + // be set to OFF. + // + // * OFF - Device Defender indexing is disabled. + // + // For more information about Device Defender violations, see Device Defender + // Detect. (https://docs.aws.amazon.com/iot/latest/developerguide/device-defender-detect.html) + DeviceDefenderIndexingMode *string `locationName:"deviceDefenderIndexingMode" type:"string" enum:"DeviceDefenderIndexingMode"` + // Contains fields that are indexed and whose types are already known by the // Fleet Indexing service. ManagedFields []*Field `locationName:"managedFields" type:"list"` + // Named shadow indexing mode. Valid values are: + // + // * ON – Your thing index contains named shadow. To enable thing named + // shadow indexing, namedShadowIndexingMode must not be set to OFF. + // + // * OFF - Named shadow indexing is disabled. + // + // For more information about Shadows, see IoT Device Shadow service. (https://docs.aws.amazon.com/iot/latest/developerguide/iot-device-shadows.html) + NamedShadowIndexingMode *string `locationName:"namedShadowIndexingMode" type:"string" enum:"NamedShadowIndexingMode"` + // Thing connectivity indexing mode. Valid values are: // // * STATUS – Your thing index contains connectivity status. To enable @@ -61839,12 +61877,24 @@ func (s *ThingIndexingConfiguration) SetCustomFields(v []*Field) *ThingIndexingC return s } +// SetDeviceDefenderIndexingMode sets the DeviceDefenderIndexingMode field's value. +func (s *ThingIndexingConfiguration) SetDeviceDefenderIndexingMode(v string) *ThingIndexingConfiguration { + s.DeviceDefenderIndexingMode = &v + return s +} + // SetManagedFields sets the ManagedFields field's value. func (s *ThingIndexingConfiguration) SetManagedFields(v []*Field) *ThingIndexingConfiguration { s.ManagedFields = v return s } +// SetNamedShadowIndexingMode sets the NamedShadowIndexingMode field's value. +func (s *ThingIndexingConfiguration) SetNamedShadowIndexingMode(v string) *ThingIndexingConfiguration { + s.NamedShadowIndexingMode = &v + return s +} + // SetThingConnectivityIndexingMode sets the ThingConnectivityIndexingMode field's value. func (s *ThingIndexingConfiguration) SetThingConnectivityIndexingMode(v string) *ThingIndexingConfiguration { s.ThingConnectivityIndexingMode = &v @@ -64850,7 +64900,7 @@ type UpdateFleetMetricInput struct { QueryVersion *string `locationName:"queryVersion" type:"string"` // Used to support unit transformation such as milliseconds to seconds. The - // unit must be supported by CW metric (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html). + // unit must be supported by CW metric (https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_MetricDatum.html). Unit *string `locationName:"unit" type:"string" enum:"FleetMetricUnit"` } @@ -67935,6 +67985,22 @@ func DeviceCertificateUpdateAction_Values() []string { } } +const ( + // DeviceDefenderIndexingModeOff is a DeviceDefenderIndexingMode enum value + DeviceDefenderIndexingModeOff = "OFF" + + // DeviceDefenderIndexingModeViolations is a DeviceDefenderIndexingMode enum value + DeviceDefenderIndexingModeViolations = "VIOLATIONS" +) + +// DeviceDefenderIndexingMode_Values returns all elements of the DeviceDefenderIndexingMode enum +func DeviceDefenderIndexingMode_Values() []string { + return []string{ + DeviceDefenderIndexingModeOff, + DeviceDefenderIndexingModeViolations, + } +} + const ( // DimensionTypeTopicFilter is a DimensionType enum value DimensionTypeTopicFilter = "TOPIC_FILTER" @@ -68443,6 +68509,22 @@ func ModelStatus_Values() []string { } } +const ( + // NamedShadowIndexingModeOff is a NamedShadowIndexingMode enum value + NamedShadowIndexingModeOff = "OFF" + + // NamedShadowIndexingModeOn is a NamedShadowIndexingMode enum value + NamedShadowIndexingModeOn = "ON" +) + +// NamedShadowIndexingMode_Values returns all elements of the NamedShadowIndexingMode enum +func NamedShadowIndexingMode_Values() []string { + return []string{ + NamedShadowIndexingModeOff, + NamedShadowIndexingModeOn, + } +} + const ( // OTAUpdateStatusCreatePending is a OTAUpdateStatus enum value OTAUpdateStatusCreatePending = "CREATE_PENDING" diff --git a/service/iottwinmaker/api.go b/service/iottwinmaker/api.go new file mode 100644 index 00000000000..c8b01664d99 --- /dev/null +++ b/service/iottwinmaker/api.go @@ -0,0 +1,9488 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package iottwinmaker + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opBatchPutPropertyValues = "BatchPutPropertyValues" + +// BatchPutPropertyValuesRequest generates a "aws/request.Request" representing the +// client's request for the BatchPutPropertyValues 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 BatchPutPropertyValues for more information on using the BatchPutPropertyValues +// 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 BatchPutPropertyValuesRequest method. +// req, resp := client.BatchPutPropertyValuesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/BatchPutPropertyValues +func (c *IoTTwinMaker) BatchPutPropertyValuesRequest(input *BatchPutPropertyValuesInput) (req *request.Request, output *BatchPutPropertyValuesOutput) { + op := &request.Operation{ + Name: opBatchPutPropertyValues, + HTTPMethod: "POST", + HTTPPath: "/workspaces/{workspaceId}/entity-properties", + } + + if input == nil { + input = &BatchPutPropertyValuesInput{} + } + + output = &BatchPutPropertyValuesOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// BatchPutPropertyValues API operation for AWS IoT TwinMaker. +// +// Sets values for multiple time series properties. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation BatchPutPropertyValues for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * ResourceNotFoundException +// The resource wasn't found. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/BatchPutPropertyValues +func (c *IoTTwinMaker) BatchPutPropertyValues(input *BatchPutPropertyValuesInput) (*BatchPutPropertyValuesOutput, error) { + req, out := c.BatchPutPropertyValuesRequest(input) + return out, req.Send() +} + +// BatchPutPropertyValuesWithContext is the same as BatchPutPropertyValues with the addition of +// the ability to pass a context and additional request options. +// +// See BatchPutPropertyValues 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 *IoTTwinMaker) BatchPutPropertyValuesWithContext(ctx aws.Context, input *BatchPutPropertyValuesInput, opts ...request.Option) (*BatchPutPropertyValuesOutput, error) { + req, out := c.BatchPutPropertyValuesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateComponentType = "CreateComponentType" + +// CreateComponentTypeRequest generates a "aws/request.Request" representing the +// client's request for the CreateComponentType 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 CreateComponentType for more information on using the CreateComponentType +// 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 CreateComponentTypeRequest method. +// req, resp := client.CreateComponentTypeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/CreateComponentType +func (c *IoTTwinMaker) CreateComponentTypeRequest(input *CreateComponentTypeInput) (req *request.Request, output *CreateComponentTypeOutput) { + op := &request.Operation{ + Name: opCreateComponentType, + HTTPMethod: "POST", + HTTPPath: "/workspaces/{workspaceId}/component-types/{componentTypeId}", + } + + if input == nil { + input = &CreateComponentTypeInput{} + } + + output = &CreateComponentTypeOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// CreateComponentType API operation for AWS IoT TwinMaker. +// +// Creates a component type. +// +// TwinMaker is in public preview and is subject to change. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation CreateComponentType for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// * ConflictException +// A conflict occurred. +// +// * ServiceQuotaExceededException +// The service quota was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/CreateComponentType +func (c *IoTTwinMaker) CreateComponentType(input *CreateComponentTypeInput) (*CreateComponentTypeOutput, error) { + req, out := c.CreateComponentTypeRequest(input) + return out, req.Send() +} + +// CreateComponentTypeWithContext is the same as CreateComponentType with the addition of +// the ability to pass a context and additional request options. +// +// See CreateComponentType 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 *IoTTwinMaker) CreateComponentTypeWithContext(ctx aws.Context, input *CreateComponentTypeInput, opts ...request.Option) (*CreateComponentTypeOutput, error) { + req, out := c.CreateComponentTypeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateEntity = "CreateEntity" + +// CreateEntityRequest generates a "aws/request.Request" representing the +// client's request for the CreateEntity 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 CreateEntity for more information on using the CreateEntity +// 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 CreateEntityRequest method. +// req, resp := client.CreateEntityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/CreateEntity +func (c *IoTTwinMaker) CreateEntityRequest(input *CreateEntityInput) (req *request.Request, output *CreateEntityOutput) { + op := &request.Operation{ + Name: opCreateEntity, + HTTPMethod: "POST", + HTTPPath: "/workspaces/{workspaceId}/entities", + } + + if input == nil { + input = &CreateEntityInput{} + } + + output = &CreateEntityOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// CreateEntity API operation for AWS IoT TwinMaker. +// +// Creates an entity. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation CreateEntity for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// * ConflictException +// A conflict occurred. +// +// * ServiceQuotaExceededException +// The service quota was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/CreateEntity +func (c *IoTTwinMaker) CreateEntity(input *CreateEntityInput) (*CreateEntityOutput, error) { + req, out := c.CreateEntityRequest(input) + return out, req.Send() +} + +// CreateEntityWithContext is the same as CreateEntity with the addition of +// the ability to pass a context and additional request options. +// +// See CreateEntity 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 *IoTTwinMaker) CreateEntityWithContext(ctx aws.Context, input *CreateEntityInput, opts ...request.Option) (*CreateEntityOutput, error) { + req, out := c.CreateEntityRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateScene = "CreateScene" + +// CreateSceneRequest generates a "aws/request.Request" representing the +// client's request for the CreateScene 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 CreateScene for more information on using the CreateScene +// 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 CreateSceneRequest method. +// req, resp := client.CreateSceneRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/CreateScene +func (c *IoTTwinMaker) CreateSceneRequest(input *CreateSceneInput) (req *request.Request, output *CreateSceneOutput) { + op := &request.Operation{ + Name: opCreateScene, + HTTPMethod: "POST", + HTTPPath: "/workspaces/{workspaceId}/scenes", + } + + if input == nil { + input = &CreateSceneInput{} + } + + output = &CreateSceneOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// CreateScene API operation for AWS IoT TwinMaker. +// +// Creates a scene. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation CreateScene for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// * ConflictException +// A conflict occurred. +// +// * ServiceQuotaExceededException +// The service quota was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/CreateScene +func (c *IoTTwinMaker) CreateScene(input *CreateSceneInput) (*CreateSceneOutput, error) { + req, out := c.CreateSceneRequest(input) + return out, req.Send() +} + +// CreateSceneWithContext is the same as CreateScene with the addition of +// the ability to pass a context and additional request options. +// +// See CreateScene 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 *IoTTwinMaker) CreateSceneWithContext(ctx aws.Context, input *CreateSceneInput, opts ...request.Option) (*CreateSceneOutput, error) { + req, out := c.CreateSceneRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateWorkspace = "CreateWorkspace" + +// CreateWorkspaceRequest generates a "aws/request.Request" representing the +// client's request for the CreateWorkspace 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 CreateWorkspace for more information on using the CreateWorkspace +// 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 CreateWorkspaceRequest method. +// req, resp := client.CreateWorkspaceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/CreateWorkspace +func (c *IoTTwinMaker) CreateWorkspaceRequest(input *CreateWorkspaceInput) (req *request.Request, output *CreateWorkspaceOutput) { + op := &request.Operation{ + Name: opCreateWorkspace, + HTTPMethod: "POST", + HTTPPath: "/workspaces/{workspaceId}", + } + + if input == nil { + input = &CreateWorkspaceInput{} + } + + output = &CreateWorkspaceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// CreateWorkspace API operation for AWS IoT TwinMaker. +// +// Creates a workplace. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation CreateWorkspace for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// * ConflictException +// A conflict occurred. +// +// * ServiceQuotaExceededException +// The service quota was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/CreateWorkspace +func (c *IoTTwinMaker) CreateWorkspace(input *CreateWorkspaceInput) (*CreateWorkspaceOutput, error) { + req, out := c.CreateWorkspaceRequest(input) + return out, req.Send() +} + +// CreateWorkspaceWithContext is the same as CreateWorkspace with the addition of +// the ability to pass a context and additional request options. +// +// See CreateWorkspace 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 *IoTTwinMaker) CreateWorkspaceWithContext(ctx aws.Context, input *CreateWorkspaceInput, opts ...request.Option) (*CreateWorkspaceOutput, error) { + req, out := c.CreateWorkspaceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteComponentType = "DeleteComponentType" + +// DeleteComponentTypeRequest generates a "aws/request.Request" representing the +// client's request for the DeleteComponentType 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 DeleteComponentType for more information on using the DeleteComponentType +// 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 DeleteComponentTypeRequest method. +// req, resp := client.DeleteComponentTypeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/DeleteComponentType +func (c *IoTTwinMaker) DeleteComponentTypeRequest(input *DeleteComponentTypeInput) (req *request.Request, output *DeleteComponentTypeOutput) { + op := &request.Operation{ + Name: opDeleteComponentType, + HTTPMethod: "DELETE", + HTTPPath: "/workspaces/{workspaceId}/component-types/{componentTypeId}", + } + + if input == nil { + input = &DeleteComponentTypeInput{} + } + + output = &DeleteComponentTypeOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// DeleteComponentType API operation for AWS IoT TwinMaker. +// +// Deletes a component type. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation DeleteComponentType for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * AccessDeniedException +// Access is denied. +// +// * ResourceNotFoundException +// The resource wasn't found. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/DeleteComponentType +func (c *IoTTwinMaker) DeleteComponentType(input *DeleteComponentTypeInput) (*DeleteComponentTypeOutput, error) { + req, out := c.DeleteComponentTypeRequest(input) + return out, req.Send() +} + +// DeleteComponentTypeWithContext is the same as DeleteComponentType with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteComponentType 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 *IoTTwinMaker) DeleteComponentTypeWithContext(ctx aws.Context, input *DeleteComponentTypeInput, opts ...request.Option) (*DeleteComponentTypeOutput, error) { + req, out := c.DeleteComponentTypeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteEntity = "DeleteEntity" + +// DeleteEntityRequest generates a "aws/request.Request" representing the +// client's request for the DeleteEntity 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 DeleteEntity for more information on using the DeleteEntity +// 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 DeleteEntityRequest method. +// req, resp := client.DeleteEntityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/DeleteEntity +func (c *IoTTwinMaker) DeleteEntityRequest(input *DeleteEntityInput) (req *request.Request, output *DeleteEntityOutput) { + op := &request.Operation{ + Name: opDeleteEntity, + HTTPMethod: "DELETE", + HTTPPath: "/workspaces/{workspaceId}/entities/{entityId}", + } + + if input == nil { + input = &DeleteEntityInput{} + } + + output = &DeleteEntityOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// DeleteEntity API operation for AWS IoT TwinMaker. +// +// Deletes an entity. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation DeleteEntity for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * ResourceNotFoundException +// The resource wasn't found. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// * ServiceQuotaExceededException +// The service quota was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/DeleteEntity +func (c *IoTTwinMaker) DeleteEntity(input *DeleteEntityInput) (*DeleteEntityOutput, error) { + req, out := c.DeleteEntityRequest(input) + return out, req.Send() +} + +// DeleteEntityWithContext is the same as DeleteEntity with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteEntity 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 *IoTTwinMaker) DeleteEntityWithContext(ctx aws.Context, input *DeleteEntityInput, opts ...request.Option) (*DeleteEntityOutput, error) { + req, out := c.DeleteEntityRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteScene = "DeleteScene" + +// DeleteSceneRequest generates a "aws/request.Request" representing the +// client's request for the DeleteScene 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 DeleteScene for more information on using the DeleteScene +// 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 DeleteSceneRequest method. +// req, resp := client.DeleteSceneRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/DeleteScene +func (c *IoTTwinMaker) DeleteSceneRequest(input *DeleteSceneInput) (req *request.Request, output *DeleteSceneOutput) { + op := &request.Operation{ + Name: opDeleteScene, + HTTPMethod: "DELETE", + HTTPPath: "/workspaces/{workspaceId}/scenes/{sceneId}", + } + + if input == nil { + input = &DeleteSceneInput{} + } + + output = &DeleteSceneOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// DeleteScene API operation for AWS IoT TwinMaker. +// +// Deletes a scene. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation DeleteScene for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * AccessDeniedException +// Access is denied. +// +// * ResourceNotFoundException +// The resource wasn't found. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/DeleteScene +func (c *IoTTwinMaker) DeleteScene(input *DeleteSceneInput) (*DeleteSceneOutput, error) { + req, out := c.DeleteSceneRequest(input) + return out, req.Send() +} + +// DeleteSceneWithContext is the same as DeleteScene with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteScene 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 *IoTTwinMaker) DeleteSceneWithContext(ctx aws.Context, input *DeleteSceneInput, opts ...request.Option) (*DeleteSceneOutput, error) { + req, out := c.DeleteSceneRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteWorkspace = "DeleteWorkspace" + +// DeleteWorkspaceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteWorkspace 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 DeleteWorkspace for more information on using the DeleteWorkspace +// 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 DeleteWorkspaceRequest method. +// req, resp := client.DeleteWorkspaceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/DeleteWorkspace +func (c *IoTTwinMaker) DeleteWorkspaceRequest(input *DeleteWorkspaceInput) (req *request.Request, output *DeleteWorkspaceOutput) { + op := &request.Operation{ + Name: opDeleteWorkspace, + HTTPMethod: "DELETE", + HTTPPath: "/workspaces/{workspaceId}", + } + + if input == nil { + input = &DeleteWorkspaceInput{} + } + + output = &DeleteWorkspaceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// DeleteWorkspace API operation for AWS IoT TwinMaker. +// +// Deletes a workspace. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation DeleteWorkspace for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * AccessDeniedException +// Access is denied. +// +// * ResourceNotFoundException +// The resource wasn't found. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/DeleteWorkspace +func (c *IoTTwinMaker) DeleteWorkspace(input *DeleteWorkspaceInput) (*DeleteWorkspaceOutput, error) { + req, out := c.DeleteWorkspaceRequest(input) + return out, req.Send() +} + +// DeleteWorkspaceWithContext is the same as DeleteWorkspace with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteWorkspace 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 *IoTTwinMaker) DeleteWorkspaceWithContext(ctx aws.Context, input *DeleteWorkspaceInput, opts ...request.Option) (*DeleteWorkspaceOutput, error) { + req, out := c.DeleteWorkspaceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetComponentType = "GetComponentType" + +// GetComponentTypeRequest generates a "aws/request.Request" representing the +// client's request for the GetComponentType 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 GetComponentType for more information on using the GetComponentType +// 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 GetComponentTypeRequest method. +// req, resp := client.GetComponentTypeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/GetComponentType +func (c *IoTTwinMaker) GetComponentTypeRequest(input *GetComponentTypeInput) (req *request.Request, output *GetComponentTypeOutput) { + op := &request.Operation{ + Name: opGetComponentType, + HTTPMethod: "GET", + HTTPPath: "/workspaces/{workspaceId}/component-types/{componentTypeId}", + } + + if input == nil { + input = &GetComponentTypeInput{} + } + + output = &GetComponentTypeOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// GetComponentType API operation for AWS IoT TwinMaker. +// +// Retrieves information about a component type. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation GetComponentType for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * AccessDeniedException +// Access is denied. +// +// * ResourceNotFoundException +// The resource wasn't found. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/GetComponentType +func (c *IoTTwinMaker) GetComponentType(input *GetComponentTypeInput) (*GetComponentTypeOutput, error) { + req, out := c.GetComponentTypeRequest(input) + return out, req.Send() +} + +// GetComponentTypeWithContext is the same as GetComponentType with the addition of +// the ability to pass a context and additional request options. +// +// See GetComponentType 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 *IoTTwinMaker) GetComponentTypeWithContext(ctx aws.Context, input *GetComponentTypeInput, opts ...request.Option) (*GetComponentTypeOutput, error) { + req, out := c.GetComponentTypeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetEntity = "GetEntity" + +// GetEntityRequest generates a "aws/request.Request" representing the +// client's request for the GetEntity 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 GetEntity for more information on using the GetEntity +// 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 GetEntityRequest method. +// req, resp := client.GetEntityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/GetEntity +func (c *IoTTwinMaker) GetEntityRequest(input *GetEntityInput) (req *request.Request, output *GetEntityOutput) { + op := &request.Operation{ + Name: opGetEntity, + HTTPMethod: "GET", + HTTPPath: "/workspaces/{workspaceId}/entities/{entityId}", + } + + if input == nil { + input = &GetEntityInput{} + } + + output = &GetEntityOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// GetEntity API operation for AWS IoT TwinMaker. +// +// Retrieves information about an entity. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation GetEntity for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * ResourceNotFoundException +// The resource wasn't found. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// * ServiceQuotaExceededException +// The service quota was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/GetEntity +func (c *IoTTwinMaker) GetEntity(input *GetEntityInput) (*GetEntityOutput, error) { + req, out := c.GetEntityRequest(input) + return out, req.Send() +} + +// GetEntityWithContext is the same as GetEntity with the addition of +// the ability to pass a context and additional request options. +// +// See GetEntity 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 *IoTTwinMaker) GetEntityWithContext(ctx aws.Context, input *GetEntityInput, opts ...request.Option) (*GetEntityOutput, error) { + req, out := c.GetEntityRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetPropertyValue = "GetPropertyValue" + +// GetPropertyValueRequest generates a "aws/request.Request" representing the +// client's request for the GetPropertyValue 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 GetPropertyValue for more information on using the GetPropertyValue +// 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 GetPropertyValueRequest method. +// req, resp := client.GetPropertyValueRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/GetPropertyValue +func (c *IoTTwinMaker) GetPropertyValueRequest(input *GetPropertyValueInput) (req *request.Request, output *GetPropertyValueOutput) { + op := &request.Operation{ + Name: opGetPropertyValue, + HTTPMethod: "POST", + HTTPPath: "/workspaces/{workspaceId}/entity-properties/value", + } + + if input == nil { + input = &GetPropertyValueInput{} + } + + output = &GetPropertyValueOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// GetPropertyValue API operation for AWS IoT TwinMaker. +// +// Gets the property values for a component, component type, entity, or workspace. +// +// You must specify a value for either componentName, componentTypeId, entityId, +// or workspaceId. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation GetPropertyValue for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * ConnectorFailureException +// The connector failed. +// +// * AccessDeniedException +// Access is denied. +// +// * ResourceNotFoundException +// The resource wasn't found. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// * ConnectorTimeoutException +// The connector timed out. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/GetPropertyValue +func (c *IoTTwinMaker) GetPropertyValue(input *GetPropertyValueInput) (*GetPropertyValueOutput, error) { + req, out := c.GetPropertyValueRequest(input) + return out, req.Send() +} + +// GetPropertyValueWithContext is the same as GetPropertyValue with the addition of +// the ability to pass a context and additional request options. +// +// See GetPropertyValue 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 *IoTTwinMaker) GetPropertyValueWithContext(ctx aws.Context, input *GetPropertyValueInput, opts ...request.Option) (*GetPropertyValueOutput, error) { + req, out := c.GetPropertyValueRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetPropertyValueHistory = "GetPropertyValueHistory" + +// GetPropertyValueHistoryRequest generates a "aws/request.Request" representing the +// client's request for the GetPropertyValueHistory 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 GetPropertyValueHistory for more information on using the GetPropertyValueHistory +// 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 GetPropertyValueHistoryRequest method. +// req, resp := client.GetPropertyValueHistoryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/GetPropertyValueHistory +func (c *IoTTwinMaker) GetPropertyValueHistoryRequest(input *GetPropertyValueHistoryInput) (req *request.Request, output *GetPropertyValueHistoryOutput) { + op := &request.Operation{ + Name: opGetPropertyValueHistory, + HTTPMethod: "POST", + HTTPPath: "/workspaces/{workspaceId}/entity-properties/history", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetPropertyValueHistoryInput{} + } + + output = &GetPropertyValueHistoryOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// GetPropertyValueHistory API operation for AWS IoT TwinMaker. +// +// Retrieves information about the history of a time series property value for +// a component, component type, entity, or workspace. +// +// You must specify a value for workspaceId. For entity-specific queries, specify +// values for componentName and entityId. For cross-entity quries, specify a +// value for componentTypeId. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation GetPropertyValueHistory for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * ConnectorFailureException +// The connector failed. +// +// * AccessDeniedException +// Access is denied. +// +// * ResourceNotFoundException +// The resource wasn't found. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// * ConnectorTimeoutException +// The connector timed out. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/GetPropertyValueHistory +func (c *IoTTwinMaker) GetPropertyValueHistory(input *GetPropertyValueHistoryInput) (*GetPropertyValueHistoryOutput, error) { + req, out := c.GetPropertyValueHistoryRequest(input) + return out, req.Send() +} + +// GetPropertyValueHistoryWithContext is the same as GetPropertyValueHistory with the addition of +// the ability to pass a context and additional request options. +// +// See GetPropertyValueHistory 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 *IoTTwinMaker) GetPropertyValueHistoryWithContext(ctx aws.Context, input *GetPropertyValueHistoryInput, opts ...request.Option) (*GetPropertyValueHistoryOutput, error) { + req, out := c.GetPropertyValueHistoryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetPropertyValueHistoryPages iterates over the pages of a GetPropertyValueHistory operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetPropertyValueHistory 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 GetPropertyValueHistory operation. +// pageNum := 0 +// err := client.GetPropertyValueHistoryPages(params, +// func(page *iottwinmaker.GetPropertyValueHistoryOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoTTwinMaker) GetPropertyValueHistoryPages(input *GetPropertyValueHistoryInput, fn func(*GetPropertyValueHistoryOutput, bool) bool) error { + return c.GetPropertyValueHistoryPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetPropertyValueHistoryPagesWithContext same as GetPropertyValueHistoryPages 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 *IoTTwinMaker) GetPropertyValueHistoryPagesWithContext(ctx aws.Context, input *GetPropertyValueHistoryInput, fn func(*GetPropertyValueHistoryOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetPropertyValueHistoryInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetPropertyValueHistoryRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetPropertyValueHistoryOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opGetScene = "GetScene" + +// GetSceneRequest generates a "aws/request.Request" representing the +// client's request for the GetScene 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 GetScene for more information on using the GetScene +// 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 GetSceneRequest method. +// req, resp := client.GetSceneRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/GetScene +func (c *IoTTwinMaker) GetSceneRequest(input *GetSceneInput) (req *request.Request, output *GetSceneOutput) { + op := &request.Operation{ + Name: opGetScene, + HTTPMethod: "GET", + HTTPPath: "/workspaces/{workspaceId}/scenes/{sceneId}", + } + + if input == nil { + input = &GetSceneInput{} + } + + output = &GetSceneOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// GetScene API operation for AWS IoT TwinMaker. +// +// Retrieves information about a scene. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation GetScene for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * AccessDeniedException +// Access is denied. +// +// * ResourceNotFoundException +// The resource wasn't found. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/GetScene +func (c *IoTTwinMaker) GetScene(input *GetSceneInput) (*GetSceneOutput, error) { + req, out := c.GetSceneRequest(input) + return out, req.Send() +} + +// GetSceneWithContext is the same as GetScene with the addition of +// the ability to pass a context and additional request options. +// +// See GetScene 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 *IoTTwinMaker) GetSceneWithContext(ctx aws.Context, input *GetSceneInput, opts ...request.Option) (*GetSceneOutput, error) { + req, out := c.GetSceneRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetWorkspace = "GetWorkspace" + +// GetWorkspaceRequest generates a "aws/request.Request" representing the +// client's request for the GetWorkspace 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 GetWorkspace for more information on using the GetWorkspace +// 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 GetWorkspaceRequest method. +// req, resp := client.GetWorkspaceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/GetWorkspace +func (c *IoTTwinMaker) GetWorkspaceRequest(input *GetWorkspaceInput) (req *request.Request, output *GetWorkspaceOutput) { + op := &request.Operation{ + Name: opGetWorkspace, + HTTPMethod: "GET", + HTTPPath: "/workspaces/{workspaceId}", + } + + if input == nil { + input = &GetWorkspaceInput{} + } + + output = &GetWorkspaceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// GetWorkspace API operation for AWS IoT TwinMaker. +// +// Retrieves information about a workspace. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation GetWorkspace for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * ResourceNotFoundException +// The resource wasn't found. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// * ServiceQuotaExceededException +// The service quota was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/GetWorkspace +func (c *IoTTwinMaker) GetWorkspace(input *GetWorkspaceInput) (*GetWorkspaceOutput, error) { + req, out := c.GetWorkspaceRequest(input) + return out, req.Send() +} + +// GetWorkspaceWithContext is the same as GetWorkspace with the addition of +// the ability to pass a context and additional request options. +// +// See GetWorkspace 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 *IoTTwinMaker) GetWorkspaceWithContext(ctx aws.Context, input *GetWorkspaceInput, opts ...request.Option) (*GetWorkspaceOutput, error) { + req, out := c.GetWorkspaceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListComponentTypes = "ListComponentTypes" + +// ListComponentTypesRequest generates a "aws/request.Request" representing the +// client's request for the ListComponentTypes 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 ListComponentTypes for more information on using the ListComponentTypes +// 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 ListComponentTypesRequest method. +// req, resp := client.ListComponentTypesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListComponentTypes +func (c *IoTTwinMaker) ListComponentTypesRequest(input *ListComponentTypesInput) (req *request.Request, output *ListComponentTypesOutput) { + op := &request.Operation{ + Name: opListComponentTypes, + HTTPMethod: "POST", + HTTPPath: "/workspaces/{workspaceId}/component-types-list", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListComponentTypesInput{} + } + + output = &ListComponentTypesOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// ListComponentTypes API operation for AWS IoT TwinMaker. +// +// Lists all component types in a workspace. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation ListComponentTypes for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListComponentTypes +func (c *IoTTwinMaker) ListComponentTypes(input *ListComponentTypesInput) (*ListComponentTypesOutput, error) { + req, out := c.ListComponentTypesRequest(input) + return out, req.Send() +} + +// ListComponentTypesWithContext is the same as ListComponentTypes with the addition of +// the ability to pass a context and additional request options. +// +// See ListComponentTypes 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 *IoTTwinMaker) ListComponentTypesWithContext(ctx aws.Context, input *ListComponentTypesInput, opts ...request.Option) (*ListComponentTypesOutput, error) { + req, out := c.ListComponentTypesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListComponentTypesPages iterates over the pages of a ListComponentTypes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListComponentTypes 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 ListComponentTypes operation. +// pageNum := 0 +// err := client.ListComponentTypesPages(params, +// func(page *iottwinmaker.ListComponentTypesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoTTwinMaker) ListComponentTypesPages(input *ListComponentTypesInput, fn func(*ListComponentTypesOutput, bool) bool) error { + return c.ListComponentTypesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListComponentTypesPagesWithContext same as ListComponentTypesPages 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 *IoTTwinMaker) ListComponentTypesPagesWithContext(ctx aws.Context, input *ListComponentTypesInput, fn func(*ListComponentTypesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListComponentTypesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListComponentTypesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListComponentTypesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListEntities = "ListEntities" + +// ListEntitiesRequest generates a "aws/request.Request" representing the +// client's request for the ListEntities 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 ListEntities for more information on using the ListEntities +// 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 ListEntitiesRequest method. +// req, resp := client.ListEntitiesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListEntities +func (c *IoTTwinMaker) ListEntitiesRequest(input *ListEntitiesInput) (req *request.Request, output *ListEntitiesOutput) { + op := &request.Operation{ + Name: opListEntities, + HTTPMethod: "POST", + HTTPPath: "/workspaces/{workspaceId}/entities-list", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListEntitiesInput{} + } + + output = &ListEntitiesOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// ListEntities API operation for AWS IoT TwinMaker. +// +// Lists all entities in a workspace. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation ListEntities for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// * ServiceQuotaExceededException +// The service quota was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListEntities +func (c *IoTTwinMaker) ListEntities(input *ListEntitiesInput) (*ListEntitiesOutput, error) { + req, out := c.ListEntitiesRequest(input) + return out, req.Send() +} + +// ListEntitiesWithContext is the same as ListEntities with the addition of +// the ability to pass a context and additional request options. +// +// See ListEntities 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 *IoTTwinMaker) ListEntitiesWithContext(ctx aws.Context, input *ListEntitiesInput, opts ...request.Option) (*ListEntitiesOutput, error) { + req, out := c.ListEntitiesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListEntitiesPages iterates over the pages of a ListEntities operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListEntities 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 ListEntities operation. +// pageNum := 0 +// err := client.ListEntitiesPages(params, +// func(page *iottwinmaker.ListEntitiesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoTTwinMaker) ListEntitiesPages(input *ListEntitiesInput, fn func(*ListEntitiesOutput, bool) bool) error { + return c.ListEntitiesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListEntitiesPagesWithContext same as ListEntitiesPages 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 *IoTTwinMaker) ListEntitiesPagesWithContext(ctx aws.Context, input *ListEntitiesInput, fn func(*ListEntitiesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListEntitiesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListEntitiesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListEntitiesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListScenes = "ListScenes" + +// ListScenesRequest generates a "aws/request.Request" representing the +// client's request for the ListScenes 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 ListScenes for more information on using the ListScenes +// 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 ListScenesRequest method. +// req, resp := client.ListScenesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListScenes +func (c *IoTTwinMaker) ListScenesRequest(input *ListScenesInput) (req *request.Request, output *ListScenesOutput) { + op := &request.Operation{ + Name: opListScenes, + HTTPMethod: "POST", + HTTPPath: "/workspaces/{workspaceId}/scenes-list", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListScenesInput{} + } + + output = &ListScenesOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// ListScenes API operation for AWS IoT TwinMaker. +// +// Lists all scenes in a workspace. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation ListScenes for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListScenes +func (c *IoTTwinMaker) ListScenes(input *ListScenesInput) (*ListScenesOutput, error) { + req, out := c.ListScenesRequest(input) + return out, req.Send() +} + +// ListScenesWithContext is the same as ListScenes with the addition of +// the ability to pass a context and additional request options. +// +// See ListScenes 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 *IoTTwinMaker) ListScenesWithContext(ctx aws.Context, input *ListScenesInput, opts ...request.Option) (*ListScenesOutput, error) { + req, out := c.ListScenesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListScenesPages iterates over the pages of a ListScenes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListScenes 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 ListScenes operation. +// pageNum := 0 +// err := client.ListScenesPages(params, +// func(page *iottwinmaker.ListScenesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoTTwinMaker) ListScenesPages(input *ListScenesInput, fn func(*ListScenesOutput, bool) bool) error { + return c.ListScenesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListScenesPagesWithContext same as ListScenesPages 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 *IoTTwinMaker) ListScenesPagesWithContext(ctx aws.Context, input *ListScenesInput, fn func(*ListScenesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListScenesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListScenesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListScenesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListTagsForResource +func (c *IoTTwinMaker) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "POST", + HTTPPath: "/tags-list", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// ListTagsForResource API operation for AWS IoT TwinMaker. +// +// Lists all tags associated with a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// Access is denied. +// +// * ResourceNotFoundException +// The resource wasn't found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListTagsForResource +func (c *IoTTwinMaker) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTTwinMaker) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListWorkspaces = "ListWorkspaces" + +// ListWorkspacesRequest generates a "aws/request.Request" representing the +// client's request for the ListWorkspaces 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 ListWorkspaces for more information on using the ListWorkspaces +// 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 ListWorkspacesRequest method. +// req, resp := client.ListWorkspacesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListWorkspaces +func (c *IoTTwinMaker) ListWorkspacesRequest(input *ListWorkspacesInput) (req *request.Request, output *ListWorkspacesOutput) { + op := &request.Operation{ + Name: opListWorkspaces, + HTTPMethod: "POST", + HTTPPath: "/workspaces-list", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListWorkspacesInput{} + } + + output = &ListWorkspacesOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// ListWorkspaces API operation for AWS IoT TwinMaker. +// +// Retrieves information about workspaces in the current account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation ListWorkspaces for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// * ServiceQuotaExceededException +// The service quota was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/ListWorkspaces +func (c *IoTTwinMaker) ListWorkspaces(input *ListWorkspacesInput) (*ListWorkspacesOutput, error) { + req, out := c.ListWorkspacesRequest(input) + return out, req.Send() +} + +// ListWorkspacesWithContext is the same as ListWorkspaces with the addition of +// the ability to pass a context and additional request options. +// +// See ListWorkspaces 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 *IoTTwinMaker) ListWorkspacesWithContext(ctx aws.Context, input *ListWorkspacesInput, opts ...request.Option) (*ListWorkspacesOutput, error) { + req, out := c.ListWorkspacesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListWorkspacesPages iterates over the pages of a ListWorkspaces operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListWorkspaces 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 ListWorkspaces operation. +// pageNum := 0 +// err := client.ListWorkspacesPages(params, +// func(page *iottwinmaker.ListWorkspacesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoTTwinMaker) ListWorkspacesPages(input *ListWorkspacesInput, fn func(*ListWorkspacesOutput, bool) bool) error { + return c.ListWorkspacesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListWorkspacesPagesWithContext same as ListWorkspacesPages 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 *IoTTwinMaker) ListWorkspacesPagesWithContext(ctx aws.Context, input *ListWorkspacesInput, fn func(*ListWorkspacesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListWorkspacesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListWorkspacesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListWorkspacesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/TagResource +func (c *IoTTwinMaker) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// TagResource API operation for AWS IoT TwinMaker. +// +// Adds tags to a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * TooManyTagsException +// The number of tags exceeds the limit. +// +// * AccessDeniedException +// Access is denied. +// +// * ResourceNotFoundException +// The resource wasn't found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/TagResource +func (c *IoTTwinMaker) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTTwinMaker) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UntagResource +func (c *IoTTwinMaker) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// UntagResource API operation for AWS IoT TwinMaker. +// +// Removes tags from a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// Access is denied. +// +// * ResourceNotFoundException +// The resource wasn't found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UntagResource +func (c *IoTTwinMaker) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IoTTwinMaker) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateComponentType = "UpdateComponentType" + +// UpdateComponentTypeRequest generates a "aws/request.Request" representing the +// client's request for the UpdateComponentType 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 UpdateComponentType for more information on using the UpdateComponentType +// 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 UpdateComponentTypeRequest method. +// req, resp := client.UpdateComponentTypeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateComponentType +func (c *IoTTwinMaker) UpdateComponentTypeRequest(input *UpdateComponentTypeInput) (req *request.Request, output *UpdateComponentTypeOutput) { + op := &request.Operation{ + Name: opUpdateComponentType, + HTTPMethod: "PUT", + HTTPPath: "/workspaces/{workspaceId}/component-types/{componentTypeId}", + } + + if input == nil { + input = &UpdateComponentTypeInput{} + } + + output = &UpdateComponentTypeOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// UpdateComponentType API operation for AWS IoT TwinMaker. +// +// Updates information in a component type. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation UpdateComponentType for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * AccessDeniedException +// Access is denied. +// +// * ResourceNotFoundException +// The resource wasn't found. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// * ServiceQuotaExceededException +// The service quota was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateComponentType +func (c *IoTTwinMaker) UpdateComponentType(input *UpdateComponentTypeInput) (*UpdateComponentTypeOutput, error) { + req, out := c.UpdateComponentTypeRequest(input) + return out, req.Send() +} + +// UpdateComponentTypeWithContext is the same as UpdateComponentType with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateComponentType 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 *IoTTwinMaker) UpdateComponentTypeWithContext(ctx aws.Context, input *UpdateComponentTypeInput, opts ...request.Option) (*UpdateComponentTypeOutput, error) { + req, out := c.UpdateComponentTypeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateEntity = "UpdateEntity" + +// UpdateEntityRequest generates a "aws/request.Request" representing the +// client's request for the UpdateEntity 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 UpdateEntity for more information on using the UpdateEntity +// 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 UpdateEntityRequest method. +// req, resp := client.UpdateEntityRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateEntity +func (c *IoTTwinMaker) UpdateEntityRequest(input *UpdateEntityInput) (req *request.Request, output *UpdateEntityOutput) { + op := &request.Operation{ + Name: opUpdateEntity, + HTTPMethod: "PUT", + HTTPPath: "/workspaces/{workspaceId}/entities/{entityId}", + } + + if input == nil { + input = &UpdateEntityInput{} + } + + output = &UpdateEntityOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// UpdateEntity API operation for AWS IoT TwinMaker. +// +// Updates an entity. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation UpdateEntity for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * AccessDeniedException +// Access is denied. +// +// * ResourceNotFoundException +// The resource wasn't found. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// * ConflictException +// A conflict occurred. +// +// * ServiceQuotaExceededException +// The service quota was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateEntity +func (c *IoTTwinMaker) UpdateEntity(input *UpdateEntityInput) (*UpdateEntityOutput, error) { + req, out := c.UpdateEntityRequest(input) + return out, req.Send() +} + +// UpdateEntityWithContext is the same as UpdateEntity with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateEntity 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 *IoTTwinMaker) UpdateEntityWithContext(ctx aws.Context, input *UpdateEntityInput, opts ...request.Option) (*UpdateEntityOutput, error) { + req, out := c.UpdateEntityRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateScene = "UpdateScene" + +// UpdateSceneRequest generates a "aws/request.Request" representing the +// client's request for the UpdateScene 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 UpdateScene for more information on using the UpdateScene +// 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 UpdateSceneRequest method. +// req, resp := client.UpdateSceneRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateScene +func (c *IoTTwinMaker) UpdateSceneRequest(input *UpdateSceneInput) (req *request.Request, output *UpdateSceneOutput) { + op := &request.Operation{ + Name: opUpdateScene, + HTTPMethod: "PUT", + HTTPPath: "/workspaces/{workspaceId}/scenes/{sceneId}", + } + + if input == nil { + input = &UpdateSceneInput{} + } + + output = &UpdateSceneOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// UpdateScene API operation for AWS IoT TwinMaker. +// +// Updates a scene. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation UpdateScene for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * AccessDeniedException +// Access is denied. +// +// * ResourceNotFoundException +// The resource wasn't found. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateScene +func (c *IoTTwinMaker) UpdateScene(input *UpdateSceneInput) (*UpdateSceneOutput, error) { + req, out := c.UpdateSceneRequest(input) + return out, req.Send() +} + +// UpdateSceneWithContext is the same as UpdateScene with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateScene 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 *IoTTwinMaker) UpdateSceneWithContext(ctx aws.Context, input *UpdateSceneInput, opts ...request.Option) (*UpdateSceneOutput, error) { + req, out := c.UpdateSceneRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateWorkspace = "UpdateWorkspace" + +// UpdateWorkspaceRequest generates a "aws/request.Request" representing the +// client's request for the UpdateWorkspace 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 UpdateWorkspace for more information on using the UpdateWorkspace +// 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 UpdateWorkspaceRequest method. +// req, resp := client.UpdateWorkspaceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateWorkspace +func (c *IoTTwinMaker) UpdateWorkspaceRequest(input *UpdateWorkspaceInput) (req *request.Request, output *UpdateWorkspaceOutput) { + op := &request.Operation{ + Name: opUpdateWorkspace, + HTTPMethod: "PUT", + HTTPPath: "/workspaces/{workspaceId}", + } + + if input == nil { + input = &UpdateWorkspaceInput{} + } + + output = &UpdateWorkspaceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("api.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// UpdateWorkspace API operation for AWS IoT TwinMaker. +// +// Updates a workspace. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS IoT TwinMaker's +// API operation UpdateWorkspace for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// An unexpected error has occurred. +// +// * AccessDeniedException +// Access is denied. +// +// * ResourceNotFoundException +// The resource wasn't found. +// +// * ThrottlingException +// The rate exceeds the limit. +// +// * ValidationException +// Failed +// +// * ServiceQuotaExceededException +// The service quota was exceeded. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29/UpdateWorkspace +func (c *IoTTwinMaker) UpdateWorkspace(input *UpdateWorkspaceInput) (*UpdateWorkspaceOutput, error) { + req, out := c.UpdateWorkspaceRequest(input) + return out, req.Send() +} + +// UpdateWorkspaceWithContext is the same as UpdateWorkspace with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateWorkspace 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 *IoTTwinMaker) UpdateWorkspaceWithContext(ctx aws.Context, input *UpdateWorkspaceInput, opts ...request.Option) (*UpdateWorkspaceOutput, error) { + req, out := c.UpdateWorkspaceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Access is denied. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// An error returned by the BatchPutProperty action. +type BatchPutPropertyError struct { + _ struct{} `type:"structure"` + + // An object that contains information about errors returned by the BatchPutProperty + // action. + // + // Entry is a required field + Entry *PropertyValueEntry `locationName:"entry" type:"structure" required:"true"` + + // The error code. + // + // ErrorCode is a required field + ErrorCode *string `locationName:"errorCode" min:"1" type:"string" required:"true"` + + // The error message. + // + // ErrorMessage is a required field + ErrorMessage *string `locationName:"errorMessage" 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 BatchPutPropertyError) 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 BatchPutPropertyError) GoString() string { + return s.String() +} + +// SetEntry sets the Entry field's value. +func (s *BatchPutPropertyError) SetEntry(v *PropertyValueEntry) *BatchPutPropertyError { + s.Entry = v + return s +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *BatchPutPropertyError) SetErrorCode(v string) *BatchPutPropertyError { + s.ErrorCode = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *BatchPutPropertyError) SetErrorMessage(v string) *BatchPutPropertyError { + s.ErrorMessage = &v + return s +} + +// An object that contains information about errors returned by the BatchPutProperty +// action. +type BatchPutPropertyErrorEntry struct { + _ struct{} `type:"structure"` + + // A list of objects that contain information about errors returned by the BatchPutProperty + // action. + // + // Errors is a required field + Errors []*BatchPutPropertyError `locationName:"errors" min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchPutPropertyErrorEntry) 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 BatchPutPropertyErrorEntry) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *BatchPutPropertyErrorEntry) SetErrors(v []*BatchPutPropertyError) *BatchPutPropertyErrorEntry { + s.Errors = v + return s +} + +type BatchPutPropertyValuesInput struct { + _ struct{} `type:"structure"` + + // An object that maps strings to the property value entries to set. Each string + // in the mapping must be unique to this object. + // + // Entries is a required field + Entries []*PropertyValueEntry `locationName:"entries" min:"1" type:"list" required:"true"` + + // The ID of the workspace that contains the properties to set. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 BatchPutPropertyValuesInput) 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 BatchPutPropertyValuesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchPutPropertyValuesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchPutPropertyValuesInput"} + if s.Entries == nil { + invalidParams.Add(request.NewErrParamRequired("Entries")) + } + if s.Entries != nil && len(s.Entries) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Entries", 1)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + if s.Entries != nil { + for i, v := range s.Entries { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEntries sets the Entries field's value. +func (s *BatchPutPropertyValuesInput) SetEntries(v []*PropertyValueEntry) *BatchPutPropertyValuesInput { + s.Entries = v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *BatchPutPropertyValuesInput) SetWorkspaceId(v string) *BatchPutPropertyValuesInput { + s.WorkspaceId = &v + return s +} + +type BatchPutPropertyValuesOutput struct { + _ struct{} `type:"structure"` + + // Entries that caused errors in the batch put operation. + // + // ErrorEntries is a required field + ErrorEntries []*BatchPutPropertyErrorEntry `locationName:"errorEntries" min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchPutPropertyValuesOutput) 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 BatchPutPropertyValuesOutput) GoString() string { + return s.String() +} + +// SetErrorEntries sets the ErrorEntries field's value. +func (s *BatchPutPropertyValuesOutput) SetErrorEntries(v []*BatchPutPropertyErrorEntry) *BatchPutPropertyValuesOutput { + s.ErrorEntries = v + return s +} + +// An object that sets information about a component type create or update request. +type ComponentRequest struct { + _ struct{} `type:"structure"` + + // The ID of the component type. + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string"` + + // The description of the component request. + Description *string `locationName:"description" type:"string"` + + // An object that maps strings to the properties to set in the component type. + // Each string in the mapping must be unique to this object. + Properties map[string]*PropertyRequest `locationName:"properties" 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 ComponentRequest) 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 ComponentRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ComponentRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ComponentRequest"} + if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) + } + if s.Properties != nil { + for i, v := range s.Properties { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Properties", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *ComponentRequest) SetComponentTypeId(v string) *ComponentRequest { + s.ComponentTypeId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ComponentRequest) SetDescription(v string) *ComponentRequest { + s.Description = &v + return s +} + +// SetProperties sets the Properties field's value. +func (s *ComponentRequest) SetProperties(v map[string]*PropertyRequest) *ComponentRequest { + s.Properties = v + return s +} + +// An object that returns information about a component type create or update +// request. +type ComponentResponse struct { + _ struct{} `type:"structure"` + + // The name of the component. + ComponentName *string `locationName:"componentName" min:"1" type:"string"` + + // The ID of the component type. + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string"` + + // The name of the property definition set in the request. + DefinedIn *string `locationName:"definedIn" min:"1" type:"string"` + + // The description of the component type. + Description *string `locationName:"description" type:"string"` + + // An object that maps strings to the properties to set in the component type. + // Each string in the mapping must be unique to this object. + Properties map[string]*PropertyResponse `locationName:"properties" type:"map"` + + // The status of the component type. + Status *Status `locationName:"status" 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 ComponentResponse) 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 ComponentResponse) GoString() string { + return s.String() +} + +// SetComponentName sets the ComponentName field's value. +func (s *ComponentResponse) SetComponentName(v string) *ComponentResponse { + s.ComponentName = &v + return s +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *ComponentResponse) SetComponentTypeId(v string) *ComponentResponse { + s.ComponentTypeId = &v + return s +} + +// SetDefinedIn sets the DefinedIn field's value. +func (s *ComponentResponse) SetDefinedIn(v string) *ComponentResponse { + s.DefinedIn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ComponentResponse) SetDescription(v string) *ComponentResponse { + s.Description = &v + return s +} + +// SetProperties sets the Properties field's value. +func (s *ComponentResponse) SetProperties(v map[string]*PropertyResponse) *ComponentResponse { + s.Properties = v + return s +} + +// SetStatus sets the Status field's value. +func (s *ComponentResponse) SetStatus(v *Status) *ComponentResponse { + s.Status = v + return s +} + +// An object that contains information about a component type. +type ComponentTypeSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the component type. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The ID of the component type. + // + // ComponentTypeId is a required field + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string" required:"true"` + + // The date and time when the component type was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` + + // The description of the component type. + Description *string `locationName:"description" type:"string"` + + // The current status of the component type. + Status *Status `locationName:"status" type:"structure"` + + // The date and time when the component type was last updated. + // + // UpdateDateTime is a required field + UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" 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 ComponentTypeSummary) 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 ComponentTypeSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ComponentTypeSummary) SetArn(v string) *ComponentTypeSummary { + s.Arn = &v + return s +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *ComponentTypeSummary) SetComponentTypeId(v string) *ComponentTypeSummary { + s.ComponentTypeId = &v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *ComponentTypeSummary) SetCreationDateTime(v time.Time) *ComponentTypeSummary { + s.CreationDateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ComponentTypeSummary) SetDescription(v string) *ComponentTypeSummary { + s.Description = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ComponentTypeSummary) SetStatus(v *Status) *ComponentTypeSummary { + s.Status = v + return s +} + +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *ComponentTypeSummary) SetUpdateDateTime(v time.Time) *ComponentTypeSummary { + s.UpdateDateTime = &v + return s +} + +// The component update request. +type ComponentUpdateRequest struct { + _ struct{} `type:"structure"` + + // The ID of the component type. + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string"` + + // The description of the component type. + Description *string `locationName:"description" type:"string"` + + // An object that maps strings to the properties to set in the component type + // update. Each string in the mapping must be unique to this object. + PropertyUpdates map[string]*PropertyRequest `locationName:"propertyUpdates" type:"map"` + + // The update type of the component update request. + UpdateType *string `locationName:"updateType" type:"string" enum:"ComponentUpdateType"` +} + +// 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 ComponentUpdateRequest) 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 ComponentUpdateRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ComponentUpdateRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ComponentUpdateRequest"} + if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) + } + if s.PropertyUpdates != nil { + for i, v := range s.PropertyUpdates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyUpdates", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *ComponentUpdateRequest) SetComponentTypeId(v string) *ComponentUpdateRequest { + s.ComponentTypeId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ComponentUpdateRequest) SetDescription(v string) *ComponentUpdateRequest { + s.Description = &v + return s +} + +// SetPropertyUpdates sets the PropertyUpdates field's value. +func (s *ComponentUpdateRequest) SetPropertyUpdates(v map[string]*PropertyRequest) *ComponentUpdateRequest { + s.PropertyUpdates = v + return s +} + +// SetUpdateType sets the UpdateType field's value. +func (s *ComponentUpdateRequest) SetUpdateType(v string) *ComponentUpdateRequest { + s.UpdateType = &v + return s +} + +// A conflict occurred. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The connector failed. +type ConnectorFailureException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConnectorFailureException) 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 ConnectorFailureException) GoString() string { + return s.String() +} + +func newErrorConnectorFailureException(v protocol.ResponseMetadata) error { + return &ConnectorFailureException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConnectorFailureException) Code() string { + return "ConnectorFailureException" +} + +// Message returns the exception's message. +func (s *ConnectorFailureException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConnectorFailureException) OrigErr() error { + return nil +} + +func (s *ConnectorFailureException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConnectorFailureException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConnectorFailureException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The connector timed out. +type ConnectorTimeoutException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConnectorTimeoutException) 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 ConnectorTimeoutException) GoString() string { + return s.String() +} + +func newErrorConnectorTimeoutException(v protocol.ResponseMetadata) error { + return &ConnectorTimeoutException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConnectorTimeoutException) Code() string { + return "ConnectorTimeoutException" +} + +// Message returns the exception's message. +func (s *ConnectorTimeoutException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConnectorTimeoutException) OrigErr() error { + return nil +} + +func (s *ConnectorTimeoutException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConnectorTimeoutException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConnectorTimeoutException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateComponentTypeInput struct { + _ struct{} `type:"structure"` + + // The ID of the component type. + // + // ComponentTypeId is a required field + ComponentTypeId *string `location:"uri" locationName:"componentTypeId" min:"1" type:"string" required:"true"` + + // The description of the component type. + Description *string `locationName:"description" type:"string"` + + // Specifies the parent component type to extend. + ExtendsFrom []*string `locationName:"extendsFrom" type:"list"` + + // An object that maps strings to the functions in the component type. Each + // string in the mapping must be unique to this object. + Functions map[string]*FunctionRequest `locationName:"functions" type:"map"` + + // A Boolean value that specifies whether an entity can have more than one component + // of this type. + IsSingleton *bool `locationName:"isSingleton" type:"boolean"` + + // An object that maps strings to the property definitions in the component + // type. Each string in the mapping must be unique to this object. + PropertyDefinitions map[string]*PropertyDefinitionRequest `locationName:"propertyDefinitions" type:"map"` + + // Metadata that you can use to manage the component type. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The ID of the workspace that contains the component type. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 CreateComponentTypeInput) 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 CreateComponentTypeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateComponentTypeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateComponentTypeInput"} + if s.ComponentTypeId == nil { + invalidParams.Add(request.NewErrParamRequired("ComponentTypeId")) + } + if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + if s.Functions != nil { + for i, v := range s.Functions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Functions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.PropertyDefinitions != nil { + for i, v := range s.PropertyDefinitions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyDefinitions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *CreateComponentTypeInput) SetComponentTypeId(v string) *CreateComponentTypeInput { + s.ComponentTypeId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateComponentTypeInput) SetDescription(v string) *CreateComponentTypeInput { + s.Description = &v + return s +} + +// SetExtendsFrom sets the ExtendsFrom field's value. +func (s *CreateComponentTypeInput) SetExtendsFrom(v []*string) *CreateComponentTypeInput { + s.ExtendsFrom = v + return s +} + +// SetFunctions sets the Functions field's value. +func (s *CreateComponentTypeInput) SetFunctions(v map[string]*FunctionRequest) *CreateComponentTypeInput { + s.Functions = v + return s +} + +// SetIsSingleton sets the IsSingleton field's value. +func (s *CreateComponentTypeInput) SetIsSingleton(v bool) *CreateComponentTypeInput { + s.IsSingleton = &v + return s +} + +// SetPropertyDefinitions sets the PropertyDefinitions field's value. +func (s *CreateComponentTypeInput) SetPropertyDefinitions(v map[string]*PropertyDefinitionRequest) *CreateComponentTypeInput { + s.PropertyDefinitions = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateComponentTypeInput) SetTags(v map[string]*string) *CreateComponentTypeInput { + s.Tags = v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *CreateComponentTypeInput) SetWorkspaceId(v string) *CreateComponentTypeInput { + s.WorkspaceId = &v + return s +} + +type CreateComponentTypeOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the component type. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The date and time when the entity was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` + + // The current state of the component type. + // + // State is a required field + State *string `locationName:"state" type:"string" required:"true" enum:"State"` +} + +// 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 CreateComponentTypeOutput) 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 CreateComponentTypeOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateComponentTypeOutput) SetArn(v string) *CreateComponentTypeOutput { + s.Arn = &v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *CreateComponentTypeOutput) SetCreationDateTime(v time.Time) *CreateComponentTypeOutput { + s.CreationDateTime = &v + return s +} + +// SetState sets the State field's value. +func (s *CreateComponentTypeOutput) SetState(v string) *CreateComponentTypeOutput { + s.State = &v + return s +} + +type CreateEntityInput struct { + _ struct{} `type:"structure"` + + // An object that maps strings to the components in the entity. Each string + // in the mapping must be unique to this object. + Components map[string]*ComponentRequest `locationName:"components" type:"map"` + + // The description of the entity. + Description *string `locationName:"description" type:"string"` + + // The ID of the entity. + EntityId *string `locationName:"entityId" min:"1" type:"string"` + + // The name of the entity. + // + // EntityName is a required field + EntityName *string `locationName:"entityName" min:"1" type:"string" required:"true"` + + // The ID of the entity's parent entity. + ParentEntityId *string `locationName:"parentEntityId" min:"1" type:"string"` + + // Metadata that you can use to manage the entity. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The ID of the workspace that contains the entity. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 CreateEntityInput) 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 CreateEntityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateEntityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateEntityInput"} + if s.EntityId != nil && len(*s.EntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) + } + if s.EntityName == nil { + invalidParams.Add(request.NewErrParamRequired("EntityName")) + } + if s.EntityName != nil && len(*s.EntityName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntityName", 1)) + } + if s.ParentEntityId != nil && len(*s.ParentEntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ParentEntityId", 1)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + if s.Components != nil { + for i, v := range s.Components { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Components", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponents sets the Components field's value. +func (s *CreateEntityInput) SetComponents(v map[string]*ComponentRequest) *CreateEntityInput { + s.Components = v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateEntityInput) SetDescription(v string) *CreateEntityInput { + s.Description = &v + return s +} + +// SetEntityId sets the EntityId field's value. +func (s *CreateEntityInput) SetEntityId(v string) *CreateEntityInput { + s.EntityId = &v + return s +} + +// SetEntityName sets the EntityName field's value. +func (s *CreateEntityInput) SetEntityName(v string) *CreateEntityInput { + s.EntityName = &v + return s +} + +// SetParentEntityId sets the ParentEntityId field's value. +func (s *CreateEntityInput) SetParentEntityId(v string) *CreateEntityInput { + s.ParentEntityId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateEntityInput) SetTags(v map[string]*string) *CreateEntityInput { + s.Tags = v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *CreateEntityInput) SetWorkspaceId(v string) *CreateEntityInput { + s.WorkspaceId = &v + return s +} + +type CreateEntityOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the entity. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The date and time when the entity was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` + + // The ID of the entity. + // + // EntityId is a required field + EntityId *string `locationName:"entityId" min:"1" type:"string" required:"true"` + + // The current state of the entity. + // + // State is a required field + State *string `locationName:"state" type:"string" required:"true" enum:"State"` +} + +// 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 CreateEntityOutput) 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 CreateEntityOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateEntityOutput) SetArn(v string) *CreateEntityOutput { + s.Arn = &v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *CreateEntityOutput) SetCreationDateTime(v time.Time) *CreateEntityOutput { + s.CreationDateTime = &v + return s +} + +// SetEntityId sets the EntityId field's value. +func (s *CreateEntityOutput) SetEntityId(v string) *CreateEntityOutput { + s.EntityId = &v + return s +} + +// SetState sets the State field's value. +func (s *CreateEntityOutput) SetState(v string) *CreateEntityOutput { + s.State = &v + return s +} + +type CreateSceneInput struct { + _ struct{} `type:"structure"` + + // A list of capabilities that the scene uses to render itself. + Capabilities []*string `locationName:"capabilities" type:"list"` + + // The relative path that specifies the location of the content definition file. + // + // ContentLocation is a required field + ContentLocation *string `locationName:"contentLocation" type:"string" required:"true"` + + // The description for this scene. + Description *string `locationName:"description" type:"string"` + + // The ID of the scene. + // + // SceneId is a required field + SceneId *string `locationName:"sceneId" min:"1" type:"string" required:"true"` + + // Metadata that you can use to manage the scene. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The ID of the workspace that contains the scene. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 CreateSceneInput) 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 CreateSceneInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateSceneInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateSceneInput"} + if s.ContentLocation == nil { + invalidParams.Add(request.NewErrParamRequired("ContentLocation")) + } + if s.SceneId == nil { + invalidParams.Add(request.NewErrParamRequired("SceneId")) + } + if s.SceneId != nil && len(*s.SceneId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SceneId", 1)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCapabilities sets the Capabilities field's value. +func (s *CreateSceneInput) SetCapabilities(v []*string) *CreateSceneInput { + s.Capabilities = v + return s +} + +// SetContentLocation sets the ContentLocation field's value. +func (s *CreateSceneInput) SetContentLocation(v string) *CreateSceneInput { + s.ContentLocation = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateSceneInput) SetDescription(v string) *CreateSceneInput { + s.Description = &v + return s +} + +// SetSceneId sets the SceneId field's value. +func (s *CreateSceneInput) SetSceneId(v string) *CreateSceneInput { + s.SceneId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateSceneInput) SetTags(v map[string]*string) *CreateSceneInput { + s.Tags = v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *CreateSceneInput) SetWorkspaceId(v string) *CreateSceneInput { + s.WorkspaceId = &v + return s +} + +type CreateSceneOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the scene. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The date and time when the scene was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" 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 CreateSceneOutput) 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 CreateSceneOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateSceneOutput) SetArn(v string) *CreateSceneOutput { + s.Arn = &v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *CreateSceneOutput) SetCreationDateTime(v time.Time) *CreateSceneOutput { + s.CreationDateTime = &v + return s +} + +type CreateWorkspaceInput struct { + _ struct{} `type:"structure"` + + // The description of the workspace. + Description *string `locationName:"description" type:"string"` + + // The ARN of the execution role associated with the workspace. + // + // Role is a required field + Role *string `locationName:"role" min:"20" type:"string" required:"true"` + + // The ARN of the S3 bucket where resources associated with the workspace are + // stored. + // + // S3Location is a required field + S3Location *string `locationName:"s3Location" type:"string" required:"true"` + + // Metadata that you can use to manage the workspace + Tags map[string]*string `locationName:"tags" type:"map"` + + // The ID of the workspace. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 CreateWorkspaceInput) 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 CreateWorkspaceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateWorkspaceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateWorkspaceInput"} + if s.Role == nil { + invalidParams.Add(request.NewErrParamRequired("Role")) + } + if s.Role != nil && len(*s.Role) < 20 { + invalidParams.Add(request.NewErrParamMinLen("Role", 20)) + } + if s.S3Location == nil { + invalidParams.Add(request.NewErrParamRequired("S3Location")) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateWorkspaceInput) SetDescription(v string) *CreateWorkspaceInput { + s.Description = &v + return s +} + +// SetRole sets the Role field's value. +func (s *CreateWorkspaceInput) SetRole(v string) *CreateWorkspaceInput { + s.Role = &v + return s +} + +// SetS3Location sets the S3Location field's value. +func (s *CreateWorkspaceInput) SetS3Location(v string) *CreateWorkspaceInput { + s.S3Location = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateWorkspaceInput) SetTags(v map[string]*string) *CreateWorkspaceInput { + s.Tags = v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *CreateWorkspaceInput) SetWorkspaceId(v string) *CreateWorkspaceInput { + s.WorkspaceId = &v + return s +} + +type CreateWorkspaceOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the workspace. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The date and time when the workspace was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" 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 CreateWorkspaceOutput) 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 CreateWorkspaceOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CreateWorkspaceOutput) SetArn(v string) *CreateWorkspaceOutput { + s.Arn = &v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *CreateWorkspaceOutput) SetCreationDateTime(v time.Time) *CreateWorkspaceOutput { + s.CreationDateTime = &v + return s +} + +// The data connector. +type DataConnector struct { + _ struct{} `type:"structure"` + + // A Boolean value that specifies whether the data connector is native to TwinMaker. + IsNative *bool `locationName:"isNative" type:"boolean"` + + // The Lambda function associated with this data connector. + Lambda *LambdaFunction `locationName:"lambda" 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 DataConnector) 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 DataConnector) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataConnector) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataConnector"} + if s.Lambda != nil { + if err := s.Lambda.Validate(); err != nil { + invalidParams.AddNested("Lambda", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIsNative sets the IsNative field's value. +func (s *DataConnector) SetIsNative(v bool) *DataConnector { + s.IsNative = &v + return s +} + +// SetLambda sets the Lambda field's value. +func (s *DataConnector) SetLambda(v *LambdaFunction) *DataConnector { + s.Lambda = v + return s +} + +// An object that specifies the data type of a property. +type DataType struct { + _ struct{} `type:"structure"` + + // The allowed values for this data type. + AllowedValues []*DataValue `locationName:"allowedValues" type:"list"` + + // The nested type in the data type. + NestedType *DataType `locationName:"nestedType" type:"structure"` + + // A relationship that associates a component with another component. + Relationship *Relationship `locationName:"relationship" type:"structure"` + + // The underlying type of the data type. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"Type"` + + // The unit of measure used in this data type. + UnitOfMeasure *string `locationName:"unitOfMeasure" 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 DataType) 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 DataType) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataType) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataType"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.UnitOfMeasure != nil && len(*s.UnitOfMeasure) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UnitOfMeasure", 1)) + } + if s.AllowedValues != nil { + for i, v := range s.AllowedValues { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AllowedValues", i), err.(request.ErrInvalidParams)) + } + } + } + if s.NestedType != nil { + if err := s.NestedType.Validate(); err != nil { + invalidParams.AddNested("NestedType", err.(request.ErrInvalidParams)) + } + } + if s.Relationship != nil { + if err := s.Relationship.Validate(); err != nil { + invalidParams.AddNested("Relationship", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowedValues sets the AllowedValues field's value. +func (s *DataType) SetAllowedValues(v []*DataValue) *DataType { + s.AllowedValues = v + return s +} + +// SetNestedType sets the NestedType field's value. +func (s *DataType) SetNestedType(v *DataType) *DataType { + s.NestedType = v + return s +} + +// SetRelationship sets the Relationship field's value. +func (s *DataType) SetRelationship(v *Relationship) *DataType { + s.Relationship = v + return s +} + +// SetType sets the Type field's value. +func (s *DataType) SetType(v string) *DataType { + s.Type = &v + return s +} + +// SetUnitOfMeasure sets the UnitOfMeasure field's value. +func (s *DataType) SetUnitOfMeasure(v string) *DataType { + s.UnitOfMeasure = &v + return s +} + +// An object that specifies a value for a property. +type DataValue struct { + _ struct{} `type:"structure"` + + // A Boolean value. + BooleanValue *bool `locationName:"booleanValue" type:"boolean"` + + // A double value. + DoubleValue *float64 `locationName:"doubleValue" type:"double"` + + // An expression that produces the value. + Expression *string `locationName:"expression" min:"1" type:"string"` + + // An integer value. + IntegerValue *int64 `locationName:"integerValue" type:"integer"` + + // A list of multiple values. + ListValue []*DataValue `locationName:"listValue" type:"list"` + + // A long value. + LongValue *int64 `locationName:"longValue" type:"long"` + + // An object that maps strings to multiple DataValue objects. + MapValue map[string]*DataValue `locationName:"mapValue" type:"map"` + + // A value that relates a component to another component. + RelationshipValue *RelationshipValue `locationName:"relationshipValue" type:"structure"` + + // A string value. + StringValue *string `locationName:"stringValue" 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 DataValue) 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 DataValue) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataValue) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataValue"} + if s.Expression != nil && len(*s.Expression) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Expression", 1)) + } + if s.StringValue != nil && len(*s.StringValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StringValue", 1)) + } + if s.ListValue != nil { + for i, v := range s.ListValue { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ListValue", i), err.(request.ErrInvalidParams)) + } + } + } + if s.MapValue != nil { + for i, v := range s.MapValue { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "MapValue", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RelationshipValue != nil { + if err := s.RelationshipValue.Validate(); err != nil { + invalidParams.AddNested("RelationshipValue", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBooleanValue sets the BooleanValue field's value. +func (s *DataValue) SetBooleanValue(v bool) *DataValue { + s.BooleanValue = &v + return s +} + +// SetDoubleValue sets the DoubleValue field's value. +func (s *DataValue) SetDoubleValue(v float64) *DataValue { + s.DoubleValue = &v + return s +} + +// SetExpression sets the Expression field's value. +func (s *DataValue) SetExpression(v string) *DataValue { + s.Expression = &v + return s +} + +// SetIntegerValue sets the IntegerValue field's value. +func (s *DataValue) SetIntegerValue(v int64) *DataValue { + s.IntegerValue = &v + return s +} + +// SetListValue sets the ListValue field's value. +func (s *DataValue) SetListValue(v []*DataValue) *DataValue { + s.ListValue = v + return s +} + +// SetLongValue sets the LongValue field's value. +func (s *DataValue) SetLongValue(v int64) *DataValue { + s.LongValue = &v + return s +} + +// SetMapValue sets the MapValue field's value. +func (s *DataValue) SetMapValue(v map[string]*DataValue) *DataValue { + s.MapValue = v + return s +} + +// SetRelationshipValue sets the RelationshipValue field's value. +func (s *DataValue) SetRelationshipValue(v *RelationshipValue) *DataValue { + s.RelationshipValue = v + return s +} + +// SetStringValue sets the StringValue field's value. +func (s *DataValue) SetStringValue(v string) *DataValue { + s.StringValue = &v + return s +} + +type DeleteComponentTypeInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the component type to delete. + // + // ComponentTypeId is a required field + ComponentTypeId *string `location:"uri" locationName:"componentTypeId" min:"1" type:"string" required:"true"` + + // The ID of the workspace that contains the component type. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 DeleteComponentTypeInput) 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 DeleteComponentTypeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteComponentTypeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteComponentTypeInput"} + if s.ComponentTypeId == nil { + invalidParams.Add(request.NewErrParamRequired("ComponentTypeId")) + } + if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *DeleteComponentTypeInput) SetComponentTypeId(v string) *DeleteComponentTypeInput { + s.ComponentTypeId = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *DeleteComponentTypeInput) SetWorkspaceId(v string) *DeleteComponentTypeInput { + s.WorkspaceId = &v + return s +} + +type DeleteComponentTypeOutput struct { + _ struct{} `type:"structure"` + + // The current state of the component type to be deleted. + // + // State is a required field + State *string `locationName:"state" type:"string" required:"true" enum:"State"` +} + +// 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 DeleteComponentTypeOutput) 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 DeleteComponentTypeOutput) GoString() string { + return s.String() +} + +// SetState sets the State field's value. +func (s *DeleteComponentTypeOutput) SetState(v string) *DeleteComponentTypeOutput { + s.State = &v + return s +} + +type DeleteEntityInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the entity to delete. + // + // EntityId is a required field + EntityId *string `location:"uri" locationName:"entityId" min:"1" type:"string" required:"true"` + + // A Boolean value that specifies whether the operation deletes child entities. + IsRecursive *bool `location:"querystring" locationName:"isRecursive" type:"boolean"` + + // The ID of the workspace that contains the entity to delete. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 DeleteEntityInput) 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 DeleteEntityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteEntityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteEntityInput"} + if s.EntityId == nil { + invalidParams.Add(request.NewErrParamRequired("EntityId")) + } + if s.EntityId != nil && len(*s.EntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEntityId sets the EntityId field's value. +func (s *DeleteEntityInput) SetEntityId(v string) *DeleteEntityInput { + s.EntityId = &v + return s +} + +// SetIsRecursive sets the IsRecursive field's value. +func (s *DeleteEntityInput) SetIsRecursive(v bool) *DeleteEntityInput { + s.IsRecursive = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *DeleteEntityInput) SetWorkspaceId(v string) *DeleteEntityInput { + s.WorkspaceId = &v + return s +} + +type DeleteEntityOutput struct { + _ struct{} `type:"structure"` + + // The current state of the deleted entity. + // + // State is a required field + State *string `locationName:"state" type:"string" required:"true" enum:"State"` +} + +// 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 DeleteEntityOutput) 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 DeleteEntityOutput) GoString() string { + return s.String() +} + +// SetState sets the State field's value. +func (s *DeleteEntityOutput) SetState(v string) *DeleteEntityOutput { + s.State = &v + return s +} + +type DeleteSceneInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the scene to delete. + // + // SceneId is a required field + SceneId *string `location:"uri" locationName:"sceneId" min:"1" type:"string" required:"true"` + + // The ID of the workspace. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 DeleteSceneInput) 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 DeleteSceneInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteSceneInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteSceneInput"} + if s.SceneId == nil { + invalidParams.Add(request.NewErrParamRequired("SceneId")) + } + if s.SceneId != nil && len(*s.SceneId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SceneId", 1)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSceneId sets the SceneId field's value. +func (s *DeleteSceneInput) SetSceneId(v string) *DeleteSceneInput { + s.SceneId = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *DeleteSceneInput) SetWorkspaceId(v string) *DeleteSceneInput { + s.WorkspaceId = &v + return s +} + +type DeleteSceneOutput 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 DeleteSceneOutput) 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 DeleteSceneOutput) GoString() string { + return s.String() +} + +type DeleteWorkspaceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the workspace to delete. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 DeleteWorkspaceInput) 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 DeleteWorkspaceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteWorkspaceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteWorkspaceInput"} + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *DeleteWorkspaceInput) SetWorkspaceId(v string) *DeleteWorkspaceInput { + s.WorkspaceId = &v + return s +} + +type DeleteWorkspaceOutput 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 DeleteWorkspaceOutput) 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 DeleteWorkspaceOutput) GoString() string { + return s.String() +} + +// An object that uniquely identifies an entity property. +type EntityPropertyReference struct { + _ struct{} `type:"structure"` + + // The name of the component. + ComponentName *string `locationName:"componentName" min:"1" type:"string"` + + // The ID of the entity. + EntityId *string `locationName:"entityId" min:"1" type:"string"` + + // A mapping of external IDs to property names. External IDs uniquely identify + // properties from external data stores. + ExternalIdProperty map[string]*string `locationName:"externalIdProperty" type:"map"` + + // The name of the property. + // + // PropertyName is a required field + PropertyName *string `locationName:"propertyName" 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 EntityPropertyReference) 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 EntityPropertyReference) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *EntityPropertyReference) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "EntityPropertyReference"} + if s.ComponentName != nil && len(*s.ComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) + } + if s.EntityId != nil && len(*s.EntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) + } + if s.PropertyName == nil { + invalidParams.Add(request.NewErrParamRequired("PropertyName")) + } + if s.PropertyName != nil && len(*s.PropertyName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PropertyName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentName sets the ComponentName field's value. +func (s *EntityPropertyReference) SetComponentName(v string) *EntityPropertyReference { + s.ComponentName = &v + return s +} + +// SetEntityId sets the EntityId field's value. +func (s *EntityPropertyReference) SetEntityId(v string) *EntityPropertyReference { + s.EntityId = &v + return s +} + +// SetExternalIdProperty sets the ExternalIdProperty field's value. +func (s *EntityPropertyReference) SetExternalIdProperty(v map[string]*string) *EntityPropertyReference { + s.ExternalIdProperty = v + return s +} + +// SetPropertyName sets the PropertyName field's value. +func (s *EntityPropertyReference) SetPropertyName(v string) *EntityPropertyReference { + s.PropertyName = &v + return s +} + +// An object that contains information about an entity. +type EntitySummary struct { + _ struct{} `type:"structure"` + + // The ARN of the entity. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The date and time when the entity was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` + + // The description of the entity. + Description *string `locationName:"description" type:"string"` + + // The ID of the entity. + // + // EntityId is a required field + EntityId *string `locationName:"entityId" min:"1" type:"string" required:"true"` + + // The name of the entity. + // + // EntityName is a required field + EntityName *string `locationName:"entityName" min:"1" type:"string" required:"true"` + + // A Boolean value that specifies whether the entity has child entities or not. + HasChildEntities *bool `locationName:"hasChildEntities" type:"boolean"` + + // The ID of the parent entity. + ParentEntityId *string `locationName:"parentEntityId" min:"1" type:"string"` + + // The current status of the entity. + // + // Status is a required field + Status *Status `locationName:"status" type:"structure" required:"true"` + + // The last date and time when the entity was updated. + // + // UpdateDateTime is a required field + UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" 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 EntitySummary) 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 EntitySummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *EntitySummary) SetArn(v string) *EntitySummary { + s.Arn = &v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *EntitySummary) SetCreationDateTime(v time.Time) *EntitySummary { + s.CreationDateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *EntitySummary) SetDescription(v string) *EntitySummary { + s.Description = &v + return s +} + +// SetEntityId sets the EntityId field's value. +func (s *EntitySummary) SetEntityId(v string) *EntitySummary { + s.EntityId = &v + return s +} + +// SetEntityName sets the EntityName field's value. +func (s *EntitySummary) SetEntityName(v string) *EntitySummary { + s.EntityName = &v + return s +} + +// SetHasChildEntities sets the HasChildEntities field's value. +func (s *EntitySummary) SetHasChildEntities(v bool) *EntitySummary { + s.HasChildEntities = &v + return s +} + +// SetParentEntityId sets the ParentEntityId field's value. +func (s *EntitySummary) SetParentEntityId(v string) *EntitySummary { + s.ParentEntityId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *EntitySummary) SetStatus(v *Status) *EntitySummary { + s.Status = v + return s +} + +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *EntitySummary) SetUpdateDateTime(v time.Time) *EntitySummary { + s.UpdateDateTime = &v + return s +} + +// The error details. +type ErrorDetails struct { + _ struct{} `type:"structure"` + + // The error code. + Code *string `locationName:"code" type:"string" enum:"ErrorCode"` + + // 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 ErrorDetails) 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 ErrorDetails) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *ErrorDetails) SetCode(v string) *ErrorDetails { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *ErrorDetails) SetMessage(v string) *ErrorDetails { + s.Message = &v + return s +} + +// The function request body. +type FunctionRequest struct { + _ struct{} `type:"structure"` + + // The data connector. + ImplementedBy *DataConnector `locationName:"implementedBy" type:"structure"` + + // The required properties of the function. + RequiredProperties []*string `locationName:"requiredProperties" type:"list"` + + // The scope of the function. + Scope *string `locationName:"scope" type:"string" enum:"Scope"` +} + +// 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 FunctionRequest) 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 FunctionRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *FunctionRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "FunctionRequest"} + if s.ImplementedBy != nil { + if err := s.ImplementedBy.Validate(); err != nil { + invalidParams.AddNested("ImplementedBy", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetImplementedBy sets the ImplementedBy field's value. +func (s *FunctionRequest) SetImplementedBy(v *DataConnector) *FunctionRequest { + s.ImplementedBy = v + return s +} + +// SetRequiredProperties sets the RequiredProperties field's value. +func (s *FunctionRequest) SetRequiredProperties(v []*string) *FunctionRequest { + s.RequiredProperties = v + return s +} + +// SetScope sets the Scope field's value. +func (s *FunctionRequest) SetScope(v string) *FunctionRequest { + s.Scope = &v + return s +} + +// The function response. +type FunctionResponse struct { + _ struct{} `type:"structure"` + + // The data connector. + ImplementedBy *DataConnector `locationName:"implementedBy" type:"structure"` + + // Indicates whether this function is inherited. + IsInherited *bool `locationName:"isInherited" type:"boolean"` + + // The required properties of the function. + RequiredProperties []*string `locationName:"requiredProperties" type:"list"` + + // The scope of the function. + Scope *string `locationName:"scope" type:"string" enum:"Scope"` +} + +// 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 FunctionResponse) 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 FunctionResponse) GoString() string { + return s.String() +} + +// SetImplementedBy sets the ImplementedBy field's value. +func (s *FunctionResponse) SetImplementedBy(v *DataConnector) *FunctionResponse { + s.ImplementedBy = v + return s +} + +// SetIsInherited sets the IsInherited field's value. +func (s *FunctionResponse) SetIsInherited(v bool) *FunctionResponse { + s.IsInherited = &v + return s +} + +// SetRequiredProperties sets the RequiredProperties field's value. +func (s *FunctionResponse) SetRequiredProperties(v []*string) *FunctionResponse { + s.RequiredProperties = v + return s +} + +// SetScope sets the Scope field's value. +func (s *FunctionResponse) SetScope(v string) *FunctionResponse { + s.Scope = &v + return s +} + +type GetComponentTypeInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the component type. + // + // ComponentTypeId is a required field + ComponentTypeId *string `location:"uri" locationName:"componentTypeId" min:"1" type:"string" required:"true"` + + // The ID of the workspace that contains the component type. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 GetComponentTypeInput) 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 GetComponentTypeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetComponentTypeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetComponentTypeInput"} + if s.ComponentTypeId == nil { + invalidParams.Add(request.NewErrParamRequired("ComponentTypeId")) + } + if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *GetComponentTypeInput) SetComponentTypeId(v string) *GetComponentTypeInput { + s.ComponentTypeId = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *GetComponentTypeInput) SetWorkspaceId(v string) *GetComponentTypeInput { + s.WorkspaceId = &v + return s +} + +type GetComponentTypeOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the component type. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The ID of the component type. + // + // ComponentTypeId is a required field + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string" required:"true"` + + // The date and time when the component type was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` + + // The description of the component type. + Description *string `locationName:"description" type:"string"` + + // The name of the parent component type that this component type extends. + ExtendsFrom []*string `locationName:"extendsFrom" type:"list"` + + // An object that maps strings to the functions in the component type. Each + // string in the mapping must be unique to this object. + Functions map[string]*FunctionResponse `locationName:"functions" type:"map"` + + // A Boolean value that specifies whether the component type is abstract. + IsAbstract *bool `locationName:"isAbstract" type:"boolean"` + + // A Boolean value that specifies whether the component type has a schema initializer + // and that the schema initializer has run. + IsSchemaInitialized *bool `locationName:"isSchemaInitialized" type:"boolean"` + + // A Boolean value that specifies whether an entity can have more than one component + // of this type. + IsSingleton *bool `locationName:"isSingleton" type:"boolean"` + + // An object that maps strings to the property definitions in the component + // type. Each string in the mapping must be unique to this object. + PropertyDefinitions map[string]*PropertyDefinitionResponse `locationName:"propertyDefinitions" type:"map"` + + // The current status of the component type. + Status *Status `locationName:"status" type:"structure"` + + // The date and time when the component was last updated. + // + // UpdateDateTime is a required field + UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" required:"true"` + + // The ID of the workspace that contains the component type. + // + // WorkspaceId is a required field + WorkspaceId *string `locationName:"workspaceId" 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 GetComponentTypeOutput) 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 GetComponentTypeOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *GetComponentTypeOutput) SetArn(v string) *GetComponentTypeOutput { + s.Arn = &v + return s +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *GetComponentTypeOutput) SetComponentTypeId(v string) *GetComponentTypeOutput { + s.ComponentTypeId = &v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *GetComponentTypeOutput) SetCreationDateTime(v time.Time) *GetComponentTypeOutput { + s.CreationDateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetComponentTypeOutput) SetDescription(v string) *GetComponentTypeOutput { + s.Description = &v + return s +} + +// SetExtendsFrom sets the ExtendsFrom field's value. +func (s *GetComponentTypeOutput) SetExtendsFrom(v []*string) *GetComponentTypeOutput { + s.ExtendsFrom = v + return s +} + +// SetFunctions sets the Functions field's value. +func (s *GetComponentTypeOutput) SetFunctions(v map[string]*FunctionResponse) *GetComponentTypeOutput { + s.Functions = v + return s +} + +// SetIsAbstract sets the IsAbstract field's value. +func (s *GetComponentTypeOutput) SetIsAbstract(v bool) *GetComponentTypeOutput { + s.IsAbstract = &v + return s +} + +// SetIsSchemaInitialized sets the IsSchemaInitialized field's value. +func (s *GetComponentTypeOutput) SetIsSchemaInitialized(v bool) *GetComponentTypeOutput { + s.IsSchemaInitialized = &v + return s +} + +// SetIsSingleton sets the IsSingleton field's value. +func (s *GetComponentTypeOutput) SetIsSingleton(v bool) *GetComponentTypeOutput { + s.IsSingleton = &v + return s +} + +// SetPropertyDefinitions sets the PropertyDefinitions field's value. +func (s *GetComponentTypeOutput) SetPropertyDefinitions(v map[string]*PropertyDefinitionResponse) *GetComponentTypeOutput { + s.PropertyDefinitions = v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetComponentTypeOutput) SetStatus(v *Status) *GetComponentTypeOutput { + s.Status = v + return s +} + +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *GetComponentTypeOutput) SetUpdateDateTime(v time.Time) *GetComponentTypeOutput { + s.UpdateDateTime = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *GetComponentTypeOutput) SetWorkspaceId(v string) *GetComponentTypeOutput { + s.WorkspaceId = &v + return s +} + +type GetEntityInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the entity. + // + // EntityId is a required field + EntityId *string `location:"uri" locationName:"entityId" min:"1" type:"string" required:"true"` + + // The ID of the workspace. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 GetEntityInput) 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 GetEntityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetEntityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetEntityInput"} + if s.EntityId == nil { + invalidParams.Add(request.NewErrParamRequired("EntityId")) + } + if s.EntityId != nil && len(*s.EntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEntityId sets the EntityId field's value. +func (s *GetEntityInput) SetEntityId(v string) *GetEntityInput { + s.EntityId = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *GetEntityInput) SetWorkspaceId(v string) *GetEntityInput { + s.WorkspaceId = &v + return s +} + +type GetEntityOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the entity. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // An object that maps strings to the components in the entity. Each string + // in the mapping must be unique to this object. + Components map[string]*ComponentResponse `locationName:"components" type:"map"` + + // The date and time when the entity was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` + + // The description of the entity. + Description *string `locationName:"description" type:"string"` + + // The ID of the entity. + // + // EntityId is a required field + EntityId *string `locationName:"entityId" min:"1" type:"string" required:"true"` + + // The name of the entity. + // + // EntityName is a required field + EntityName *string `locationName:"entityName" min:"1" type:"string" required:"true"` + + // A Boolean value that specifies whether the entity has associated child entities. + // + // HasChildEntities is a required field + HasChildEntities *bool `locationName:"hasChildEntities" type:"boolean" required:"true"` + + // The ID of the parent entity for this entity. + // + // ParentEntityId is a required field + ParentEntityId *string `locationName:"parentEntityId" min:"1" type:"string" required:"true"` + + // The current status of the entity. + // + // Status is a required field + Status *Status `locationName:"status" type:"structure" required:"true"` + + // The date and time when the entity was last updated. + // + // UpdateDateTime is a required field + UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" required:"true"` + + // The ID of the workspace. + // + // WorkspaceId is a required field + WorkspaceId *string `locationName:"workspaceId" 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 GetEntityOutput) 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 GetEntityOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *GetEntityOutput) SetArn(v string) *GetEntityOutput { + s.Arn = &v + return s +} + +// SetComponents sets the Components field's value. +func (s *GetEntityOutput) SetComponents(v map[string]*ComponentResponse) *GetEntityOutput { + s.Components = v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *GetEntityOutput) SetCreationDateTime(v time.Time) *GetEntityOutput { + s.CreationDateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetEntityOutput) SetDescription(v string) *GetEntityOutput { + s.Description = &v + return s +} + +// SetEntityId sets the EntityId field's value. +func (s *GetEntityOutput) SetEntityId(v string) *GetEntityOutput { + s.EntityId = &v + return s +} + +// SetEntityName sets the EntityName field's value. +func (s *GetEntityOutput) SetEntityName(v string) *GetEntityOutput { + s.EntityName = &v + return s +} + +// SetHasChildEntities sets the HasChildEntities field's value. +func (s *GetEntityOutput) SetHasChildEntities(v bool) *GetEntityOutput { + s.HasChildEntities = &v + return s +} + +// SetParentEntityId sets the ParentEntityId field's value. +func (s *GetEntityOutput) SetParentEntityId(v string) *GetEntityOutput { + s.ParentEntityId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetEntityOutput) SetStatus(v *Status) *GetEntityOutput { + s.Status = v + return s +} + +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *GetEntityOutput) SetUpdateDateTime(v time.Time) *GetEntityOutput { + s.UpdateDateTime = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *GetEntityOutput) SetWorkspaceId(v string) *GetEntityOutput { + s.WorkspaceId = &v + return s +} + +type GetPropertyValueHistoryInput struct { + _ struct{} `type:"structure"` + + // The name of the component. + ComponentName *string `locationName:"componentName" min:"1" type:"string"` + + // The ID of the component type. + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string"` + + // The date and time of the latest property value to return. + // + // EndDateTime is a required field + EndDateTime *time.Time `locationName:"endDateTime" type:"timestamp" required:"true"` + + // The ID of the entity. + EntityId *string `locationName:"entityId" min:"1" type:"string"` + + // An object that specifies the interpolation type and the interval over which + // to interpolate data. + Interpolation *InterpolationParameters `locationName:"interpolation" type:"structure"` + + // The maximum number of results to return. + MaxResults *int64 `locationName:"maxResults" type:"integer"` + + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The time direction to use in the result order. + OrderByTime *string `locationName:"orderByTime" type:"string" enum:"OrderByTime"` + + // A list of objects that filter the property value history request. + PropertyFilters []*PropertyFilter `locationName:"propertyFilters" min:"1" type:"list"` + + // A list of properties whose value histories the request retrieves. + // + // SelectedProperties is a required field + SelectedProperties []*string `locationName:"selectedProperties" min:"1" type:"list" required:"true"` + + // The date and time of the earliest property value to return. + // + // StartDateTime is a required field + StartDateTime *time.Time `locationName:"startDateTime" type:"timestamp" required:"true"` + + // The ID of the workspace. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 GetPropertyValueHistoryInput) 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 GetPropertyValueHistoryInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPropertyValueHistoryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPropertyValueHistoryInput"} + if s.ComponentName != nil && len(*s.ComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) + } + if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) + } + if s.EndDateTime == nil { + invalidParams.Add(request.NewErrParamRequired("EndDateTime")) + } + if s.EntityId != nil && len(*s.EntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) + } + if s.PropertyFilters != nil && len(s.PropertyFilters) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PropertyFilters", 1)) + } + if s.SelectedProperties == nil { + invalidParams.Add(request.NewErrParamRequired("SelectedProperties")) + } + if s.SelectedProperties != nil && len(s.SelectedProperties) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SelectedProperties", 1)) + } + if s.StartDateTime == nil { + invalidParams.Add(request.NewErrParamRequired("StartDateTime")) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + if s.PropertyFilters != nil { + for i, v := range s.PropertyFilters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyFilters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentName sets the ComponentName field's value. +func (s *GetPropertyValueHistoryInput) SetComponentName(v string) *GetPropertyValueHistoryInput { + s.ComponentName = &v + return s +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *GetPropertyValueHistoryInput) SetComponentTypeId(v string) *GetPropertyValueHistoryInput { + s.ComponentTypeId = &v + return s +} + +// SetEndDateTime sets the EndDateTime field's value. +func (s *GetPropertyValueHistoryInput) SetEndDateTime(v time.Time) *GetPropertyValueHistoryInput { + s.EndDateTime = &v + return s +} + +// SetEntityId sets the EntityId field's value. +func (s *GetPropertyValueHistoryInput) SetEntityId(v string) *GetPropertyValueHistoryInput { + s.EntityId = &v + return s +} + +// SetInterpolation sets the Interpolation field's value. +func (s *GetPropertyValueHistoryInput) SetInterpolation(v *InterpolationParameters) *GetPropertyValueHistoryInput { + s.Interpolation = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetPropertyValueHistoryInput) SetMaxResults(v int64) *GetPropertyValueHistoryInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetPropertyValueHistoryInput) SetNextToken(v string) *GetPropertyValueHistoryInput { + s.NextToken = &v + return s +} + +// SetOrderByTime sets the OrderByTime field's value. +func (s *GetPropertyValueHistoryInput) SetOrderByTime(v string) *GetPropertyValueHistoryInput { + s.OrderByTime = &v + return s +} + +// SetPropertyFilters sets the PropertyFilters field's value. +func (s *GetPropertyValueHistoryInput) SetPropertyFilters(v []*PropertyFilter) *GetPropertyValueHistoryInput { + s.PropertyFilters = v + return s +} + +// SetSelectedProperties sets the SelectedProperties field's value. +func (s *GetPropertyValueHistoryInput) SetSelectedProperties(v []*string) *GetPropertyValueHistoryInput { + s.SelectedProperties = v + return s +} + +// SetStartDateTime sets the StartDateTime field's value. +func (s *GetPropertyValueHistoryInput) SetStartDateTime(v time.Time) *GetPropertyValueHistoryInput { + s.StartDateTime = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *GetPropertyValueHistoryInput) SetWorkspaceId(v string) *GetPropertyValueHistoryInput { + s.WorkspaceId = &v + return s +} + +type GetPropertyValueHistoryOutput struct { + _ struct{} `type:"structure"` + + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // An object that maps strings to the property definitions in the component + // type. Each string in the mapping must be unique to this object. + // + // PropertyValues is a required field + PropertyValues []*PropertyValueHistory `locationName:"propertyValues" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPropertyValueHistoryOutput) 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 GetPropertyValueHistoryOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetPropertyValueHistoryOutput) SetNextToken(v string) *GetPropertyValueHistoryOutput { + s.NextToken = &v + return s +} + +// SetPropertyValues sets the PropertyValues field's value. +func (s *GetPropertyValueHistoryOutput) SetPropertyValues(v []*PropertyValueHistory) *GetPropertyValueHistoryOutput { + s.PropertyValues = v + return s +} + +type GetPropertyValueInput struct { + _ struct{} `type:"structure"` + + // The name of the component whose property values the operation returns. + ComponentName *string `locationName:"componentName" min:"1" type:"string"` + + // The ID of the component type whose property values the operation returns. + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string"` + + // The ID of the entity whose property values the operation returns. + EntityId *string `locationName:"entityId" min:"1" type:"string"` + + // The properties whose values the operation returns. + // + // SelectedProperties is a required field + SelectedProperties []*string `locationName:"selectedProperties" min:"1" type:"list" required:"true"` + + // The ID of the workspace whose values the operation returns. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 GetPropertyValueInput) 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 GetPropertyValueInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPropertyValueInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPropertyValueInput"} + if s.ComponentName != nil && len(*s.ComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentName", 1)) + } + if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) + } + if s.EntityId != nil && len(*s.EntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) + } + if s.SelectedProperties == nil { + invalidParams.Add(request.NewErrParamRequired("SelectedProperties")) + } + if s.SelectedProperties != nil && len(s.SelectedProperties) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SelectedProperties", 1)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentName sets the ComponentName field's value. +func (s *GetPropertyValueInput) SetComponentName(v string) *GetPropertyValueInput { + s.ComponentName = &v + return s +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *GetPropertyValueInput) SetComponentTypeId(v string) *GetPropertyValueInput { + s.ComponentTypeId = &v + return s +} + +// SetEntityId sets the EntityId field's value. +func (s *GetPropertyValueInput) SetEntityId(v string) *GetPropertyValueInput { + s.EntityId = &v + return s +} + +// SetSelectedProperties sets the SelectedProperties field's value. +func (s *GetPropertyValueInput) SetSelectedProperties(v []*string) *GetPropertyValueInput { + s.SelectedProperties = v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *GetPropertyValueInput) SetWorkspaceId(v string) *GetPropertyValueInput { + s.WorkspaceId = &v + return s +} + +type GetPropertyValueOutput struct { + _ struct{} `type:"structure"` + + // An object that maps strings to the properties and latest property values + // in the response. Each string in the mapping must be unique to this object. + // + // PropertyValues is a required field + PropertyValues map[string]*PropertyLatestValue `locationName:"propertyValues" type:"map" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetPropertyValueOutput) 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 GetPropertyValueOutput) GoString() string { + return s.String() +} + +// SetPropertyValues sets the PropertyValues field's value. +func (s *GetPropertyValueOutput) SetPropertyValues(v map[string]*PropertyLatestValue) *GetPropertyValueOutput { + s.PropertyValues = v + return s +} + +type GetSceneInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the scene. + // + // SceneId is a required field + SceneId *string `location:"uri" locationName:"sceneId" min:"1" type:"string" required:"true"` + + // The ID of the workspace that contains the scene. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 GetSceneInput) 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 GetSceneInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetSceneInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSceneInput"} + if s.SceneId == nil { + invalidParams.Add(request.NewErrParamRequired("SceneId")) + } + if s.SceneId != nil && len(*s.SceneId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SceneId", 1)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSceneId sets the SceneId field's value. +func (s *GetSceneInput) SetSceneId(v string) *GetSceneInput { + s.SceneId = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *GetSceneInput) SetWorkspaceId(v string) *GetSceneInput { + s.WorkspaceId = &v + return s +} + +type GetSceneOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the scene. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // A list of capabilities that the scene uses to render. + Capabilities []*string `locationName:"capabilities" type:"list"` + + // The relative path that specifies the location of the content definition file. + // + // ContentLocation is a required field + ContentLocation *string `locationName:"contentLocation" type:"string" required:"true"` + + // The date and time when the scene was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` + + // The description of the scene. + Description *string `locationName:"description" type:"string"` + + // The ID of the scene. + // + // SceneId is a required field + SceneId *string `locationName:"sceneId" min:"1" type:"string" required:"true"` + + // The date and time when the scene was last updated. + // + // UpdateDateTime is a required field + UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" required:"true"` + + // The ID of the workspace that contains the scene. + // + // WorkspaceId is a required field + WorkspaceId *string `locationName:"workspaceId" 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 GetSceneOutput) 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 GetSceneOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *GetSceneOutput) SetArn(v string) *GetSceneOutput { + s.Arn = &v + return s +} + +// SetCapabilities sets the Capabilities field's value. +func (s *GetSceneOutput) SetCapabilities(v []*string) *GetSceneOutput { + s.Capabilities = v + return s +} + +// SetContentLocation sets the ContentLocation field's value. +func (s *GetSceneOutput) SetContentLocation(v string) *GetSceneOutput { + s.ContentLocation = &v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *GetSceneOutput) SetCreationDateTime(v time.Time) *GetSceneOutput { + s.CreationDateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetSceneOutput) SetDescription(v string) *GetSceneOutput { + s.Description = &v + return s +} + +// SetSceneId sets the SceneId field's value. +func (s *GetSceneOutput) SetSceneId(v string) *GetSceneOutput { + s.SceneId = &v + return s +} + +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *GetSceneOutput) SetUpdateDateTime(v time.Time) *GetSceneOutput { + s.UpdateDateTime = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *GetSceneOutput) SetWorkspaceId(v string) *GetSceneOutput { + s.WorkspaceId = &v + return s +} + +type GetWorkspaceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ID of the workspace. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 GetWorkspaceInput) 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 GetWorkspaceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetWorkspaceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetWorkspaceInput"} + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *GetWorkspaceInput) SetWorkspaceId(v string) *GetWorkspaceInput { + s.WorkspaceId = &v + return s +} + +type GetWorkspaceOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the workspace. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The date and time when the workspace was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` + + // The description of the workspace. + Description *string `locationName:"description" type:"string"` + + // The ARN of the execution role associated with the workspace. + // + // Role is a required field + Role *string `locationName:"role" min:"20" type:"string" required:"true"` + + // The ARN of the S3 bucket where resources associated with the workspace are + // stored. + // + // S3Location is a required field + S3Location *string `locationName:"s3Location" type:"string" required:"true"` + + // The date and time when the workspace was last updated. + // + // UpdateDateTime is a required field + UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" required:"true"` + + // The ID of the workspace. + // + // WorkspaceId is a required field + WorkspaceId *string `locationName:"workspaceId" 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 GetWorkspaceOutput) 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 GetWorkspaceOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *GetWorkspaceOutput) SetArn(v string) *GetWorkspaceOutput { + s.Arn = &v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *GetWorkspaceOutput) SetCreationDateTime(v time.Time) *GetWorkspaceOutput { + s.CreationDateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetWorkspaceOutput) SetDescription(v string) *GetWorkspaceOutput { + s.Description = &v + return s +} + +// SetRole sets the Role field's value. +func (s *GetWorkspaceOutput) SetRole(v string) *GetWorkspaceOutput { + s.Role = &v + return s +} + +// SetS3Location sets the S3Location field's value. +func (s *GetWorkspaceOutput) SetS3Location(v string) *GetWorkspaceOutput { + s.S3Location = &v + return s +} + +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *GetWorkspaceOutput) SetUpdateDateTime(v time.Time) *GetWorkspaceOutput { + s.UpdateDateTime = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *GetWorkspaceOutput) SetWorkspaceId(v string) *GetWorkspaceOutput { + s.WorkspaceId = &v + return s +} + +// An unexpected error has occurred. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InternalServerException) 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 InternalServerException) GoString() string { + return s.String() +} + +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" +} + +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil +} + +func (s *InternalServerException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID +} + +// An object that specifies how to interpolate data in a list. +type InterpolationParameters struct { + _ struct{} `type:"structure"` + + // The interpolation type. + InterpolationType *string `locationName:"interpolationType" type:"string" enum:"InterpolationType"` + + // The interpolation time interval in seconds. + IntervalInSeconds *int64 `locationName:"intervalInSeconds" type:"long"` +} + +// 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 InterpolationParameters) 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 InterpolationParameters) GoString() string { + return s.String() +} + +// SetInterpolationType sets the InterpolationType field's value. +func (s *InterpolationParameters) SetInterpolationType(v string) *InterpolationParameters { + s.InterpolationType = &v + return s +} + +// SetIntervalInSeconds sets the IntervalInSeconds field's value. +func (s *InterpolationParameters) SetIntervalInSeconds(v int64) *InterpolationParameters { + s.IntervalInSeconds = &v + return s +} + +// The Lambda function. +type LambdaFunction struct { + _ struct{} `type:"structure"` + + // The ARN of the Lambda function. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" 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 LambdaFunction) 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 LambdaFunction) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LambdaFunction) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LambdaFunction"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *LambdaFunction) SetArn(v string) *LambdaFunction { + s.Arn = &v + return s +} + +// An object that filters items in a list of component types. +type ListComponentTypesFilter struct { + _ struct{} `type:"structure"` + + // The component type that the component types in the list extend. + ExtendsFrom *string `locationName:"extendsFrom" min:"1" type:"string"` + + // A Boolean value that specifies whether the component types in the list are + // abstract. + IsAbstract *bool `locationName:"isAbstract" type:"boolean"` + + // The namespace to which the component types in the list belong. + Namespace *string `locationName:"namespace" 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 ListComponentTypesFilter) 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 ListComponentTypesFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListComponentTypesFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListComponentTypesFilter"} + if s.ExtendsFrom != nil && len(*s.ExtendsFrom) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExtendsFrom", 1)) + } + if s.Namespace != nil && len(*s.Namespace) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Namespace", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExtendsFrom sets the ExtendsFrom field's value. +func (s *ListComponentTypesFilter) SetExtendsFrom(v string) *ListComponentTypesFilter { + s.ExtendsFrom = &v + return s +} + +// SetIsAbstract sets the IsAbstract field's value. +func (s *ListComponentTypesFilter) SetIsAbstract(v bool) *ListComponentTypesFilter { + s.IsAbstract = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *ListComponentTypesFilter) SetNamespace(v string) *ListComponentTypesFilter { + s.Namespace = &v + return s +} + +type ListComponentTypesInput struct { + _ struct{} `type:"structure"` + + // A list of objects that filter the request. + Filters []*ListComponentTypesFilter `locationName:"filters" type:"list"` + + // The maximum number of results to display. + MaxResults *int64 `locationName:"maxResults" type:"integer"` + + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The ID of the workspace. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 ListComponentTypesInput) 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 ListComponentTypesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListComponentTypesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListComponentTypesInput"} + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *ListComponentTypesInput) SetFilters(v []*ListComponentTypesFilter) *ListComponentTypesInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListComponentTypesInput) SetMaxResults(v int64) *ListComponentTypesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListComponentTypesInput) SetNextToken(v string) *ListComponentTypesInput { + s.NextToken = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *ListComponentTypesInput) SetWorkspaceId(v string) *ListComponentTypesInput { + s.WorkspaceId = &v + return s +} + +type ListComponentTypesOutput struct { + _ struct{} `type:"structure"` + + // A list of objects that contain information about the component types. + // + // ComponentTypeSummaries is a required field + ComponentTypeSummaries []*ComponentTypeSummary `locationName:"componentTypeSummaries" type:"list" required:"true"` + + // Specifies the maximum number of results to display. + MaxResults *int64 `locationName:"maxResults" type:"integer"` + + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The ID of the workspace. + // + // WorkspaceId is a required field + WorkspaceId *string `locationName:"workspaceId" 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 ListComponentTypesOutput) 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 ListComponentTypesOutput) GoString() string { + return s.String() +} + +// SetComponentTypeSummaries sets the ComponentTypeSummaries field's value. +func (s *ListComponentTypesOutput) SetComponentTypeSummaries(v []*ComponentTypeSummary) *ListComponentTypesOutput { + s.ComponentTypeSummaries = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListComponentTypesOutput) SetMaxResults(v int64) *ListComponentTypesOutput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListComponentTypesOutput) SetNextToken(v string) *ListComponentTypesOutput { + s.NextToken = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *ListComponentTypesOutput) SetWorkspaceId(v string) *ListComponentTypesOutput { + s.WorkspaceId = &v + return s +} + +// An object that filters items in a list of entities. +type ListEntitiesFilter struct { + _ struct{} `type:"structure"` + + // The ID of the component type in the entities in the list. + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string"` + + // The parent of the entities in the list. + ParentEntityId *string `locationName:"parentEntityId" 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 ListEntitiesFilter) 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 ListEntitiesFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListEntitiesFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListEntitiesFilter"} + if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) + } + if s.ParentEntityId != nil && len(*s.ParentEntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ParentEntityId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *ListEntitiesFilter) SetComponentTypeId(v string) *ListEntitiesFilter { + s.ComponentTypeId = &v + return s +} + +// SetParentEntityId sets the ParentEntityId field's value. +func (s *ListEntitiesFilter) SetParentEntityId(v string) *ListEntitiesFilter { + s.ParentEntityId = &v + return s +} + +type ListEntitiesInput struct { + _ struct{} `type:"structure"` + + // A list of objects that filter the request. + Filters []*ListEntitiesFilter `locationName:"filters" type:"list"` + + // The maximum number of results to display. + MaxResults *int64 `locationName:"maxResults" type:"integer"` + + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The ID of the workspace. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 ListEntitiesInput) 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 ListEntitiesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListEntitiesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListEntitiesInput"} + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + if s.Filters != nil { + for i, v := range s.Filters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Filters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetFilters sets the Filters field's value. +func (s *ListEntitiesInput) SetFilters(v []*ListEntitiesFilter) *ListEntitiesInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListEntitiesInput) SetMaxResults(v int64) *ListEntitiesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEntitiesInput) SetNextToken(v string) *ListEntitiesInput { + s.NextToken = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *ListEntitiesInput) SetWorkspaceId(v string) *ListEntitiesInput { + s.WorkspaceId = &v + return s +} + +type ListEntitiesOutput struct { + _ struct{} `type:"structure"` + + // A list of objects that contain information about the entities. + EntitySummaries []*EntitySummary `locationName:"entitySummaries" type:"list"` + + // The string that specifies the next page of results. + 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 ListEntitiesOutput) 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 ListEntitiesOutput) GoString() string { + return s.String() +} + +// SetEntitySummaries sets the EntitySummaries field's value. +func (s *ListEntitiesOutput) SetEntitySummaries(v []*EntitySummary) *ListEntitiesOutput { + s.EntitySummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEntitiesOutput) SetNextToken(v string) *ListEntitiesOutput { + s.NextToken = &v + return s +} + +type ListScenesInput struct { + _ struct{} `type:"structure"` + + // Specifies the maximum number of results to display. + MaxResults *int64 `locationName:"maxResults" type:"integer"` + + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The ID of the workspace that contains the scenes. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 ListScenesInput) 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 ListScenesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListScenesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListScenesInput"} + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListScenesInput) SetMaxResults(v int64) *ListScenesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListScenesInput) SetNextToken(v string) *ListScenesInput { + s.NextToken = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *ListScenesInput) SetWorkspaceId(v string) *ListScenesInput { + s.WorkspaceId = &v + return s +} + +type ListScenesOutput struct { + _ struct{} `type:"structure"` + + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // A list of objects that contain information about the scenes. + SceneSummaries []*SceneSummary `locationName:"sceneSummaries" 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 ListScenesOutput) 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 ListScenesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListScenesOutput) SetNextToken(v string) *ListScenesOutput { + s.NextToken = &v + return s +} + +// SetSceneSummaries sets the SceneSummaries field's value. +func (s *ListScenesOutput) SetSceneSummaries(v []*SceneSummary) *ListScenesOutput { + s.SceneSummaries = v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to display. + MaxResults *int64 `locationName:"maxResults" type:"integer"` + + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // The ARN of the resource. + // + // ResourceARN is a required field + ResourceARN *string `locationName:"resourceARN" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTagsForResourceInput) SetMaxResults(v int64) *ListTagsForResourceInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceInput) SetNextToken(v string) *ListTagsForResourceInput { + s.NextToken = &v + return s +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput { + s.ResourceARN = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // Metadata that you can use to manage a resource. + Tags map[string]*string `locationName:"tags" 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 ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTagsForResourceOutput) SetNextToken(v string) *ListTagsForResourceOutput { + s.NextToken = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +type ListWorkspacesInput struct { + _ struct{} `type:"structure"` + + // The maximum number of results to display. + MaxResults *int64 `locationName:"maxResults" type:"integer"` + + // The string that specifies the next page of results. + 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 ListWorkspacesInput) 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 ListWorkspacesInput) GoString() string { + return s.String() +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListWorkspacesInput) SetMaxResults(v int64) *ListWorkspacesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWorkspacesInput) SetNextToken(v string) *ListWorkspacesInput { + s.NextToken = &v + return s +} + +type ListWorkspacesOutput struct { + _ struct{} `type:"structure"` + + // The string that specifies the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` + + // A list of objects that contain information about the workspaces. + WorkspaceSummaries []*WorkspaceSummary `locationName:"workspaceSummaries" 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 ListWorkspacesOutput) 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 ListWorkspacesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListWorkspacesOutput) SetNextToken(v string) *ListWorkspacesOutput { + s.NextToken = &v + return s +} + +// SetWorkspaceSummaries sets the WorkspaceSummaries field's value. +func (s *ListWorkspacesOutput) SetWorkspaceSummaries(v []*WorkspaceSummary) *ListWorkspacesOutput { + s.WorkspaceSummaries = v + return s +} + +// The parent entity update request. +type ParentEntityUpdateRequest struct { + _ struct{} `type:"structure"` + + // The ID of the parent entity. + ParentEntityId *string `locationName:"parentEntityId" min:"1" type:"string"` + + // The type of the update. + // + // UpdateType is a required field + UpdateType *string `locationName:"updateType" type:"string" required:"true" enum:"ParentEntityUpdateType"` +} + +// 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 ParentEntityUpdateRequest) 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 ParentEntityUpdateRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ParentEntityUpdateRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ParentEntityUpdateRequest"} + if s.ParentEntityId != nil && len(*s.ParentEntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ParentEntityId", 1)) + } + if s.UpdateType == nil { + invalidParams.Add(request.NewErrParamRequired("UpdateType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetParentEntityId sets the ParentEntityId field's value. +func (s *ParentEntityUpdateRequest) SetParentEntityId(v string) *ParentEntityUpdateRequest { + s.ParentEntityId = &v + return s +} + +// SetUpdateType sets the UpdateType field's value. +func (s *ParentEntityUpdateRequest) SetUpdateType(v string) *ParentEntityUpdateRequest { + s.UpdateType = &v + return s +} + +// An object that sets information about a property. +type PropertyDefinitionRequest struct { + _ struct{} `type:"structure"` + + // A mapping that specifies configuration information about the property. Use + // this field to specify information that you read from and write to an external + // source. + Configuration map[string]*string `locationName:"configuration" type:"map"` + + // An object that contains information about the data type. + DataType *DataType `locationName:"dataType" type:"structure"` + + // An object that contains the default value. + DefaultValue *DataValue `locationName:"defaultValue" type:"structure"` + + // A Boolean value that specifies whether the property ID comes from an external + // data store. + IsExternalId *bool `locationName:"isExternalId" type:"boolean"` + + // A Boolean value that specifies whether the property is required. + IsRequiredInEntity *bool `locationName:"isRequiredInEntity" type:"boolean"` + + // A Boolean value that specifies whether the property is stored externally. + IsStoredExternally *bool `locationName:"isStoredExternally" type:"boolean"` + + // A Boolean value that specifies whether the property consists of time series + // data. + IsTimeSeries *bool `locationName:"isTimeSeries" 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 PropertyDefinitionRequest) 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 PropertyDefinitionRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PropertyDefinitionRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PropertyDefinitionRequest"} + if s.DataType != nil { + if err := s.DataType.Validate(); err != nil { + invalidParams.AddNested("DataType", err.(request.ErrInvalidParams)) + } + } + if s.DefaultValue != nil { + if err := s.DefaultValue.Validate(); err != nil { + invalidParams.AddNested("DefaultValue", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfiguration sets the Configuration field's value. +func (s *PropertyDefinitionRequest) SetConfiguration(v map[string]*string) *PropertyDefinitionRequest { + s.Configuration = v + return s +} + +// SetDataType sets the DataType field's value. +func (s *PropertyDefinitionRequest) SetDataType(v *DataType) *PropertyDefinitionRequest { + s.DataType = v + return s +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *PropertyDefinitionRequest) SetDefaultValue(v *DataValue) *PropertyDefinitionRequest { + s.DefaultValue = v + return s +} + +// SetIsExternalId sets the IsExternalId field's value. +func (s *PropertyDefinitionRequest) SetIsExternalId(v bool) *PropertyDefinitionRequest { + s.IsExternalId = &v + return s +} + +// SetIsRequiredInEntity sets the IsRequiredInEntity field's value. +func (s *PropertyDefinitionRequest) SetIsRequiredInEntity(v bool) *PropertyDefinitionRequest { + s.IsRequiredInEntity = &v + return s +} + +// SetIsStoredExternally sets the IsStoredExternally field's value. +func (s *PropertyDefinitionRequest) SetIsStoredExternally(v bool) *PropertyDefinitionRequest { + s.IsStoredExternally = &v + return s +} + +// SetIsTimeSeries sets the IsTimeSeries field's value. +func (s *PropertyDefinitionRequest) SetIsTimeSeries(v bool) *PropertyDefinitionRequest { + s.IsTimeSeries = &v + return s +} + +// An object that contains response data from a property definition request. +type PropertyDefinitionResponse struct { + _ struct{} `type:"structure"` + + // A mapping that specifies configuration information about the property. + Configuration map[string]*string `locationName:"configuration" type:"map"` + + // An object that contains information about the data type. + // + // DataType is a required field + DataType *DataType `locationName:"dataType" type:"structure" required:"true"` + + // An object that contains the default value. + DefaultValue *DataValue `locationName:"defaultValue" type:"structure"` + + // A Boolean value that specifies whether the property ID comes from an external + // data store. + // + // IsExternalId is a required field + IsExternalId *bool `locationName:"isExternalId" type:"boolean" required:"true"` + + // A Boolean value that specifies whether the property definition can be updated. + // + // IsFinal is a required field + IsFinal *bool `locationName:"isFinal" type:"boolean" required:"true"` + + // A Boolean value that specifies whether the property definition is imported + // from an external data store. + // + // IsImported is a required field + IsImported *bool `locationName:"isImported" type:"boolean" required:"true"` + + // A Boolean value that specifies whether the property definition is inherited + // from a parent entity. + // + // IsInherited is a required field + IsInherited *bool `locationName:"isInherited" type:"boolean" required:"true"` + + // A Boolean value that specifies whether the property is required in an entity. + // + // IsRequiredInEntity is a required field + IsRequiredInEntity *bool `locationName:"isRequiredInEntity" type:"boolean" required:"true"` + + // A Boolean value that specifies whether the property is stored externally. + // + // IsStoredExternally is a required field + IsStoredExternally *bool `locationName:"isStoredExternally" type:"boolean" required:"true"` + + // A Boolean value that specifies whether the property consists of time series + // data. + // + // IsTimeSeries is a required field + IsTimeSeries *bool `locationName:"isTimeSeries" 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 PropertyDefinitionResponse) 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 PropertyDefinitionResponse) GoString() string { + return s.String() +} + +// SetConfiguration sets the Configuration field's value. +func (s *PropertyDefinitionResponse) SetConfiguration(v map[string]*string) *PropertyDefinitionResponse { + s.Configuration = v + return s +} + +// SetDataType sets the DataType field's value. +func (s *PropertyDefinitionResponse) SetDataType(v *DataType) *PropertyDefinitionResponse { + s.DataType = v + return s +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *PropertyDefinitionResponse) SetDefaultValue(v *DataValue) *PropertyDefinitionResponse { + s.DefaultValue = v + return s +} + +// SetIsExternalId sets the IsExternalId field's value. +func (s *PropertyDefinitionResponse) SetIsExternalId(v bool) *PropertyDefinitionResponse { + s.IsExternalId = &v + return s +} + +// SetIsFinal sets the IsFinal field's value. +func (s *PropertyDefinitionResponse) SetIsFinal(v bool) *PropertyDefinitionResponse { + s.IsFinal = &v + return s +} + +// SetIsImported sets the IsImported field's value. +func (s *PropertyDefinitionResponse) SetIsImported(v bool) *PropertyDefinitionResponse { + s.IsImported = &v + return s +} + +// SetIsInherited sets the IsInherited field's value. +func (s *PropertyDefinitionResponse) SetIsInherited(v bool) *PropertyDefinitionResponse { + s.IsInherited = &v + return s +} + +// SetIsRequiredInEntity sets the IsRequiredInEntity field's value. +func (s *PropertyDefinitionResponse) SetIsRequiredInEntity(v bool) *PropertyDefinitionResponse { + s.IsRequiredInEntity = &v + return s +} + +// SetIsStoredExternally sets the IsStoredExternally field's value. +func (s *PropertyDefinitionResponse) SetIsStoredExternally(v bool) *PropertyDefinitionResponse { + s.IsStoredExternally = &v + return s +} + +// SetIsTimeSeries sets the IsTimeSeries field's value. +func (s *PropertyDefinitionResponse) SetIsTimeSeries(v bool) *PropertyDefinitionResponse { + s.IsTimeSeries = &v + return s +} + +// An object that filters items returned by a property request. +type PropertyFilter struct { + _ struct{} `type:"structure"` + + // The operator associated with this property filter. + Operator *string `locationName:"operator" min:"1" type:"string"` + + // The property name associated with this property filter. + PropertyName *string `locationName:"propertyName" min:"1" type:"string"` + + // The value associated with this property filter. + Value *DataValue `locationName:"value" 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 PropertyFilter) 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 PropertyFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PropertyFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PropertyFilter"} + if s.Operator != nil && len(*s.Operator) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Operator", 1)) + } + if s.PropertyName != nil && len(*s.PropertyName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PropertyName", 1)) + } + if s.Value != nil { + if err := s.Value.Validate(); err != nil { + invalidParams.AddNested("Value", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetOperator sets the Operator field's value. +func (s *PropertyFilter) SetOperator(v string) *PropertyFilter { + s.Operator = &v + return s +} + +// SetPropertyName sets the PropertyName field's value. +func (s *PropertyFilter) SetPropertyName(v string) *PropertyFilter { + s.PropertyName = &v + return s +} + +// SetValue sets the Value field's value. +func (s *PropertyFilter) SetValue(v *DataValue) *PropertyFilter { + s.Value = v + return s +} + +// The latest value of the property. +type PropertyLatestValue struct { + _ struct{} `type:"structure"` + + // An object that specifies information about a property.> + // + // PropertyReference is a required field + PropertyReference *EntityPropertyReference `locationName:"propertyReference" type:"structure" required:"true"` + + // The value of the property. + PropertyValue *DataValue `locationName:"propertyValue" 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 PropertyLatestValue) 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 PropertyLatestValue) GoString() string { + return s.String() +} + +// SetPropertyReference sets the PropertyReference field's value. +func (s *PropertyLatestValue) SetPropertyReference(v *EntityPropertyReference) *PropertyLatestValue { + s.PropertyReference = v + return s +} + +// SetPropertyValue sets the PropertyValue field's value. +func (s *PropertyLatestValue) SetPropertyValue(v *DataValue) *PropertyLatestValue { + s.PropertyValue = v + return s +} + +// An object that sets information about a property. +type PropertyRequest struct { + _ struct{} `type:"structure"` + + // An object that specifies information about a property. + Definition *PropertyDefinitionRequest `locationName:"definition" type:"structure"` + + // The update type of the update property request. + UpdateType *string `locationName:"updateType" type:"string" enum:"PropertyUpdateType"` + + // The value of the property. + Value *DataValue `locationName:"value" 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 PropertyRequest) 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 PropertyRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PropertyRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PropertyRequest"} + if s.Definition != nil { + if err := s.Definition.Validate(); err != nil { + invalidParams.AddNested("Definition", err.(request.ErrInvalidParams)) + } + } + if s.Value != nil { + if err := s.Value.Validate(); err != nil { + invalidParams.AddNested("Value", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefinition sets the Definition field's value. +func (s *PropertyRequest) SetDefinition(v *PropertyDefinitionRequest) *PropertyRequest { + s.Definition = v + return s +} + +// SetUpdateType sets the UpdateType field's value. +func (s *PropertyRequest) SetUpdateType(v string) *PropertyRequest { + s.UpdateType = &v + return s +} + +// SetValue sets the Value field's value. +func (s *PropertyRequest) SetValue(v *DataValue) *PropertyRequest { + s.Value = v + return s +} + +// An object that contains information about a property response. +type PropertyResponse struct { + _ struct{} `type:"structure"` + + // An object that specifies information about a property. + Definition *PropertyDefinitionResponse `locationName:"definition" type:"structure"` + + // The value of the property. + Value *DataValue `locationName:"value" 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 PropertyResponse) 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 PropertyResponse) GoString() string { + return s.String() +} + +// SetDefinition sets the Definition field's value. +func (s *PropertyResponse) SetDefinition(v *PropertyDefinitionResponse) *PropertyResponse { + s.Definition = v + return s +} + +// SetValue sets the Value field's value. +func (s *PropertyResponse) SetValue(v *DataValue) *PropertyResponse { + s.Value = v + return s +} + +// An object that contains information about a value for a time series property. +type PropertyValue struct { + _ struct{} `type:"structure"` + + // The timestamp of a value for a time series property. + // + // Timestamp is a required field + Timestamp *time.Time `locationName:"timestamp" type:"timestamp" required:"true"` + + // An object that specifies a value for a time series property. + // + // Value is a required field + Value *DataValue `locationName:"value" 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 PropertyValue) 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 PropertyValue) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PropertyValue) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PropertyValue"} + if s.Timestamp == nil { + invalidParams.Add(request.NewErrParamRequired("Timestamp")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil { + if err := s.Value.Validate(); err != nil { + invalidParams.AddNested("Value", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTimestamp sets the Timestamp field's value. +func (s *PropertyValue) SetTimestamp(v time.Time) *PropertyValue { + s.Timestamp = &v + return s +} + +// SetValue sets the Value field's value. +func (s *PropertyValue) SetValue(v *DataValue) *PropertyValue { + s.Value = v + return s +} + +// An object that specifies information about time series property values. +type PropertyValueEntry struct { + _ struct{} `type:"structure"` + + // An object that contains information about the entity that has the property. + // + // EntityPropertyReference is a required field + EntityPropertyReference *EntityPropertyReference `locationName:"entityPropertyReference" type:"structure" required:"true"` + + // A list of objects that specify time series property values. + PropertyValues []*PropertyValue `locationName:"propertyValues" min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PropertyValueEntry) 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 PropertyValueEntry) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PropertyValueEntry) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PropertyValueEntry"} + if s.EntityPropertyReference == nil { + invalidParams.Add(request.NewErrParamRequired("EntityPropertyReference")) + } + if s.PropertyValues != nil && len(s.PropertyValues) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PropertyValues", 1)) + } + if s.EntityPropertyReference != nil { + if err := s.EntityPropertyReference.Validate(); err != nil { + invalidParams.AddNested("EntityPropertyReference", err.(request.ErrInvalidParams)) + } + } + if s.PropertyValues != nil { + for i, v := range s.PropertyValues { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyValues", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEntityPropertyReference sets the EntityPropertyReference field's value. +func (s *PropertyValueEntry) SetEntityPropertyReference(v *EntityPropertyReference) *PropertyValueEntry { + s.EntityPropertyReference = v + return s +} + +// SetPropertyValues sets the PropertyValues field's value. +func (s *PropertyValueEntry) SetPropertyValues(v []*PropertyValue) *PropertyValueEntry { + s.PropertyValues = v + return s +} + +// The history of values for a time series property. +type PropertyValueHistory struct { + _ struct{} `type:"structure"` + + // An object that uniquely identifies an entity property. + // + // EntityPropertyReference is a required field + EntityPropertyReference *EntityPropertyReference `locationName:"entityPropertyReference" type:"structure" required:"true"` + + // A list of objects that contain information about the values in the history + // of a time series property. + Values []*PropertyValue `locationName:"values" 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 PropertyValueHistory) 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 PropertyValueHistory) GoString() string { + return s.String() +} + +// SetEntityPropertyReference sets the EntityPropertyReference field's value. +func (s *PropertyValueHistory) SetEntityPropertyReference(v *EntityPropertyReference) *PropertyValueHistory { + s.EntityPropertyReference = v + return s +} + +// SetValues sets the Values field's value. +func (s *PropertyValueHistory) SetValues(v []*PropertyValue) *PropertyValueHistory { + s.Values = v + return s +} + +// An object that specifies a relationship with another component type. +type Relationship struct { + _ struct{} `type:"structure"` + + // The type of the relationship. + RelationshipType *string `locationName:"relationshipType" min:"1" type:"string"` + + // The ID of the target component type associated with this relationship. + TargetComponentTypeId *string `locationName:"targetComponentTypeId" 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 Relationship) 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 Relationship) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Relationship) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Relationship"} + if s.RelationshipType != nil && len(*s.RelationshipType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RelationshipType", 1)) + } + if s.TargetComponentTypeId != nil && len(*s.TargetComponentTypeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetComponentTypeId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRelationshipType sets the RelationshipType field's value. +func (s *Relationship) SetRelationshipType(v string) *Relationship { + s.RelationshipType = &v + return s +} + +// SetTargetComponentTypeId sets the TargetComponentTypeId field's value. +func (s *Relationship) SetTargetComponentTypeId(v string) *Relationship { + s.TargetComponentTypeId = &v + return s +} + +// A value that associates a component and an entity. +type RelationshipValue struct { + _ struct{} `type:"structure"` + + // The name of the target component associated with the relationship value. + TargetComponentName *string `locationName:"targetComponentName" min:"1" type:"string"` + + // The ID of the target entity associated with this relationship value. + TargetEntityId *string `locationName:"targetEntityId" 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 RelationshipValue) 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 RelationshipValue) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RelationshipValue) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RelationshipValue"} + if s.TargetComponentName != nil && len(*s.TargetComponentName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetComponentName", 1)) + } + if s.TargetEntityId != nil && len(*s.TargetEntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TargetEntityId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTargetComponentName sets the TargetComponentName field's value. +func (s *RelationshipValue) SetTargetComponentName(v string) *RelationshipValue { + s.TargetComponentName = &v + return s +} + +// SetTargetEntityId sets the TargetEntityId field's value. +func (s *RelationshipValue) SetTargetEntityId(v string) *RelationshipValue { + s.TargetEntityId = &v + return s +} + +// The resource wasn't found. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// An object that contains information about a scene. +type SceneSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the scene. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The relative path that specifies the location of the content definition file. + // + // ContentLocation is a required field + ContentLocation *string `locationName:"contentLocation" type:"string" required:"true"` + + // The date and time when the scene was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` + + // The scene description. + Description *string `locationName:"description" type:"string"` + + // The ID of the scene. + // + // SceneId is a required field + SceneId *string `locationName:"sceneId" min:"1" type:"string" required:"true"` + + // The date and time when the scene was last updated. + // + // UpdateDateTime is a required field + UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" 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 SceneSummary) 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 SceneSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *SceneSummary) SetArn(v string) *SceneSummary { + s.Arn = &v + return s +} + +// SetContentLocation sets the ContentLocation field's value. +func (s *SceneSummary) SetContentLocation(v string) *SceneSummary { + s.ContentLocation = &v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *SceneSummary) SetCreationDateTime(v time.Time) *SceneSummary { + s.CreationDateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *SceneSummary) SetDescription(v string) *SceneSummary { + s.Description = &v + return s +} + +// SetSceneId sets the SceneId field's value. +func (s *SceneSummary) SetSceneId(v string) *SceneSummary { + s.SceneId = &v + return s +} + +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *SceneSummary) SetUpdateDateTime(v time.Time) *SceneSummary { + s.UpdateDateTime = &v + return s +} + +// The service quota was exceeded. +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceQuotaExceededException) 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 ServiceQuotaExceededException) GoString() string { + return s.String() +} + +func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { + return &ServiceQuotaExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceQuotaExceededException) Code() string { + return "ServiceQuotaExceededException" +} + +// Message returns the exception's message. +func (s *ServiceQuotaExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceQuotaExceededException) OrigErr() error { + return nil +} + +func (s *ServiceQuotaExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ServiceQuotaExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceQuotaExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +// An object that represents the status of an entity, component, component type, +// or workspace. +type Status struct { + _ struct{} `type:"structure"` + + // The error message. + Error *ErrorDetails `locationName:"error" type:"structure"` + + // The current state of the entity, component, component type, or workspace. + State *string `locationName:"state" type:"string" enum:"State"` +} + +// 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 Status) 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 Status) GoString() string { + return s.String() +} + +// SetError sets the Error field's value. +func (s *Status) SetError(v *ErrorDetails) *Status { + s.Error = v + return s +} + +// SetState sets the State field's value. +func (s *Status) SetState(v string) *Status { + s.State = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The ARN of the resource. + // + // ResourceARN is a required field + ResourceARN *string `locationName:"resourceARN" min:"20" type:"string" required:"true"` + + // Metadata to add to this resource. + // + // Tags is a required field + Tags map[string]*string `locationName:"tags" type:"map" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 20)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput { + s.ResourceARN = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// The rate exceeds the limit. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) GoString() string { + return s.String() +} + +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +func (s *ThrottlingException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The number of tags exceeds the limit. +type TooManyTagsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TooManyTagsException) 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 TooManyTagsException) GoString() string { + return s.String() +} + +func newErrorTooManyTagsException(v protocol.ResponseMetadata) error { + return &TooManyTagsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *TooManyTagsException) Code() string { + return "TooManyTagsException" +} + +// Message returns the exception's message. +func (s *TooManyTagsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *TooManyTagsException) OrigErr() error { + return nil +} + +func (s *TooManyTagsException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *TooManyTagsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *TooManyTagsException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UntagResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the resource. + // + // ResourceARN is a required field + ResourceARN *string `location:"querystring" locationName:"resourceARN" min:"20" type:"string" required:"true"` + + // A list of tag key names to remove from the resource. You don't specify the + // value. Both the key and its associated value are removed. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceARN == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceARN")) + } + if s.ResourceARN != nil && len(*s.ResourceARN) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 20)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceARN sets the ResourceARN field's value. +func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput { + s.ResourceARN = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateComponentTypeInput struct { + _ struct{} `type:"structure"` + + // The ID of the component type. + // + // ComponentTypeId is a required field + ComponentTypeId *string `location:"uri" locationName:"componentTypeId" min:"1" type:"string" required:"true"` + + // The description of the component type. + Description *string `locationName:"description" type:"string"` + + // Specifies the component type that this component type extends. + ExtendsFrom []*string `locationName:"extendsFrom" type:"list"` + + // An object that maps strings to the functions in the component type. Each + // string in the mapping must be unique to this object. + Functions map[string]*FunctionRequest `locationName:"functions" type:"map"` + + // A Boolean value that specifies whether an entity can have more than one component + // of this type. + IsSingleton *bool `locationName:"isSingleton" type:"boolean"` + + // An object that maps strings to the property definitions in the component + // type. Each string in the mapping must be unique to this object. + PropertyDefinitions map[string]*PropertyDefinitionRequest `locationName:"propertyDefinitions" type:"map"` + + // The ID of the workspace that contains the component type. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 UpdateComponentTypeInput) 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 UpdateComponentTypeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateComponentTypeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateComponentTypeInput"} + if s.ComponentTypeId == nil { + invalidParams.Add(request.NewErrParamRequired("ComponentTypeId")) + } + if s.ComponentTypeId != nil && len(*s.ComponentTypeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ComponentTypeId", 1)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + if s.Functions != nil { + for i, v := range s.Functions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Functions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.PropertyDefinitions != nil { + for i, v := range s.PropertyDefinitions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "PropertyDefinitions", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *UpdateComponentTypeInput) SetComponentTypeId(v string) *UpdateComponentTypeInput { + s.ComponentTypeId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateComponentTypeInput) SetDescription(v string) *UpdateComponentTypeInput { + s.Description = &v + return s +} + +// SetExtendsFrom sets the ExtendsFrom field's value. +func (s *UpdateComponentTypeInput) SetExtendsFrom(v []*string) *UpdateComponentTypeInput { + s.ExtendsFrom = v + return s +} + +// SetFunctions sets the Functions field's value. +func (s *UpdateComponentTypeInput) SetFunctions(v map[string]*FunctionRequest) *UpdateComponentTypeInput { + s.Functions = v + return s +} + +// SetIsSingleton sets the IsSingleton field's value. +func (s *UpdateComponentTypeInput) SetIsSingleton(v bool) *UpdateComponentTypeInput { + s.IsSingleton = &v + return s +} + +// SetPropertyDefinitions sets the PropertyDefinitions field's value. +func (s *UpdateComponentTypeInput) SetPropertyDefinitions(v map[string]*PropertyDefinitionRequest) *UpdateComponentTypeInput { + s.PropertyDefinitions = v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *UpdateComponentTypeInput) SetWorkspaceId(v string) *UpdateComponentTypeInput { + s.WorkspaceId = &v + return s +} + +type UpdateComponentTypeOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the component type. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The ID of the component type. + // + // ComponentTypeId is a required field + ComponentTypeId *string `locationName:"componentTypeId" min:"1" type:"string" required:"true"` + + // The current state of the component type. + // + // State is a required field + State *string `locationName:"state" type:"string" required:"true" enum:"State"` + + // The ID of the workspace that contains the component type. + // + // WorkspaceId is a required field + WorkspaceId *string `locationName:"workspaceId" 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 UpdateComponentTypeOutput) 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 UpdateComponentTypeOutput) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *UpdateComponentTypeOutput) SetArn(v string) *UpdateComponentTypeOutput { + s.Arn = &v + return s +} + +// SetComponentTypeId sets the ComponentTypeId field's value. +func (s *UpdateComponentTypeOutput) SetComponentTypeId(v string) *UpdateComponentTypeOutput { + s.ComponentTypeId = &v + return s +} + +// SetState sets the State field's value. +func (s *UpdateComponentTypeOutput) SetState(v string) *UpdateComponentTypeOutput { + s.State = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *UpdateComponentTypeOutput) SetWorkspaceId(v string) *UpdateComponentTypeOutput { + s.WorkspaceId = &v + return s +} + +type UpdateEntityInput struct { + _ struct{} `type:"structure"` + + // An object that maps strings to the component updates in the request. Each + // string in the mapping must be unique to this object. + ComponentUpdates map[string]*ComponentUpdateRequest `locationName:"componentUpdates" type:"map"` + + // The description of the entity. + Description *string `locationName:"description" type:"string"` + + // The ID of the entity. + // + // EntityId is a required field + EntityId *string `location:"uri" locationName:"entityId" min:"1" type:"string" required:"true"` + + // The name of the entity. + EntityName *string `locationName:"entityName" min:"1" type:"string"` + + // An object that describes the update request for a parent entity. + ParentEntityUpdate *ParentEntityUpdateRequest `locationName:"parentEntityUpdate" type:"structure"` + + // The ID of the workspace that contains the entity. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 UpdateEntityInput) 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 UpdateEntityInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateEntityInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateEntityInput"} + if s.EntityId == nil { + invalidParams.Add(request.NewErrParamRequired("EntityId")) + } + if s.EntityId != nil && len(*s.EntityId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntityId", 1)) + } + if s.EntityName != nil && len(*s.EntityName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EntityName", 1)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + if s.ComponentUpdates != nil { + for i, v := range s.ComponentUpdates { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComponentUpdates", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ParentEntityUpdate != nil { + if err := s.ParentEntityUpdate.Validate(); err != nil { + invalidParams.AddNested("ParentEntityUpdate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComponentUpdates sets the ComponentUpdates field's value. +func (s *UpdateEntityInput) SetComponentUpdates(v map[string]*ComponentUpdateRequest) *UpdateEntityInput { + s.ComponentUpdates = v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateEntityInput) SetDescription(v string) *UpdateEntityInput { + s.Description = &v + return s +} + +// SetEntityId sets the EntityId field's value. +func (s *UpdateEntityInput) SetEntityId(v string) *UpdateEntityInput { + s.EntityId = &v + return s +} + +// SetEntityName sets the EntityName field's value. +func (s *UpdateEntityInput) SetEntityName(v string) *UpdateEntityInput { + s.EntityName = &v + return s +} + +// SetParentEntityUpdate sets the ParentEntityUpdate field's value. +func (s *UpdateEntityInput) SetParentEntityUpdate(v *ParentEntityUpdateRequest) *UpdateEntityInput { + s.ParentEntityUpdate = v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *UpdateEntityInput) SetWorkspaceId(v string) *UpdateEntityInput { + s.WorkspaceId = &v + return s +} + +type UpdateEntityOutput struct { + _ struct{} `type:"structure"` + + // The current state of the entity update. + // + // State is a required field + State *string `locationName:"state" type:"string" required:"true" enum:"State"` + + // The date and time when the entity was last updated. + // + // UpdateDateTime is a required field + UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" 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 UpdateEntityOutput) 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 UpdateEntityOutput) GoString() string { + return s.String() +} + +// SetState sets the State field's value. +func (s *UpdateEntityOutput) SetState(v string) *UpdateEntityOutput { + s.State = &v + return s +} + +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *UpdateEntityOutput) SetUpdateDateTime(v time.Time) *UpdateEntityOutput { + s.UpdateDateTime = &v + return s +} + +type UpdateSceneInput struct { + _ struct{} `type:"structure"` + + // A list of capabilities that the scene uses to render. + Capabilities []*string `locationName:"capabilities" type:"list"` + + // The relative path that specifies the location of the content definition file. + ContentLocation *string `locationName:"contentLocation" type:"string"` + + // The description of this scene. + Description *string `locationName:"description" type:"string"` + + // The ID of the scene. + // + // SceneId is a required field + SceneId *string `location:"uri" locationName:"sceneId" min:"1" type:"string" required:"true"` + + // The ID of the workspace that contains the scene. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 UpdateSceneInput) 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 UpdateSceneInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateSceneInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateSceneInput"} + if s.SceneId == nil { + invalidParams.Add(request.NewErrParamRequired("SceneId")) + } + if s.SceneId != nil && len(*s.SceneId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SceneId", 1)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCapabilities sets the Capabilities field's value. +func (s *UpdateSceneInput) SetCapabilities(v []*string) *UpdateSceneInput { + s.Capabilities = v + return s +} + +// SetContentLocation sets the ContentLocation field's value. +func (s *UpdateSceneInput) SetContentLocation(v string) *UpdateSceneInput { + s.ContentLocation = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateSceneInput) SetDescription(v string) *UpdateSceneInput { + s.Description = &v + return s +} + +// SetSceneId sets the SceneId field's value. +func (s *UpdateSceneInput) SetSceneId(v string) *UpdateSceneInput { + s.SceneId = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *UpdateSceneInput) SetWorkspaceId(v string) *UpdateSceneInput { + s.WorkspaceId = &v + return s +} + +type UpdateSceneOutput struct { + _ struct{} `type:"structure"` + + // The date and time when the scene was last updated. + // + // UpdateDateTime is a required field + UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" 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 UpdateSceneOutput) 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 UpdateSceneOutput) GoString() string { + return s.String() +} + +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *UpdateSceneOutput) SetUpdateDateTime(v time.Time) *UpdateSceneOutput { + s.UpdateDateTime = &v + return s +} + +type UpdateWorkspaceInput struct { + _ struct{} `type:"structure"` + + // The description of the workspace. + Description *string `locationName:"description" type:"string"` + + // The ARN of the execution role associated with the workspace. + Role *string `locationName:"role" min:"20" type:"string"` + + // The ID of the workspace. + // + // WorkspaceId is a required field + WorkspaceId *string `location:"uri" locationName:"workspaceId" 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 UpdateWorkspaceInput) 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 UpdateWorkspaceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateWorkspaceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateWorkspaceInput"} + if s.Role != nil && len(*s.Role) < 20 { + invalidParams.Add(request.NewErrParamMinLen("Role", 20)) + } + if s.WorkspaceId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkspaceId")) + } + if s.WorkspaceId != nil && len(*s.WorkspaceId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkspaceId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateWorkspaceInput) SetDescription(v string) *UpdateWorkspaceInput { + s.Description = &v + return s +} + +// SetRole sets the Role field's value. +func (s *UpdateWorkspaceInput) SetRole(v string) *UpdateWorkspaceInput { + s.Role = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *UpdateWorkspaceInput) SetWorkspaceId(v string) *UpdateWorkspaceInput { + s.WorkspaceId = &v + return s +} + +type UpdateWorkspaceOutput struct { + _ struct{} `type:"structure"` + + // The date and time of the current update. + // + // UpdateDateTime is a required field + UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" 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 UpdateWorkspaceOutput) 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 UpdateWorkspaceOutput) GoString() string { + return s.String() +} + +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *UpdateWorkspaceOutput) SetUpdateDateTime(v time.Time) *UpdateWorkspaceOutput { + s.UpdateDateTime = &v + return s +} + +// Failed +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} + +// An object that contains information about a workspace. +type WorkspaceSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the workspace. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"20" type:"string" required:"true"` + + // The date and time when the workspace was created. + // + // CreationDateTime is a required field + CreationDateTime *time.Time `locationName:"creationDateTime" type:"timestamp" required:"true"` + + // The description of the workspace. + Description *string `locationName:"description" type:"string"` + + // The date and time when the workspace was last updated. + // + // UpdateDateTime is a required field + UpdateDateTime *time.Time `locationName:"updateDateTime" type:"timestamp" required:"true"` + + // The ID of the workspace. + // + // WorkspaceId is a required field + WorkspaceId *string `locationName:"workspaceId" 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 WorkspaceSummary) 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 WorkspaceSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *WorkspaceSummary) SetArn(v string) *WorkspaceSummary { + s.Arn = &v + return s +} + +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *WorkspaceSummary) SetCreationDateTime(v time.Time) *WorkspaceSummary { + s.CreationDateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *WorkspaceSummary) SetDescription(v string) *WorkspaceSummary { + s.Description = &v + return s +} + +// SetUpdateDateTime sets the UpdateDateTime field's value. +func (s *WorkspaceSummary) SetUpdateDateTime(v time.Time) *WorkspaceSummary { + s.UpdateDateTime = &v + return s +} + +// SetWorkspaceId sets the WorkspaceId field's value. +func (s *WorkspaceSummary) SetWorkspaceId(v string) *WorkspaceSummary { + s.WorkspaceId = &v + return s +} + +const ( + // ComponentUpdateTypeCreate is a ComponentUpdateType enum value + ComponentUpdateTypeCreate = "CREATE" + + // ComponentUpdateTypeUpdate is a ComponentUpdateType enum value + ComponentUpdateTypeUpdate = "UPDATE" + + // ComponentUpdateTypeDelete is a ComponentUpdateType enum value + ComponentUpdateTypeDelete = "DELETE" +) + +// ComponentUpdateType_Values returns all elements of the ComponentUpdateType enum +func ComponentUpdateType_Values() []string { + return []string{ + ComponentUpdateTypeCreate, + ComponentUpdateTypeUpdate, + ComponentUpdateTypeDelete, + } +} + +const ( + // ErrorCodeValidationError is a ErrorCode enum value + ErrorCodeValidationError = "VALIDATION_ERROR" + + // ErrorCodeInternalFailure is a ErrorCode enum value + ErrorCodeInternalFailure = "INTERNAL_FAILURE" +) + +// ErrorCode_Values returns all elements of the ErrorCode enum +func ErrorCode_Values() []string { + return []string{ + ErrorCodeValidationError, + ErrorCodeInternalFailure, + } +} + +const ( + // InterpolationTypeLinear is a InterpolationType enum value + InterpolationTypeLinear = "LINEAR" +) + +// InterpolationType_Values returns all elements of the InterpolationType enum +func InterpolationType_Values() []string { + return []string{ + InterpolationTypeLinear, + } +} + +const ( + // OrderByTimeAscending is a OrderByTime enum value + OrderByTimeAscending = "ASCENDING" + + // OrderByTimeDescending is a OrderByTime enum value + OrderByTimeDescending = "DESCENDING" +) + +// OrderByTime_Values returns all elements of the OrderByTime enum +func OrderByTime_Values() []string { + return []string{ + OrderByTimeAscending, + OrderByTimeDescending, + } +} + +const ( + // ParentEntityUpdateTypeUpdate is a ParentEntityUpdateType enum value + ParentEntityUpdateTypeUpdate = "UPDATE" + + // ParentEntityUpdateTypeDelete is a ParentEntityUpdateType enum value + ParentEntityUpdateTypeDelete = "DELETE" +) + +// ParentEntityUpdateType_Values returns all elements of the ParentEntityUpdateType enum +func ParentEntityUpdateType_Values() []string { + return []string{ + ParentEntityUpdateTypeUpdate, + ParentEntityUpdateTypeDelete, + } +} + +const ( + // PropertyUpdateTypeUpdate is a PropertyUpdateType enum value + PropertyUpdateTypeUpdate = "UPDATE" + + // PropertyUpdateTypeDelete is a PropertyUpdateType enum value + PropertyUpdateTypeDelete = "DELETE" +) + +// PropertyUpdateType_Values returns all elements of the PropertyUpdateType enum +func PropertyUpdateType_Values() []string { + return []string{ + PropertyUpdateTypeUpdate, + PropertyUpdateTypeDelete, + } +} + +const ( + // ScopeEntity is a Scope enum value + ScopeEntity = "ENTITY" + + // ScopeWorkspace is a Scope enum value + ScopeWorkspace = "WORKSPACE" +) + +// Scope_Values returns all elements of the Scope enum +func Scope_Values() []string { + return []string{ + ScopeEntity, + ScopeWorkspace, + } +} + +const ( + // StateCreating is a State enum value + StateCreating = "CREATING" + + // StateUpdating is a State enum value + StateUpdating = "UPDATING" + + // StateDeleting is a State enum value + StateDeleting = "DELETING" + + // StateActive is a State enum value + StateActive = "ACTIVE" + + // StateError is a State enum value + StateError = "ERROR" +) + +// State_Values returns all elements of the State enum +func State_Values() []string { + return []string{ + StateCreating, + StateUpdating, + StateDeleting, + StateActive, + StateError, + } +} + +const ( + // TypeRelationship is a Type enum value + TypeRelationship = "RELATIONSHIP" + + // TypeString is a Type enum value + TypeString = "STRING" + + // TypeLong is a Type enum value + TypeLong = "LONG" + + // TypeBoolean is a Type enum value + TypeBoolean = "BOOLEAN" + + // TypeInteger is a Type enum value + TypeInteger = "INTEGER" + + // TypeDouble is a Type enum value + TypeDouble = "DOUBLE" + + // TypeList is a Type enum value + TypeList = "LIST" + + // TypeMap is a Type enum value + TypeMap = "MAP" +) + +// Type_Values returns all elements of the Type enum +func Type_Values() []string { + return []string{ + TypeRelationship, + TypeString, + TypeLong, + TypeBoolean, + TypeInteger, + TypeDouble, + TypeList, + TypeMap, + } +} diff --git a/service/iottwinmaker/doc.go b/service/iottwinmaker/doc.go new file mode 100644 index 00000000000..3fe367323fa --- /dev/null +++ b/service/iottwinmaker/doc.go @@ -0,0 +1,36 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package iottwinmaker provides the client and types for making API +// requests to AWS IoT TwinMaker. +// +// +// TwinMaker is in public preview and is subject to change. +// +// IoT TwinMaker is a service that enables you to build operational digital +// twins of physical systems. IoT TwinMaker overlays measurements and analysis +// from real-world sensors, cameras, and enterprise applications so you can +// create data visualizations to monitor your physical factory, building, or +// industrial plant. You can use this real-world data to monitor operations +// and diagnose and repair errors. +// +// See https://docs.aws.amazon.com/goto/WebAPI/iottwinmaker-2021-11-29 for more information on this service. +// +// See iottwinmaker package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/iottwinmaker/ +// +// Using the Client +// +// To contact AWS IoT TwinMaker with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the AWS IoT TwinMaker client IoTTwinMaker for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/iottwinmaker/#New +package iottwinmaker diff --git a/service/iottwinmaker/errors.go b/service/iottwinmaker/errors.go new file mode 100644 index 00000000000..2294956c765 --- /dev/null +++ b/service/iottwinmaker/errors.go @@ -0,0 +1,83 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package iottwinmaker + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // Access is denied. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // A conflict occurred. + ErrCodeConflictException = "ConflictException" + + // ErrCodeConnectorFailureException for service response error code + // "ConnectorFailureException". + // + // The connector failed. + ErrCodeConnectorFailureException = "ConnectorFailureException" + + // ErrCodeConnectorTimeoutException for service response error code + // "ConnectorTimeoutException". + // + // The connector timed out. + ErrCodeConnectorTimeoutException = "ConnectorTimeoutException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // An unexpected error has occurred. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // The resource wasn't found. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeServiceQuotaExceededException for service response error code + // "ServiceQuotaExceededException". + // + // The service quota was exceeded. + ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // The rate exceeds the limit. + ErrCodeThrottlingException = "ThrottlingException" + + // ErrCodeTooManyTagsException for service response error code + // "TooManyTagsException". + // + // The number of tags exceeds the limit. + ErrCodeTooManyTagsException = "TooManyTagsException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // Failed + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, + "ConnectorFailureException": newErrorConnectorFailureException, + "ConnectorTimeoutException": newErrorConnectorTimeoutException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, + "ThrottlingException": newErrorThrottlingException, + "TooManyTagsException": newErrorTooManyTagsException, + "ValidationException": newErrorValidationException, +} diff --git a/service/iottwinmaker/iottwinmakeriface/interface.go b/service/iottwinmaker/iottwinmakeriface/interface.go new file mode 100644 index 00000000000..48ba3dd2792 --- /dev/null +++ b/service/iottwinmaker/iottwinmakeriface/interface.go @@ -0,0 +1,183 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package iottwinmakeriface provides an interface to enable mocking the AWS IoT TwinMaker service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package iottwinmakeriface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/iottwinmaker" +) + +// IoTTwinMakerAPI provides an interface to enable mocking the +// iottwinmaker.IoTTwinMaker service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // AWS IoT TwinMaker. +// func myFunc(svc iottwinmakeriface.IoTTwinMakerAPI) bool { +// // Make svc.BatchPutPropertyValues request +// } +// +// func main() { +// sess := session.New() +// svc := iottwinmaker.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockIoTTwinMakerClient struct { +// iottwinmakeriface.IoTTwinMakerAPI +// } +// func (m *mockIoTTwinMakerClient) BatchPutPropertyValues(input *iottwinmaker.BatchPutPropertyValuesInput) (*iottwinmaker.BatchPutPropertyValuesOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockIoTTwinMakerClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type IoTTwinMakerAPI interface { + BatchPutPropertyValues(*iottwinmaker.BatchPutPropertyValuesInput) (*iottwinmaker.BatchPutPropertyValuesOutput, error) + BatchPutPropertyValuesWithContext(aws.Context, *iottwinmaker.BatchPutPropertyValuesInput, ...request.Option) (*iottwinmaker.BatchPutPropertyValuesOutput, error) + BatchPutPropertyValuesRequest(*iottwinmaker.BatchPutPropertyValuesInput) (*request.Request, *iottwinmaker.BatchPutPropertyValuesOutput) + + CreateComponentType(*iottwinmaker.CreateComponentTypeInput) (*iottwinmaker.CreateComponentTypeOutput, error) + CreateComponentTypeWithContext(aws.Context, *iottwinmaker.CreateComponentTypeInput, ...request.Option) (*iottwinmaker.CreateComponentTypeOutput, error) + CreateComponentTypeRequest(*iottwinmaker.CreateComponentTypeInput) (*request.Request, *iottwinmaker.CreateComponentTypeOutput) + + CreateEntity(*iottwinmaker.CreateEntityInput) (*iottwinmaker.CreateEntityOutput, error) + CreateEntityWithContext(aws.Context, *iottwinmaker.CreateEntityInput, ...request.Option) (*iottwinmaker.CreateEntityOutput, error) + CreateEntityRequest(*iottwinmaker.CreateEntityInput) (*request.Request, *iottwinmaker.CreateEntityOutput) + + CreateScene(*iottwinmaker.CreateSceneInput) (*iottwinmaker.CreateSceneOutput, error) + CreateSceneWithContext(aws.Context, *iottwinmaker.CreateSceneInput, ...request.Option) (*iottwinmaker.CreateSceneOutput, error) + CreateSceneRequest(*iottwinmaker.CreateSceneInput) (*request.Request, *iottwinmaker.CreateSceneOutput) + + CreateWorkspace(*iottwinmaker.CreateWorkspaceInput) (*iottwinmaker.CreateWorkspaceOutput, error) + CreateWorkspaceWithContext(aws.Context, *iottwinmaker.CreateWorkspaceInput, ...request.Option) (*iottwinmaker.CreateWorkspaceOutput, error) + CreateWorkspaceRequest(*iottwinmaker.CreateWorkspaceInput) (*request.Request, *iottwinmaker.CreateWorkspaceOutput) + + DeleteComponentType(*iottwinmaker.DeleteComponentTypeInput) (*iottwinmaker.DeleteComponentTypeOutput, error) + DeleteComponentTypeWithContext(aws.Context, *iottwinmaker.DeleteComponentTypeInput, ...request.Option) (*iottwinmaker.DeleteComponentTypeOutput, error) + DeleteComponentTypeRequest(*iottwinmaker.DeleteComponentTypeInput) (*request.Request, *iottwinmaker.DeleteComponentTypeOutput) + + DeleteEntity(*iottwinmaker.DeleteEntityInput) (*iottwinmaker.DeleteEntityOutput, error) + DeleteEntityWithContext(aws.Context, *iottwinmaker.DeleteEntityInput, ...request.Option) (*iottwinmaker.DeleteEntityOutput, error) + DeleteEntityRequest(*iottwinmaker.DeleteEntityInput) (*request.Request, *iottwinmaker.DeleteEntityOutput) + + DeleteScene(*iottwinmaker.DeleteSceneInput) (*iottwinmaker.DeleteSceneOutput, error) + DeleteSceneWithContext(aws.Context, *iottwinmaker.DeleteSceneInput, ...request.Option) (*iottwinmaker.DeleteSceneOutput, error) + DeleteSceneRequest(*iottwinmaker.DeleteSceneInput) (*request.Request, *iottwinmaker.DeleteSceneOutput) + + DeleteWorkspace(*iottwinmaker.DeleteWorkspaceInput) (*iottwinmaker.DeleteWorkspaceOutput, error) + DeleteWorkspaceWithContext(aws.Context, *iottwinmaker.DeleteWorkspaceInput, ...request.Option) (*iottwinmaker.DeleteWorkspaceOutput, error) + DeleteWorkspaceRequest(*iottwinmaker.DeleteWorkspaceInput) (*request.Request, *iottwinmaker.DeleteWorkspaceOutput) + + GetComponentType(*iottwinmaker.GetComponentTypeInput) (*iottwinmaker.GetComponentTypeOutput, error) + GetComponentTypeWithContext(aws.Context, *iottwinmaker.GetComponentTypeInput, ...request.Option) (*iottwinmaker.GetComponentTypeOutput, error) + GetComponentTypeRequest(*iottwinmaker.GetComponentTypeInput) (*request.Request, *iottwinmaker.GetComponentTypeOutput) + + GetEntity(*iottwinmaker.GetEntityInput) (*iottwinmaker.GetEntityOutput, error) + GetEntityWithContext(aws.Context, *iottwinmaker.GetEntityInput, ...request.Option) (*iottwinmaker.GetEntityOutput, error) + GetEntityRequest(*iottwinmaker.GetEntityInput) (*request.Request, *iottwinmaker.GetEntityOutput) + + GetPropertyValue(*iottwinmaker.GetPropertyValueInput) (*iottwinmaker.GetPropertyValueOutput, error) + GetPropertyValueWithContext(aws.Context, *iottwinmaker.GetPropertyValueInput, ...request.Option) (*iottwinmaker.GetPropertyValueOutput, error) + GetPropertyValueRequest(*iottwinmaker.GetPropertyValueInput) (*request.Request, *iottwinmaker.GetPropertyValueOutput) + + GetPropertyValueHistory(*iottwinmaker.GetPropertyValueHistoryInput) (*iottwinmaker.GetPropertyValueHistoryOutput, error) + GetPropertyValueHistoryWithContext(aws.Context, *iottwinmaker.GetPropertyValueHistoryInput, ...request.Option) (*iottwinmaker.GetPropertyValueHistoryOutput, error) + GetPropertyValueHistoryRequest(*iottwinmaker.GetPropertyValueHistoryInput) (*request.Request, *iottwinmaker.GetPropertyValueHistoryOutput) + + GetPropertyValueHistoryPages(*iottwinmaker.GetPropertyValueHistoryInput, func(*iottwinmaker.GetPropertyValueHistoryOutput, bool) bool) error + GetPropertyValueHistoryPagesWithContext(aws.Context, *iottwinmaker.GetPropertyValueHistoryInput, func(*iottwinmaker.GetPropertyValueHistoryOutput, bool) bool, ...request.Option) error + + GetScene(*iottwinmaker.GetSceneInput) (*iottwinmaker.GetSceneOutput, error) + GetSceneWithContext(aws.Context, *iottwinmaker.GetSceneInput, ...request.Option) (*iottwinmaker.GetSceneOutput, error) + GetSceneRequest(*iottwinmaker.GetSceneInput) (*request.Request, *iottwinmaker.GetSceneOutput) + + GetWorkspace(*iottwinmaker.GetWorkspaceInput) (*iottwinmaker.GetWorkspaceOutput, error) + GetWorkspaceWithContext(aws.Context, *iottwinmaker.GetWorkspaceInput, ...request.Option) (*iottwinmaker.GetWorkspaceOutput, error) + GetWorkspaceRequest(*iottwinmaker.GetWorkspaceInput) (*request.Request, *iottwinmaker.GetWorkspaceOutput) + + ListComponentTypes(*iottwinmaker.ListComponentTypesInput) (*iottwinmaker.ListComponentTypesOutput, error) + ListComponentTypesWithContext(aws.Context, *iottwinmaker.ListComponentTypesInput, ...request.Option) (*iottwinmaker.ListComponentTypesOutput, error) + ListComponentTypesRequest(*iottwinmaker.ListComponentTypesInput) (*request.Request, *iottwinmaker.ListComponentTypesOutput) + + ListComponentTypesPages(*iottwinmaker.ListComponentTypesInput, func(*iottwinmaker.ListComponentTypesOutput, bool) bool) error + ListComponentTypesPagesWithContext(aws.Context, *iottwinmaker.ListComponentTypesInput, func(*iottwinmaker.ListComponentTypesOutput, bool) bool, ...request.Option) error + + ListEntities(*iottwinmaker.ListEntitiesInput) (*iottwinmaker.ListEntitiesOutput, error) + ListEntitiesWithContext(aws.Context, *iottwinmaker.ListEntitiesInput, ...request.Option) (*iottwinmaker.ListEntitiesOutput, error) + ListEntitiesRequest(*iottwinmaker.ListEntitiesInput) (*request.Request, *iottwinmaker.ListEntitiesOutput) + + ListEntitiesPages(*iottwinmaker.ListEntitiesInput, func(*iottwinmaker.ListEntitiesOutput, bool) bool) error + ListEntitiesPagesWithContext(aws.Context, *iottwinmaker.ListEntitiesInput, func(*iottwinmaker.ListEntitiesOutput, bool) bool, ...request.Option) error + + ListScenes(*iottwinmaker.ListScenesInput) (*iottwinmaker.ListScenesOutput, error) + ListScenesWithContext(aws.Context, *iottwinmaker.ListScenesInput, ...request.Option) (*iottwinmaker.ListScenesOutput, error) + ListScenesRequest(*iottwinmaker.ListScenesInput) (*request.Request, *iottwinmaker.ListScenesOutput) + + ListScenesPages(*iottwinmaker.ListScenesInput, func(*iottwinmaker.ListScenesOutput, bool) bool) error + ListScenesPagesWithContext(aws.Context, *iottwinmaker.ListScenesInput, func(*iottwinmaker.ListScenesOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*iottwinmaker.ListTagsForResourceInput) (*iottwinmaker.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *iottwinmaker.ListTagsForResourceInput, ...request.Option) (*iottwinmaker.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*iottwinmaker.ListTagsForResourceInput) (*request.Request, *iottwinmaker.ListTagsForResourceOutput) + + ListWorkspaces(*iottwinmaker.ListWorkspacesInput) (*iottwinmaker.ListWorkspacesOutput, error) + ListWorkspacesWithContext(aws.Context, *iottwinmaker.ListWorkspacesInput, ...request.Option) (*iottwinmaker.ListWorkspacesOutput, error) + ListWorkspacesRequest(*iottwinmaker.ListWorkspacesInput) (*request.Request, *iottwinmaker.ListWorkspacesOutput) + + ListWorkspacesPages(*iottwinmaker.ListWorkspacesInput, func(*iottwinmaker.ListWorkspacesOutput, bool) bool) error + ListWorkspacesPagesWithContext(aws.Context, *iottwinmaker.ListWorkspacesInput, func(*iottwinmaker.ListWorkspacesOutput, bool) bool, ...request.Option) error + + TagResource(*iottwinmaker.TagResourceInput) (*iottwinmaker.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *iottwinmaker.TagResourceInput, ...request.Option) (*iottwinmaker.TagResourceOutput, error) + TagResourceRequest(*iottwinmaker.TagResourceInput) (*request.Request, *iottwinmaker.TagResourceOutput) + + UntagResource(*iottwinmaker.UntagResourceInput) (*iottwinmaker.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *iottwinmaker.UntagResourceInput, ...request.Option) (*iottwinmaker.UntagResourceOutput, error) + UntagResourceRequest(*iottwinmaker.UntagResourceInput) (*request.Request, *iottwinmaker.UntagResourceOutput) + + UpdateComponentType(*iottwinmaker.UpdateComponentTypeInput) (*iottwinmaker.UpdateComponentTypeOutput, error) + UpdateComponentTypeWithContext(aws.Context, *iottwinmaker.UpdateComponentTypeInput, ...request.Option) (*iottwinmaker.UpdateComponentTypeOutput, error) + UpdateComponentTypeRequest(*iottwinmaker.UpdateComponentTypeInput) (*request.Request, *iottwinmaker.UpdateComponentTypeOutput) + + UpdateEntity(*iottwinmaker.UpdateEntityInput) (*iottwinmaker.UpdateEntityOutput, error) + UpdateEntityWithContext(aws.Context, *iottwinmaker.UpdateEntityInput, ...request.Option) (*iottwinmaker.UpdateEntityOutput, error) + UpdateEntityRequest(*iottwinmaker.UpdateEntityInput) (*request.Request, *iottwinmaker.UpdateEntityOutput) + + UpdateScene(*iottwinmaker.UpdateSceneInput) (*iottwinmaker.UpdateSceneOutput, error) + UpdateSceneWithContext(aws.Context, *iottwinmaker.UpdateSceneInput, ...request.Option) (*iottwinmaker.UpdateSceneOutput, error) + UpdateSceneRequest(*iottwinmaker.UpdateSceneInput) (*request.Request, *iottwinmaker.UpdateSceneOutput) + + UpdateWorkspace(*iottwinmaker.UpdateWorkspaceInput) (*iottwinmaker.UpdateWorkspaceOutput, error) + UpdateWorkspaceWithContext(aws.Context, *iottwinmaker.UpdateWorkspaceInput, ...request.Option) (*iottwinmaker.UpdateWorkspaceOutput, error) + UpdateWorkspaceRequest(*iottwinmaker.UpdateWorkspaceInput) (*request.Request, *iottwinmaker.UpdateWorkspaceOutput) +} + +var _ IoTTwinMakerAPI = (*iottwinmaker.IoTTwinMaker)(nil) diff --git a/service/iottwinmaker/service.go b/service/iottwinmaker/service.go new file mode 100644 index 00000000000..319411f75b9 --- /dev/null +++ b/service/iottwinmaker/service.go @@ -0,0 +1,105 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package iottwinmaker + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// IoTTwinMaker provides the API operation methods for making requests to +// AWS IoT TwinMaker. See this package's package overview docs +// for details on the service. +// +// IoTTwinMaker methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type IoTTwinMaker struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "IoTTwinMaker" // Name of service. + EndpointsID = "iottwinmaker" // ID to lookup a service endpoint with. + ServiceID = "IoTTwinMaker" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the IoTTwinMaker client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// mySession := session.Must(session.NewSession()) +// +// // Create a IoTTwinMaker client from just a session. +// svc := iottwinmaker.New(mySession) +// +// // Create a IoTTwinMaker client with additional configuration +// svc := iottwinmaker.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *IoTTwinMaker { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "iottwinmaker" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *IoTTwinMaker { + svc := &IoTTwinMaker{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2021-11-29", + ResolvedRegion: resolvedRegion, + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(restjson.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a IoTTwinMaker operation and runs any +// custom request initialization. +func (c *IoTTwinMaker) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/kafka/api.go b/service/kafka/api.go index 72784aaf1db..7f224046e83 100644 --- a/service/kafka/api.go +++ b/service/kafka/api.go @@ -304,6 +304,104 @@ func (c *Kafka) CreateClusterWithContext(ctx aws.Context, input *CreateClusterIn return out, req.Send() } +const opCreateClusterV2 = "CreateClusterV2" + +// CreateClusterV2Request generates a "aws/request.Request" representing the +// client's request for the CreateClusterV2 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 CreateClusterV2 for more information on using the CreateClusterV2 +// 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 CreateClusterV2Request method. +// req, resp := client.CreateClusterV2Request(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/CreateClusterV2 +func (c *Kafka) CreateClusterV2Request(input *CreateClusterV2Input) (req *request.Request, output *CreateClusterV2Output) { + op := &request.Operation{ + Name: opCreateClusterV2, + HTTPMethod: "POST", + HTTPPath: "/api/v2/clusters", + } + + if input == nil { + input = &CreateClusterV2Input{} + } + + output = &CreateClusterV2Output{} + req = c.newRequest(op, input, output) + return +} + +// CreateClusterV2 API operation for Managed Streaming for Kafka. +// +// Creates a new Amazon MSK cluster of either the provisioned or the serverless +// type. +// +// 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 Managed Streaming for Kafka's +// API operation CreateClusterV2 for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// Returns information about an error. +// +// * InternalServerErrorException +// Returns information about an error. +// +// * UnauthorizedException +// Returns information about an error. +// +// * ForbiddenException +// Returns information about an error. +// +// * ServiceUnavailableException +// Returns information about an error. +// +// * TooManyRequestsException +// Returns information about an error. +// +// * ConflictException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/CreateClusterV2 +func (c *Kafka) CreateClusterV2(input *CreateClusterV2Input) (*CreateClusterV2Output, error) { + req, out := c.CreateClusterV2Request(input) + return out, req.Send() +} + +// CreateClusterV2WithContext is the same as CreateClusterV2 with the addition of +// the ability to pass a context and additional request options. +// +// See CreateClusterV2 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 *Kafka) CreateClusterV2WithContext(ctx aws.Context, input *CreateClusterV2Input, opts ...request.Option) (*CreateClusterV2Output, error) { + req, out := c.CreateClusterV2Request(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateConfiguration = "CreateConfiguration" // CreateConfigurationRequest generates a "aws/request.Request" representing the @@ -762,6 +860,98 @@ func (c *Kafka) DescribeClusterOperationWithContext(ctx aws.Context, input *Desc return out, req.Send() } +const opDescribeClusterV2 = "DescribeClusterV2" + +// DescribeClusterV2Request generates a "aws/request.Request" representing the +// client's request for the DescribeClusterV2 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 DescribeClusterV2 for more information on using the DescribeClusterV2 +// 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 DescribeClusterV2Request method. +// req, resp := client.DescribeClusterV2Request(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DescribeClusterV2 +func (c *Kafka) DescribeClusterV2Request(input *DescribeClusterV2Input) (req *request.Request, output *DescribeClusterV2Output) { + op := &request.Operation{ + Name: opDescribeClusterV2, + HTTPMethod: "GET", + HTTPPath: "/api/v2/clusters/{clusterArn}", + } + + if input == nil { + input = &DescribeClusterV2Input{} + } + + output = &DescribeClusterV2Output{} + req = c.newRequest(op, input, output) + return +} + +// DescribeClusterV2 API operation for Managed Streaming for Kafka. +// +// Returns a description of the MSK cluster of either the provisioned or the +// serverless type whose Amazon Resource Name (ARN) is specified in the request. +// +// 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 Managed Streaming for Kafka's +// API operation DescribeClusterV2 for usage and error information. +// +// Returned Error Types: +// * NotFoundException +// Returns information about an error. +// +// * BadRequestException +// Returns information about an error. +// +// * UnauthorizedException +// Returns information about an error. +// +// * InternalServerErrorException +// Returns information about an error. +// +// * ForbiddenException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DescribeClusterV2 +func (c *Kafka) DescribeClusterV2(input *DescribeClusterV2Input) (*DescribeClusterV2Output, error) { + req, out := c.DescribeClusterV2Request(input) + return out, req.Send() +} + +// DescribeClusterV2WithContext is the same as DescribeClusterV2 with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeClusterV2 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 *Kafka) DescribeClusterV2WithContext(ctx aws.Context, input *DescribeClusterV2Input, opts ...request.Option) (*DescribeClusterV2Output, error) { + req, out := c.DescribeClusterV2Request(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeConfiguration = "DescribeConfiguration" // DescribeConfigurationRequest generates a "aws/request.Request" representing the @@ -1431,37 +1621,37 @@ func (c *Kafka) ListClustersPagesWithContext(ctx aws.Context, input *ListCluster return p.Err() } -const opListConfigurationRevisions = "ListConfigurationRevisions" +const opListClustersV2 = "ListClustersV2" -// ListConfigurationRevisionsRequest generates a "aws/request.Request" representing the -// client's request for the ListConfigurationRevisions operation. The "output" return +// ListClustersV2Request generates a "aws/request.Request" representing the +// client's request for the ListClustersV2 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 ListConfigurationRevisions for more information on using the ListConfigurationRevisions +// See ListClustersV2 for more information on using the ListClustersV2 // 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 ListConfigurationRevisionsRequest method. -// req, resp := client.ListConfigurationRevisionsRequest(params) +// // Example sending a request using the ListClustersV2Request method. +// req, resp := client.ListClustersV2Request(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListConfigurationRevisions -func (c *Kafka) ListConfigurationRevisionsRequest(input *ListConfigurationRevisionsInput) (req *request.Request, output *ListConfigurationRevisionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListClustersV2 +func (c *Kafka) ListClustersV2Request(input *ListClustersV2Input) (req *request.Request, output *ListClustersV2Output) { op := &request.Operation{ - Name: opListConfigurationRevisions, + Name: opListClustersV2, HTTPMethod: "GET", - HTTPPath: "/v1/configurations/{arn}/revisions", + HTTPPath: "/api/v2/clusters", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, @@ -1471,103 +1661,97 @@ func (c *Kafka) ListConfigurationRevisionsRequest(input *ListConfigurationRevisi } if input == nil { - input = &ListConfigurationRevisionsInput{} + input = &ListClustersV2Input{} } - output = &ListConfigurationRevisionsOutput{} + output = &ListClustersV2Output{} req = c.newRequest(op, input, output) return } -// ListConfigurationRevisions API operation for Managed Streaming for Kafka. +// ListClustersV2 API operation for Managed Streaming for Kafka. // -// Returns a list of all the revisions of an MSK configuration. +// Returns a list of all the MSK clusters in the current Region. // // 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 Managed Streaming for Kafka's -// API operation ListConfigurationRevisions for usage and error information. +// API operation ListClustersV2 for usage and error information. // // Returned Error Types: // * BadRequestException // Returns information about an error. // -// * UnauthorizedException -// Returns information about an error. -// // * InternalServerErrorException // Returns information about an error. // -// * ForbiddenException -// Returns information about an error. -// -// * NotFoundException +// * UnauthorizedException // Returns information about an error. // -// * ServiceUnavailableException +// * ForbiddenException // Returns information about an error. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListConfigurationRevisions -func (c *Kafka) ListConfigurationRevisions(input *ListConfigurationRevisionsInput) (*ListConfigurationRevisionsOutput, error) { - req, out := c.ListConfigurationRevisionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListClustersV2 +func (c *Kafka) ListClustersV2(input *ListClustersV2Input) (*ListClustersV2Output, error) { + req, out := c.ListClustersV2Request(input) return out, req.Send() } -// ListConfigurationRevisionsWithContext is the same as ListConfigurationRevisions with the addition of +// ListClustersV2WithContext is the same as ListClustersV2 with the addition of // the ability to pass a context and additional request options. // -// See ListConfigurationRevisions for details on how to use this API operation. +// See ListClustersV2 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 *Kafka) ListConfigurationRevisionsWithContext(ctx aws.Context, input *ListConfigurationRevisionsInput, opts ...request.Option) (*ListConfigurationRevisionsOutput, error) { - req, out := c.ListConfigurationRevisionsRequest(input) +func (c *Kafka) ListClustersV2WithContext(ctx aws.Context, input *ListClustersV2Input, opts ...request.Option) (*ListClustersV2Output, error) { + req, out := c.ListClustersV2Request(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListConfigurationRevisionsPages iterates over the pages of a ListConfigurationRevisions operation, +// ListClustersV2Pages iterates over the pages of a ListClustersV2 operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListConfigurationRevisions method for more information on how to use this operation. +// See ListClustersV2 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 ListConfigurationRevisions operation. +// // Example iterating over at most 3 pages of a ListClustersV2 operation. // pageNum := 0 -// err := client.ListConfigurationRevisionsPages(params, -// func(page *kafka.ListConfigurationRevisionsOutput, lastPage bool) bool { +// err := client.ListClustersV2Pages(params, +// func(page *kafka.ListClustersV2Output, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *Kafka) ListConfigurationRevisionsPages(input *ListConfigurationRevisionsInput, fn func(*ListConfigurationRevisionsOutput, bool) bool) error { - return c.ListConfigurationRevisionsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Kafka) ListClustersV2Pages(input *ListClustersV2Input, fn func(*ListClustersV2Output, bool) bool) error { + return c.ListClustersV2PagesWithContext(aws.BackgroundContext(), input, fn) } -// ListConfigurationRevisionsPagesWithContext same as ListConfigurationRevisionsPages except +// ListClustersV2PagesWithContext same as ListClustersV2Pages 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 *Kafka) ListConfigurationRevisionsPagesWithContext(ctx aws.Context, input *ListConfigurationRevisionsInput, fn func(*ListConfigurationRevisionsOutput, bool) bool, opts ...request.Option) error { +func (c *Kafka) ListClustersV2PagesWithContext(ctx aws.Context, input *ListClustersV2Input, fn func(*ListClustersV2Output, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListConfigurationRevisionsInput + var inCpy *ListClustersV2Input if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListConfigurationRevisionsRequest(inCpy) + req, _ := c.ListClustersV2Request(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1575,7 +1759,7 @@ func (c *Kafka) ListConfigurationRevisionsPagesWithContext(ctx aws.Context, inpu } for p.Next() { - if !fn(p.Page().(*ListConfigurationRevisionsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListClustersV2Output), !p.HasNextPage()) { break } } @@ -1583,37 +1767,37 @@ func (c *Kafka) ListConfigurationRevisionsPagesWithContext(ctx aws.Context, inpu return p.Err() } -const opListConfigurations = "ListConfigurations" +const opListConfigurationRevisions = "ListConfigurationRevisions" -// ListConfigurationsRequest generates a "aws/request.Request" representing the -// client's request for the ListConfigurations operation. The "output" return +// ListConfigurationRevisionsRequest generates a "aws/request.Request" representing the +// client's request for the ListConfigurationRevisions 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 ListConfigurations for more information on using the ListConfigurations +// See ListConfigurationRevisions for more information on using the ListConfigurationRevisions // 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 ListConfigurationsRequest method. -// req, resp := client.ListConfigurationsRequest(params) +// // Example sending a request using the ListConfigurationRevisionsRequest method. +// req, resp := client.ListConfigurationRevisionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListConfigurations -func (c *Kafka) ListConfigurationsRequest(input *ListConfigurationsInput) (req *request.Request, output *ListConfigurationsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListConfigurationRevisions +func (c *Kafka) ListConfigurationRevisionsRequest(input *ListConfigurationRevisionsInput) (req *request.Request, output *ListConfigurationRevisionsOutput) { op := &request.Operation{ - Name: opListConfigurations, + Name: opListConfigurationRevisions, HTTPMethod: "GET", - HTTPPath: "/v1/configurations", + HTTPPath: "/v1/configurations/{arn}/revisions", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, @@ -1623,29 +1807,26 @@ func (c *Kafka) ListConfigurationsRequest(input *ListConfigurationsInput) (req * } if input == nil { - input = &ListConfigurationsInput{} + input = &ListConfigurationRevisionsInput{} } - output = &ListConfigurationsOutput{} + output = &ListConfigurationRevisionsOutput{} req = c.newRequest(op, input, output) return } -// ListConfigurations API operation for Managed Streaming for Kafka. +// ListConfigurationRevisions API operation for Managed Streaming for Kafka. // -// Returns a list of all the MSK configurations in this Region. +// Returns a list of all the revisions of an MSK configuration. // // 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 Managed Streaming for Kafka's -// API operation ListConfigurations for usage and error information. +// API operation ListConfigurationRevisions for usage and error information. // // Returned Error Types: -// * ServiceUnavailableException -// Returns information about an error. -// // * BadRequestException // Returns information about an error. // @@ -1658,47 +1839,202 @@ func (c *Kafka) ListConfigurationsRequest(input *ListConfigurationsInput) (req * // * ForbiddenException // Returns information about an error. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListConfigurations -func (c *Kafka) ListConfigurations(input *ListConfigurationsInput) (*ListConfigurationsOutput, error) { - req, out := c.ListConfigurationsRequest(input) +// * NotFoundException +// Returns information about an error. +// +// * ServiceUnavailableException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListConfigurationRevisions +func (c *Kafka) ListConfigurationRevisions(input *ListConfigurationRevisionsInput) (*ListConfigurationRevisionsOutput, error) { + req, out := c.ListConfigurationRevisionsRequest(input) return out, req.Send() } -// ListConfigurationsWithContext is the same as ListConfigurations with the addition of +// ListConfigurationRevisionsWithContext is the same as ListConfigurationRevisions with the addition of // the ability to pass a context and additional request options. // -// See ListConfigurations for details on how to use this API operation. +// See ListConfigurationRevisions 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 *Kafka) ListConfigurationsWithContext(ctx aws.Context, input *ListConfigurationsInput, opts ...request.Option) (*ListConfigurationsOutput, error) { - req, out := c.ListConfigurationsRequest(input) +func (c *Kafka) ListConfigurationRevisionsWithContext(ctx aws.Context, input *ListConfigurationRevisionsInput, opts ...request.Option) (*ListConfigurationRevisionsOutput, error) { + req, out := c.ListConfigurationRevisionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListConfigurationsPages iterates over the pages of a ListConfigurations operation, +// ListConfigurationRevisionsPages iterates over the pages of a ListConfigurationRevisions operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListConfigurations method for more information on how to use this operation. +// See ListConfigurationRevisions 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 ListConfigurations operation. +// // Example iterating over at most 3 pages of a ListConfigurationRevisions operation. // pageNum := 0 -// err := client.ListConfigurationsPages(params, -// func(page *kafka.ListConfigurationsOutput, lastPage bool) bool { +// err := client.ListConfigurationRevisionsPages(params, +// func(page *kafka.ListConfigurationRevisionsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *Kafka) ListConfigurationsPages(input *ListConfigurationsInput, fn func(*ListConfigurationsOutput, bool) bool) error { - return c.ListConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *Kafka) ListConfigurationRevisionsPages(input *ListConfigurationRevisionsInput, fn func(*ListConfigurationRevisionsOutput, bool) bool) error { + return c.ListConfigurationRevisionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListConfigurationRevisionsPagesWithContext same as ListConfigurationRevisionsPages 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 *Kafka) ListConfigurationRevisionsPagesWithContext(ctx aws.Context, input *ListConfigurationRevisionsInput, fn func(*ListConfigurationRevisionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListConfigurationRevisionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListConfigurationRevisionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListConfigurationRevisionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListConfigurations = "ListConfigurations" + +// ListConfigurationsRequest generates a "aws/request.Request" representing the +// client's request for the ListConfigurations 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 ListConfigurations for more information on using the ListConfigurations +// 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 ListConfigurationsRequest method. +// req, resp := client.ListConfigurationsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListConfigurations +func (c *Kafka) ListConfigurationsRequest(input *ListConfigurationsInput) (req *request.Request, output *ListConfigurationsOutput) { + op := &request.Operation{ + Name: opListConfigurations, + HTTPMethod: "GET", + HTTPPath: "/v1/configurations", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListConfigurationsInput{} + } + + output = &ListConfigurationsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListConfigurations API operation for Managed Streaming for Kafka. +// +// Returns a list of all the MSK configurations in this Region. +// +// 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 Managed Streaming for Kafka's +// API operation ListConfigurations for usage and error information. +// +// Returned Error Types: +// * ServiceUnavailableException +// Returns information about an error. +// +// * BadRequestException +// Returns information about an error. +// +// * UnauthorizedException +// Returns information about an error. +// +// * InternalServerErrorException +// Returns information about an error. +// +// * ForbiddenException +// Returns information about an error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListConfigurations +func (c *Kafka) ListConfigurations(input *ListConfigurationsInput) (*ListConfigurationsOutput, error) { + req, out := c.ListConfigurationsRequest(input) + return out, req.Send() +} + +// ListConfigurationsWithContext is the same as ListConfigurations with the addition of +// the ability to pass a context and additional request options. +// +// See ListConfigurations 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 *Kafka) ListConfigurationsWithContext(ctx aws.Context, input *ListConfigurationsInput, opts ...request.Option) (*ListConfigurationsOutput, error) { + req, out := c.ListConfigurationsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListConfigurationsPages iterates over the pages of a ListConfigurations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListConfigurations 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 ListConfigurations operation. +// pageNum := 0 +// err := client.ListConfigurationsPages(params, +// func(page *kafka.ListConfigurationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *Kafka) ListConfigurationsPages(input *ListConfigurationsInput, fn func(*ListConfigurationsOutput, bool) bool) error { + return c.ListConfigurationsPagesWithContext(aws.BackgroundContext(), input, fn) } // ListConfigurationsPagesWithContext same as ListConfigurationsPages except @@ -4145,6 +4481,122 @@ func (s *CloudWatchLogs) SetLogGroup(v string) *CloudWatchLogs { return s } +// Returns information about a cluster of either the provisioned or the serverless +// type. +type Cluster struct { + _ struct{} `type:"structure"` + + ActiveOperationArn *string `locationName:"activeOperationArn" type:"string"` + + ClusterArn *string `locationName:"clusterArn" type:"string"` + + ClusterName *string `locationName:"clusterName" type:"string"` + + ClusterType *string `locationName:"clusterType" type:"string" enum:"ClusterType"` + + CreationTime *time.Time `locationName:"creationTime" type:"timestamp" timestampFormat:"iso8601"` + + CurrentVersion *string `locationName:"currentVersion" type:"string"` + + // Information about the provisioned cluster. + Provisioned *Provisioned `locationName:"provisioned" type:"structure"` + + // Information about the serverless cluster. + Serverless *Serverless `locationName:"serverless" type:"structure"` + + // The state of an Apache Kafka cluster. + State *string `locationName:"state" type:"string" enum:"ClusterState"` + + // Contains information about the state of the Amazon MSK cluster. + StateInfo *StateInfo `locationName:"stateInfo" type:"structure"` + + Tags map[string]*string `locationName:"tags" 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 Cluster) 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 Cluster) GoString() string { + return s.String() +} + +// SetActiveOperationArn sets the ActiveOperationArn field's value. +func (s *Cluster) SetActiveOperationArn(v string) *Cluster { + s.ActiveOperationArn = &v + return s +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *Cluster) SetClusterArn(v string) *Cluster { + s.ClusterArn = &v + return s +} + +// SetClusterName sets the ClusterName field's value. +func (s *Cluster) SetClusterName(v string) *Cluster { + s.ClusterName = &v + return s +} + +// SetClusterType sets the ClusterType field's value. +func (s *Cluster) SetClusterType(v string) *Cluster { + s.ClusterType = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *Cluster) SetCreationTime(v time.Time) *Cluster { + s.CreationTime = &v + return s +} + +// SetCurrentVersion sets the CurrentVersion field's value. +func (s *Cluster) SetCurrentVersion(v string) *Cluster { + s.CurrentVersion = &v + return s +} + +// SetProvisioned sets the Provisioned field's value. +func (s *Cluster) SetProvisioned(v *Provisioned) *Cluster { + s.Provisioned = v + return s +} + +// SetServerless sets the Serverless field's value. +func (s *Cluster) SetServerless(v *Serverless) *Cluster { + s.Serverless = v + return s +} + +// SetState sets the State field's value. +func (s *Cluster) SetState(v string) *Cluster { + s.State = &v + return s +} + +// SetStateInfo sets the StateInfo field's value. +func (s *Cluster) SetStateInfo(v *StateInfo) *Cluster { + s.StateInfo = v + return s +} + +// SetTags sets the Tags field's value. +func (s *Cluster) SetTags(v map[string]*string) *Cluster { + s.Tags = v + return s +} + // Returns information about a cluster. type ClusterInfo struct { _ struct{} `type:"structure"` @@ -5126,26 +5578,21 @@ func (s *CreateClusterOutput) SetState(v string) *CreateClusterOutput { return s } -// Request body for CreateConfiguration. -type CreateConfigurationInput struct { +// Creates a new Amazon MSK cluster of either the provisioned or the serverless +// type. +type CreateClusterV2Input struct { _ struct{} `type:"structure"` - // The description of the configuration. - Description *string `locationName:"description" type:"string"` + // ClusterName is a required field + ClusterName *string `locationName:"clusterName" min:"1" type:"string" required:"true"` - // The versions of Apache Kafka with which you can use this MSK configuration. - KafkaVersions []*string `locationName:"kafkaVersions" type:"list"` + // Creates a provisioned cluster. + Provisioned *ProvisionedRequest `locationName:"provisioned" type:"structure"` - // The name of the configuration. Configuration names are strings that match - // the regex "^[0-9A-Za-z-]+$". - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + // Creates a serverless cluster. + Serverless *ServerlessRequest `locationName:"serverless" type:"structure"` - // ServerProperties is automatically base64 encoded/decoded by the SDK. - // - // ServerProperties is a required field - ServerProperties []byte `locationName:"serverProperties" type:"blob" required:"true"` + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation. @@ -5153,7 +5600,155 @@ type CreateConfigurationInput 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 CreateConfigurationInput) String() string { +func (s CreateClusterV2Input) 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 CreateClusterV2Input) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateClusterV2Input) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateClusterV2Input"} + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + if s.ClusterName != nil && len(*s.ClusterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) + } + if s.Provisioned != nil { + if err := s.Provisioned.Validate(); err != nil { + invalidParams.AddNested("Provisioned", err.(request.ErrInvalidParams)) + } + } + if s.Serverless != nil { + if err := s.Serverless.Validate(); err != nil { + invalidParams.AddNested("Serverless", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterName sets the ClusterName field's value. +func (s *CreateClusterV2Input) SetClusterName(v string) *CreateClusterV2Input { + s.ClusterName = &v + return s +} + +// SetProvisioned sets the Provisioned field's value. +func (s *CreateClusterV2Input) SetProvisioned(v *ProvisionedRequest) *CreateClusterV2Input { + s.Provisioned = v + return s +} + +// SetServerless sets the Serverless field's value. +func (s *CreateClusterV2Input) SetServerless(v *ServerlessRequest) *CreateClusterV2Input { + s.Serverless = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateClusterV2Input) SetTags(v map[string]*string) *CreateClusterV2Input { + s.Tags = v + return s +} + +// Returns information about the created cluster of either the provisioned or +// the serverless type. +type CreateClusterV2Output struct { + _ struct{} `type:"structure"` + + ClusterArn *string `locationName:"clusterArn" type:"string"` + + ClusterName *string `locationName:"clusterName" type:"string"` + + ClusterType *string `locationName:"clusterType" type:"string" enum:"ClusterType"` + + // The state of the cluster. The possible states are ACTIVE, CREATING, DELETING, + // FAILED, HEALING, MAINTENANCE, REBOOTING_BROKER, and UPDATING. + State *string `locationName:"state" type:"string" enum:"ClusterState"` +} + +// 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 CreateClusterV2Output) 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 CreateClusterV2Output) GoString() string { + return s.String() +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *CreateClusterV2Output) SetClusterArn(v string) *CreateClusterV2Output { + s.ClusterArn = &v + return s +} + +// SetClusterName sets the ClusterName field's value. +func (s *CreateClusterV2Output) SetClusterName(v string) *CreateClusterV2Output { + s.ClusterName = &v + return s +} + +// SetClusterType sets the ClusterType field's value. +func (s *CreateClusterV2Output) SetClusterType(v string) *CreateClusterV2Output { + s.ClusterType = &v + return s +} + +// SetState sets the State field's value. +func (s *CreateClusterV2Output) SetState(v string) *CreateClusterV2Output { + s.State = &v + return s +} + +// Request body for CreateConfiguration. +type CreateConfigurationInput struct { + _ struct{} `type:"structure"` + + // The description of the configuration. + Description *string `locationName:"description" type:"string"` + + // The versions of Apache Kafka with which you can use this MSK configuration. + KafkaVersions []*string `locationName:"kafkaVersions" type:"list"` + + // The name of the configuration. Configuration names are strings that match + // the regex "^[0-9A-Za-z-]+$". + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // ServerProperties is automatically base64 encoded/decoded by the SDK. + // + // ServerProperties is a required field + ServerProperties []byte `locationName:"serverProperties" type:"blob" 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 CreateConfigurationInput) String() string { return awsutil.Prettify(s) } @@ -5623,6 +6218,86 @@ func (s *DescribeClusterOutput) SetClusterInfo(v *ClusterInfo) *DescribeClusterO return s } +type DescribeClusterV2Input struct { + _ struct{} `type:"structure" nopayload:"true"` + + // ClusterArn is a required field + ClusterArn *string `location:"uri" locationName:"clusterArn" 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 DescribeClusterV2Input) 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 DescribeClusterV2Input) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeClusterV2Input) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeClusterV2Input"} + if s.ClusterArn == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterArn")) + } + if s.ClusterArn != nil && len(*s.ClusterArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *DescribeClusterV2Input) SetClusterArn(v string) *DescribeClusterV2Input { + s.ClusterArn = &v + return s +} + +// Returns information about a cluster of either the provisioned or the serverless +// type. +type DescribeClusterV2Output struct { + _ struct{} `type:"structure"` + + // The cluster information. + ClusterInfo *Cluster `locationName:"clusterInfo" 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 DescribeClusterV2Output) 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 DescribeClusterV2Output) GoString() string { + return s.String() +} + +// SetClusterInfo sets the ClusterInfo field's value. +func (s *DescribeClusterV2Output) SetClusterInfo(v *Cluster) *DescribeClusterV2Output { + s.ClusterInfo = v + return s +} + type DescribeConfigurationInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -6896,11 +7571,12 @@ func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput { return s } -type ListConfigurationRevisionsInput struct { +type ListClustersV2Input struct { _ struct{} `type:"structure" nopayload:"true"` - // Arn is a required field - Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` + ClusterNameFilter *string `location:"querystring" locationName:"clusterNameFilter" type:"string"` + + ClusterTypeFilter *string `location:"querystring" locationName:"clusterTypeFilter" type:"string"` MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` @@ -6912,7 +7588,7 @@ type ListConfigurationRevisionsInput 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 ListConfigurationRevisionsInput) String() string { +func (s ListClustersV2Input) String() string { return awsutil.Prettify(s) } @@ -6921,19 +7597,13 @@ func (s ListConfigurationRevisionsInput) 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 ListConfigurationRevisionsInput) GoString() string { +func (s ListClustersV2Input) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListConfigurationRevisionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListConfigurationRevisionsInput"} - if s.Arn == nil { - invalidParams.Add(request.NewErrParamRequired("Arn")) - } - if s.Arn != nil && len(*s.Arn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) - } +func (s *ListClustersV2Input) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListClustersV2Input"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -6944,33 +7614,39 @@ func (s *ListConfigurationRevisionsInput) Validate() error { return nil } -// SetArn sets the Arn field's value. -func (s *ListConfigurationRevisionsInput) SetArn(v string) *ListConfigurationRevisionsInput { - s.Arn = &v +// SetClusterNameFilter sets the ClusterNameFilter field's value. +func (s *ListClustersV2Input) SetClusterNameFilter(v string) *ListClustersV2Input { + s.ClusterNameFilter = &v + return s +} + +// SetClusterTypeFilter sets the ClusterTypeFilter field's value. +func (s *ListClustersV2Input) SetClusterTypeFilter(v string) *ListClustersV2Input { + s.ClusterTypeFilter = &v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListConfigurationRevisionsInput) SetMaxResults(v int64) *ListConfigurationRevisionsInput { +func (s *ListClustersV2Input) SetMaxResults(v int64) *ListClustersV2Input { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListConfigurationRevisionsInput) SetNextToken(v string) *ListConfigurationRevisionsInput { +func (s *ListClustersV2Input) SetNextToken(v string) *ListClustersV2Input { s.NextToken = &v return s } -// Information about revisions of an MSK configuration. -type ListConfigurationRevisionsOutput struct { +// The response contains an array containing cluster information and a next +// token if the response is truncated. +type ListClustersV2Output struct { _ struct{} `type:"structure"` - // Paginated results marker. - NextToken *string `locationName:"nextToken" type:"string"` + // Information on each of the MSK clusters in the response. + ClusterInfoList []*Cluster `locationName:"clusterInfoList" type:"list"` - // List of ConfigurationRevision objects. - Revisions []*ConfigurationRevision `locationName:"revisions" type:"list"` + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -6978,7 +7654,7 @@ type ListConfigurationRevisionsOutput 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 ListConfigurationRevisionsOutput) String() string { +func (s ListClustersV2Output) String() string { return awsutil.Prettify(s) } @@ -6987,25 +7663,28 @@ func (s ListConfigurationRevisionsOutput) 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 ListConfigurationRevisionsOutput) GoString() string { +func (s ListClustersV2Output) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListConfigurationRevisionsOutput) SetNextToken(v string) *ListConfigurationRevisionsOutput { - s.NextToken = &v +// SetClusterInfoList sets the ClusterInfoList field's value. +func (s *ListClustersV2Output) SetClusterInfoList(v []*Cluster) *ListClustersV2Output { + s.ClusterInfoList = v return s } -// SetRevisions sets the Revisions field's value. -func (s *ListConfigurationRevisionsOutput) SetRevisions(v []*ConfigurationRevision) *ListConfigurationRevisionsOutput { - s.Revisions = v +// SetNextToken sets the NextToken field's value. +func (s *ListClustersV2Output) SetNextToken(v string) *ListClustersV2Output { + s.NextToken = &v return s } -type ListConfigurationsInput struct { +type ListConfigurationRevisionsInput struct { _ struct{} `type:"structure" nopayload:"true"` + // Arn is a required field + Arn *string `location:"uri" locationName:"arn" type:"string" required:"true"` + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` @@ -7016,7 +7695,7 @@ type ListConfigurationsInput 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 ListConfigurationsInput) String() string { +func (s ListConfigurationRevisionsInput) String() string { return awsutil.Prettify(s) } @@ -7025,13 +7704,19 @@ func (s ListConfigurationsInput) 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 ListConfigurationsInput) GoString() string { +func (s ListConfigurationRevisionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListConfigurationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListConfigurationsInput"} +func (s *ListConfigurationRevisionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListConfigurationRevisionsInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -7042,10 +7727,108 @@ func (s *ListConfigurationsInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListConfigurationsInput) SetMaxResults(v int64) *ListConfigurationsInput { - s.MaxResults = &v - return s +// SetArn sets the Arn field's value. +func (s *ListConfigurationRevisionsInput) SetArn(v string) *ListConfigurationRevisionsInput { + s.Arn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListConfigurationRevisionsInput) SetMaxResults(v int64) *ListConfigurationRevisionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListConfigurationRevisionsInput) SetNextToken(v string) *ListConfigurationRevisionsInput { + s.NextToken = &v + return s +} + +// Information about revisions of an MSK configuration. +type ListConfigurationRevisionsOutput struct { + _ struct{} `type:"structure"` + + // Paginated results marker. + NextToken *string `locationName:"nextToken" type:"string"` + + // List of ConfigurationRevision objects. + Revisions []*ConfigurationRevision `locationName:"revisions" 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 ListConfigurationRevisionsOutput) 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 ListConfigurationRevisionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListConfigurationRevisionsOutput) SetNextToken(v string) *ListConfigurationRevisionsOutput { + s.NextToken = &v + return s +} + +// SetRevisions sets the Revisions field's value. +func (s *ListConfigurationRevisionsOutput) SetRevisions(v []*ConfigurationRevision) *ListConfigurationRevisionsOutput { + s.Revisions = v + return s +} + +type ListConfigurationsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + 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 ListConfigurationsInput) 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 ListConfigurationsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListConfigurationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListConfigurationsInput"} + 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 *ListConfigurationsInput) SetMaxResults(v int64) *ListConfigurationsInput { + s.MaxResults = &v + return s } // SetNextToken sets the NextToken field's value. @@ -7991,85 +8774,361 @@ func (s Prometheus) 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 Prometheus) GoString() string { - return s.String() +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Prometheus) GoString() string { + return s.String() +} + +// SetJmxExporter sets the JmxExporter field's value. +func (s *Prometheus) SetJmxExporter(v *JmxExporter) *Prometheus { + s.JmxExporter = v + return s +} + +// SetNodeExporter sets the NodeExporter field's value. +func (s *Prometheus) SetNodeExporter(v *NodeExporter) *Prometheus { + s.NodeExporter = v + return s +} + +// Prometheus settings. +type PrometheusInfo struct { + _ struct{} `type:"structure"` + + // JMX Exporter settings. + JmxExporter *JmxExporterInfo `locationName:"jmxExporter" type:"structure"` + + // Node Exporter settings. + NodeExporter *NodeExporterInfo `locationName:"nodeExporter" 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 PrometheusInfo) 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 PrometheusInfo) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PrometheusInfo) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PrometheusInfo"} + if s.JmxExporter != nil { + if err := s.JmxExporter.Validate(); err != nil { + invalidParams.AddNested("JmxExporter", err.(request.ErrInvalidParams)) + } + } + if s.NodeExporter != nil { + if err := s.NodeExporter.Validate(); err != nil { + invalidParams.AddNested("NodeExporter", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJmxExporter sets the JmxExporter field's value. +func (s *PrometheusInfo) SetJmxExporter(v *JmxExporterInfo) *PrometheusInfo { + s.JmxExporter = v + return s +} + +// SetNodeExporter sets the NodeExporter field's value. +func (s *PrometheusInfo) SetNodeExporter(v *NodeExporterInfo) *PrometheusInfo { + s.NodeExporter = v + return s +} + +// Describes the provisioned cluster. +type Provisioned struct { + _ struct{} `type:"structure"` + + // Information about the brokers. + // + // BrokerNodeGroupInfo is a required field + BrokerNodeGroupInfo *BrokerNodeGroupInfo `locationName:"brokerNodeGroupInfo" type:"structure" required:"true"` + + // Includes all client authentication information. + ClientAuthentication *ClientAuthentication `locationName:"clientAuthentication" type:"structure"` + + // Information about the version of software currently deployed on the Apache + // Kafka brokers in the cluster. + CurrentBrokerSoftwareInfo *BrokerSoftwareInfo `locationName:"currentBrokerSoftwareInfo" type:"structure"` + + // Includes all encryption-related information. + EncryptionInfo *EncryptionInfo `locationName:"encryptionInfo" type:"structure"` + + // Specifies which metrics are gathered for the MSK cluster. This property has + // the following possible values: DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, + // and PER_TOPIC_PER_PARTITION. For a list of the metrics associated with each + // of these levels of monitoring, see Monitoring (https://docs.aws.amazon.com/msk/latest/developerguide/monitoring.html). + EnhancedMonitoring *string `locationName:"enhancedMonitoring" type:"string" enum:"EnhancedMonitoring"` + + // You can configure your MSK cluster to send broker logs to different destination + // types. This is a container for the configuration details related to broker + // logs. + LoggingInfo *LoggingInfo `locationName:"loggingInfo" type:"structure"` + + // NumberOfBrokerNodes is a required field + NumberOfBrokerNodes *int64 `locationName:"numberOfBrokerNodes" min:"1" type:"integer" required:"true"` + + // JMX and Node monitoring for the MSK cluster. + OpenMonitoring *OpenMonitoringInfo `locationName:"openMonitoring" type:"structure"` + + ZookeeperConnectString *string `locationName:"zookeeperConnectString" type:"string"` + + ZookeeperConnectStringTls *string `locationName:"zookeeperConnectStringTls" 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 Provisioned) 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 Provisioned) GoString() string { + return s.String() +} + +// SetBrokerNodeGroupInfo sets the BrokerNodeGroupInfo field's value. +func (s *Provisioned) SetBrokerNodeGroupInfo(v *BrokerNodeGroupInfo) *Provisioned { + s.BrokerNodeGroupInfo = v + return s +} + +// SetClientAuthentication sets the ClientAuthentication field's value. +func (s *Provisioned) SetClientAuthentication(v *ClientAuthentication) *Provisioned { + s.ClientAuthentication = v + return s +} + +// SetCurrentBrokerSoftwareInfo sets the CurrentBrokerSoftwareInfo field's value. +func (s *Provisioned) SetCurrentBrokerSoftwareInfo(v *BrokerSoftwareInfo) *Provisioned { + s.CurrentBrokerSoftwareInfo = v + return s +} + +// SetEncryptionInfo sets the EncryptionInfo field's value. +func (s *Provisioned) SetEncryptionInfo(v *EncryptionInfo) *Provisioned { + s.EncryptionInfo = v + return s +} + +// SetEnhancedMonitoring sets the EnhancedMonitoring field's value. +func (s *Provisioned) SetEnhancedMonitoring(v string) *Provisioned { + s.EnhancedMonitoring = &v + return s +} + +// SetLoggingInfo sets the LoggingInfo field's value. +func (s *Provisioned) SetLoggingInfo(v *LoggingInfo) *Provisioned { + s.LoggingInfo = v + return s +} + +// SetNumberOfBrokerNodes sets the NumberOfBrokerNodes field's value. +func (s *Provisioned) SetNumberOfBrokerNodes(v int64) *Provisioned { + s.NumberOfBrokerNodes = &v + return s +} + +// SetOpenMonitoring sets the OpenMonitoring field's value. +func (s *Provisioned) SetOpenMonitoring(v *OpenMonitoringInfo) *Provisioned { + s.OpenMonitoring = v + return s +} + +// SetZookeeperConnectString sets the ZookeeperConnectString field's value. +func (s *Provisioned) SetZookeeperConnectString(v string) *Provisioned { + s.ZookeeperConnectString = &v + return s +} + +// SetZookeeperConnectStringTls sets the ZookeeperConnectStringTls field's value. +func (s *Provisioned) SetZookeeperConnectStringTls(v string) *Provisioned { + s.ZookeeperConnectStringTls = &v + return s +} + +// Creates a provisioned cluster. +type ProvisionedRequest struct { + _ struct{} `type:"structure"` + + // Information about the brokers. + // + // BrokerNodeGroupInfo is a required field + BrokerNodeGroupInfo *BrokerNodeGroupInfo `locationName:"brokerNodeGroupInfo" type:"structure" required:"true"` + + // Includes all client authentication related information. + ClientAuthentication *ClientAuthentication `locationName:"clientAuthentication" type:"structure"` + + // Represents the configuration that you want MSK to use for the cluster. + ConfigurationInfo *ConfigurationInfo `locationName:"configurationInfo" type:"structure"` + + // Includes all encryption-related information. + EncryptionInfo *EncryptionInfo `locationName:"encryptionInfo" type:"structure"` + + // Specifies the level of monitoring for the MSK cluster. The possible values + // are DEFAULT, PER_BROKER, PER_TOPIC_PER_BROKER, and PER_TOPIC_PER_PARTITION. + EnhancedMonitoring *string `locationName:"enhancedMonitoring" type:"string" enum:"EnhancedMonitoring"` + + // KafkaVersion is a required field + KafkaVersion *string `locationName:"kafkaVersion" min:"1" type:"string" required:"true"` + + // LoggingInfo details. + LoggingInfo *LoggingInfo `locationName:"loggingInfo" type:"structure"` + + // NumberOfBrokerNodes is a required field + NumberOfBrokerNodes *int64 `locationName:"numberOfBrokerNodes" min:"1" type:"integer" required:"true"` + + // The settings for open monitoring. + OpenMonitoring *OpenMonitoringInfo `locationName:"openMonitoring" 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 ProvisionedRequest) 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 ProvisionedRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProvisionedRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProvisionedRequest"} + if s.BrokerNodeGroupInfo == nil { + invalidParams.Add(request.NewErrParamRequired("BrokerNodeGroupInfo")) + } + if s.KafkaVersion == nil { + invalidParams.Add(request.NewErrParamRequired("KafkaVersion")) + } + if s.KafkaVersion != nil && len(*s.KafkaVersion) < 1 { + invalidParams.Add(request.NewErrParamMinLen("KafkaVersion", 1)) + } + if s.NumberOfBrokerNodes == nil { + invalidParams.Add(request.NewErrParamRequired("NumberOfBrokerNodes")) + } + if s.NumberOfBrokerNodes != nil && *s.NumberOfBrokerNodes < 1 { + invalidParams.Add(request.NewErrParamMinValue("NumberOfBrokerNodes", 1)) + } + if s.BrokerNodeGroupInfo != nil { + if err := s.BrokerNodeGroupInfo.Validate(); err != nil { + invalidParams.AddNested("BrokerNodeGroupInfo", err.(request.ErrInvalidParams)) + } + } + if s.ConfigurationInfo != nil { + if err := s.ConfigurationInfo.Validate(); err != nil { + invalidParams.AddNested("ConfigurationInfo", err.(request.ErrInvalidParams)) + } + } + if s.EncryptionInfo != nil { + if err := s.EncryptionInfo.Validate(); err != nil { + invalidParams.AddNested("EncryptionInfo", err.(request.ErrInvalidParams)) + } + } + if s.LoggingInfo != nil { + if err := s.LoggingInfo.Validate(); err != nil { + invalidParams.AddNested("LoggingInfo", err.(request.ErrInvalidParams)) + } + } + if s.OpenMonitoring != nil { + if err := s.OpenMonitoring.Validate(); err != nil { + invalidParams.AddNested("OpenMonitoring", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBrokerNodeGroupInfo sets the BrokerNodeGroupInfo field's value. +func (s *ProvisionedRequest) SetBrokerNodeGroupInfo(v *BrokerNodeGroupInfo) *ProvisionedRequest { + s.BrokerNodeGroupInfo = v + return s } -// SetJmxExporter sets the JmxExporter field's value. -func (s *Prometheus) SetJmxExporter(v *JmxExporter) *Prometheus { - s.JmxExporter = v +// SetClientAuthentication sets the ClientAuthentication field's value. +func (s *ProvisionedRequest) SetClientAuthentication(v *ClientAuthentication) *ProvisionedRequest { + s.ClientAuthentication = v return s } -// SetNodeExporter sets the NodeExporter field's value. -func (s *Prometheus) SetNodeExporter(v *NodeExporter) *Prometheus { - s.NodeExporter = v +// SetConfigurationInfo sets the ConfigurationInfo field's value. +func (s *ProvisionedRequest) SetConfigurationInfo(v *ConfigurationInfo) *ProvisionedRequest { + s.ConfigurationInfo = v return s } -// Prometheus settings. -type PrometheusInfo struct { - _ struct{} `type:"structure"` - - // JMX Exporter settings. - JmxExporter *JmxExporterInfo `locationName:"jmxExporter" type:"structure"` - - // Node Exporter settings. - NodeExporter *NodeExporterInfo `locationName:"nodeExporter" type:"structure"` +// SetEncryptionInfo sets the EncryptionInfo field's value. +func (s *ProvisionedRequest) SetEncryptionInfo(v *EncryptionInfo) *ProvisionedRequest { + s.EncryptionInfo = v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s PrometheusInfo) String() string { - return awsutil.Prettify(s) +// SetEnhancedMonitoring sets the EnhancedMonitoring field's value. +func (s *ProvisionedRequest) SetEnhancedMonitoring(v string) *ProvisionedRequest { + s.EnhancedMonitoring = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s PrometheusInfo) GoString() string { - return s.String() +// SetKafkaVersion sets the KafkaVersion field's value. +func (s *ProvisionedRequest) SetKafkaVersion(v string) *ProvisionedRequest { + s.KafkaVersion = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *PrometheusInfo) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PrometheusInfo"} - if s.JmxExporter != nil { - if err := s.JmxExporter.Validate(); err != nil { - invalidParams.AddNested("JmxExporter", err.(request.ErrInvalidParams)) - } - } - if s.NodeExporter != nil { - if err := s.NodeExporter.Validate(); err != nil { - invalidParams.AddNested("NodeExporter", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetLoggingInfo sets the LoggingInfo field's value. +func (s *ProvisionedRequest) SetLoggingInfo(v *LoggingInfo) *ProvisionedRequest { + s.LoggingInfo = v + return s } -// SetJmxExporter sets the JmxExporter field's value. -func (s *PrometheusInfo) SetJmxExporter(v *JmxExporterInfo) *PrometheusInfo { - s.JmxExporter = v +// SetNumberOfBrokerNodes sets the NumberOfBrokerNodes field's value. +func (s *ProvisionedRequest) SetNumberOfBrokerNodes(v int64) *ProvisionedRequest { + s.NumberOfBrokerNodes = &v return s } -// SetNodeExporter sets the NodeExporter field's value. -func (s *PrometheusInfo) SetNodeExporter(v *NodeExporterInfo) *PrometheusInfo { - s.NodeExporter = v +// SetOpenMonitoring sets the OpenMonitoring field's value. +func (s *ProvisionedRequest) SetOpenMonitoring(v *OpenMonitoringInfo) *ProvisionedRequest { + s.OpenMonitoring = v return s } @@ -8343,6 +9402,178 @@ func (s *Scram) SetEnabled(v bool) *Scram { return s } +// Describes the serverless cluster. +type Serverless struct { + _ struct{} `type:"structure"` + + // Information about the serverless cluster client authentication. + ClientAuthentication *ServerlessClientAuthentication `locationName:"clientAuthentication" type:"structure"` + + // Information on vpc config for the serverless cluster. + // + // VpcConfigs is a required field + VpcConfigs []*VpcConfig `locationName:"vpcConfigs" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Serverless) 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 Serverless) GoString() string { + return s.String() +} + +// SetClientAuthentication sets the ClientAuthentication field's value. +func (s *Serverless) SetClientAuthentication(v *ServerlessClientAuthentication) *Serverless { + s.ClientAuthentication = v + return s +} + +// SetVpcConfigs sets the VpcConfigs field's value. +func (s *Serverless) SetVpcConfigs(v []*VpcConfig) *Serverless { + s.VpcConfigs = v + return s +} + +// Describes the serverless cluster client authentication. +type ServerlessClientAuthentication struct { + _ struct{} `type:"structure"` + + // Serverless cluster SASL information. + Sasl *ServerlessSasl `locationName:"sasl" 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 ServerlessClientAuthentication) 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 ServerlessClientAuthentication) GoString() string { + return s.String() +} + +// SetSasl sets the Sasl field's value. +func (s *ServerlessClientAuthentication) SetSasl(v *ServerlessSasl) *ServerlessClientAuthentication { + s.Sasl = v + return s +} + +// Creates serverless cluster. +type ServerlessRequest struct { + _ struct{} `type:"structure"` + + // Information about the serverless cluster client authentication. + ClientAuthentication *ServerlessClientAuthentication `locationName:"clientAuthentication" type:"structure"` + + // Information on vpc config for the serverless cluster. + // + // VpcConfigs is a required field + VpcConfigs []*VpcConfig `locationName:"vpcConfigs" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServerlessRequest) 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 ServerlessRequest) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ServerlessRequest) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ServerlessRequest"} + if s.VpcConfigs == nil { + invalidParams.Add(request.NewErrParamRequired("VpcConfigs")) + } + if s.VpcConfigs != nil { + for i, v := range s.VpcConfigs { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "VpcConfigs", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientAuthentication sets the ClientAuthentication field's value. +func (s *ServerlessRequest) SetClientAuthentication(v *ServerlessClientAuthentication) *ServerlessRequest { + s.ClientAuthentication = v + return s +} + +// SetVpcConfigs sets the VpcConfigs field's value. +func (s *ServerlessRequest) SetVpcConfigs(v []*VpcConfig) *ServerlessRequest { + s.VpcConfigs = v + return s +} + +// Describes the serverless cluster SASL information. +type ServerlessSasl struct { + _ struct{} `type:"structure"` + + Iam *Iam `locationName:"iam" 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 ServerlessSasl) 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 ServerlessSasl) GoString() string { + return s.String() +} + +// SetIam sets the Iam field's value. +func (s *ServerlessSasl) SetIam(v *Iam) *ServerlessSasl { + s.Iam = v + return s +} + // Returns information about an error. type ServiceUnavailableException struct { _ struct{} `type:"structure"` @@ -10043,6 +11274,59 @@ func (s *UpdateSecurityOutput) SetClusterOperationArn(v string) *UpdateSecurityO return s } +// The configuration of the Amazon VPCs for the cluster. +type VpcConfig struct { + _ struct{} `type:"structure"` + + SecurityGroupIds []*string `locationName:"securityGroupIds" type:"list"` + + // SubnetIds is a required field + SubnetIds []*string `locationName:"subnetIds" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s VpcConfig) 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 VpcConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *VpcConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VpcConfig"} + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *VpcConfig) SetSecurityGroupIds(v []*string) *VpcConfig { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *VpcConfig) SetSubnetIds(v []*string) *VpcConfig { + s.SubnetIds = v + return s +} + // Zookeeper node information. type ZookeeperNodeInfo struct { _ struct{} `type:"structure"` @@ -10189,6 +11473,22 @@ func ClusterState_Values() []string { } } +const ( + // ClusterTypeProvisioned is a ClusterType enum value + ClusterTypeProvisioned = "PROVISIONED" + + // ClusterTypeServerless is a ClusterType enum value + ClusterTypeServerless = "SERVERLESS" +) + +// ClusterType_Values returns all elements of the ClusterType enum +func ClusterType_Values() []string { + return []string{ + ClusterTypeProvisioned, + ClusterTypeServerless, + } +} + // The state of a configuration. const ( // ConfigurationStateActive is a ConfigurationState enum value diff --git a/service/kafka/kafkaiface/interface.go b/service/kafka/kafkaiface/interface.go index 28f73397ac1..9a348f34bcf 100644 --- a/service/kafka/kafkaiface/interface.go +++ b/service/kafka/kafkaiface/interface.go @@ -72,6 +72,10 @@ type KafkaAPI interface { CreateClusterWithContext(aws.Context, *kafka.CreateClusterInput, ...request.Option) (*kafka.CreateClusterOutput, error) CreateClusterRequest(*kafka.CreateClusterInput) (*request.Request, *kafka.CreateClusterOutput) + CreateClusterV2(*kafka.CreateClusterV2Input) (*kafka.CreateClusterV2Output, error) + CreateClusterV2WithContext(aws.Context, *kafka.CreateClusterV2Input, ...request.Option) (*kafka.CreateClusterV2Output, error) + CreateClusterV2Request(*kafka.CreateClusterV2Input) (*request.Request, *kafka.CreateClusterV2Output) + CreateConfiguration(*kafka.CreateConfigurationInput) (*kafka.CreateConfigurationOutput, error) CreateConfigurationWithContext(aws.Context, *kafka.CreateConfigurationInput, ...request.Option) (*kafka.CreateConfigurationOutput, error) CreateConfigurationRequest(*kafka.CreateConfigurationInput) (*request.Request, *kafka.CreateConfigurationOutput) @@ -92,6 +96,10 @@ type KafkaAPI interface { DescribeClusterOperationWithContext(aws.Context, *kafka.DescribeClusterOperationInput, ...request.Option) (*kafka.DescribeClusterOperationOutput, error) DescribeClusterOperationRequest(*kafka.DescribeClusterOperationInput) (*request.Request, *kafka.DescribeClusterOperationOutput) + DescribeClusterV2(*kafka.DescribeClusterV2Input) (*kafka.DescribeClusterV2Output, error) + DescribeClusterV2WithContext(aws.Context, *kafka.DescribeClusterV2Input, ...request.Option) (*kafka.DescribeClusterV2Output, error) + DescribeClusterV2Request(*kafka.DescribeClusterV2Input) (*request.Request, *kafka.DescribeClusterV2Output) + DescribeConfiguration(*kafka.DescribeConfigurationInput) (*kafka.DescribeConfigurationOutput, error) DescribeConfigurationWithContext(aws.Context, *kafka.DescribeConfigurationInput, ...request.Option) (*kafka.DescribeConfigurationOutput, error) DescribeConfigurationRequest(*kafka.DescribeConfigurationInput) (*request.Request, *kafka.DescribeConfigurationOutput) @@ -122,6 +130,13 @@ type KafkaAPI interface { ListClustersPages(*kafka.ListClustersInput, func(*kafka.ListClustersOutput, bool) bool) error ListClustersPagesWithContext(aws.Context, *kafka.ListClustersInput, func(*kafka.ListClustersOutput, bool) bool, ...request.Option) error + ListClustersV2(*kafka.ListClustersV2Input) (*kafka.ListClustersV2Output, error) + ListClustersV2WithContext(aws.Context, *kafka.ListClustersV2Input, ...request.Option) (*kafka.ListClustersV2Output, error) + ListClustersV2Request(*kafka.ListClustersV2Input) (*request.Request, *kafka.ListClustersV2Output) + + ListClustersV2Pages(*kafka.ListClustersV2Input, func(*kafka.ListClustersV2Output, bool) bool) error + ListClustersV2PagesWithContext(aws.Context, *kafka.ListClustersV2Input, func(*kafka.ListClustersV2Output, bool) bool, ...request.Option) error + ListConfigurationRevisions(*kafka.ListConfigurationRevisionsInput) (*kafka.ListConfigurationRevisionsOutput, error) ListConfigurationRevisionsWithContext(aws.Context, *kafka.ListConfigurationRevisionsInput, ...request.Option) (*kafka.ListConfigurationRevisionsOutput, error) ListConfigurationRevisionsRequest(*kafka.ListConfigurationRevisionsInput) (*request.Request, *kafka.ListConfigurationRevisionsOutput) diff --git a/service/kinesis/api.go b/service/kinesis/api.go index 22b3de1bfc3..3e1d1ecafb7 100644 --- a/service/kinesis/api.go +++ b/service/kinesis/api.go @@ -66,10 +66,8 @@ func (c *Kinesis) AddTagsToStreamRequest(input *AddTagsToStreamInput) (req *requ // AddTagsToStream API operation for Amazon Kinesis. // -// Adds or updates tags for the specified Kinesis data stream. Each time you -// invoke this operation, you can specify up to 10 tags. If you want to add -// more than 10 tags to your stream, you can invoke this operation multiple -// times. In total, each stream can have up to 50 tags. +// Adds or updates tags for the specified Kinesis data stream. You can assign +// up to 50 tags to a data stream. // // If tags have already been assigned to the stream, AddTagsToStream overwrites // any existing tags that correspond to the specified tag keys. @@ -179,10 +177,11 @@ func (c *Kinesis) CreateStreamRequest(input *CreateStreamInput) (req *request.Re // per second. If the amount of data input increases or decreases, you can add // or remove shards. // -// The stream name identifies the stream. The name is scoped to the AWS account -// used by the application. It is also scoped by AWS Region. That is, two streams -// in two different accounts can have the same name, and two streams in the -// same account, but in two different Regions, can have the same name. +// The stream name identifies the stream. The name is scoped to the Amazon Web +// Services account used by the application. It is also scoped by Amazon Web +// Services Region. That is, two streams in two different accounts can have +// the same name, and two streams in the same account, but in two different +// Regions, can have the same name. // // CreateStream is an asynchronous operation. Upon receiving a CreateStream // request, Kinesis Data Streams immediately returns and sets the stream status @@ -197,12 +196,12 @@ func (c *Kinesis) CreateStreamRequest(input *CreateStreamInput) (req *request.Re // // * Create more shards than are authorized for your account. // -// For the default shard limit for an AWS account, see Amazon Kinesis Data Streams -// Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) +// For the default shard limit for an Amazon Web Services account, see Amazon +// Kinesis Data Streams Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide. To increase this limit, -// contact AWS Support (https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html). +// contact Amazon Web Services Support (https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html). // -// You can use DescribeStream to check the stream status, which is returned +// You can use DescribeStreamSummary to check the stream status, which is returned // in StreamStatus. // // CreateStream has a limit of five transactions per second per account. @@ -409,8 +408,8 @@ func (c *Kinesis) DeleteStreamRequest(input *DeleteStreamInput) (req *request.Re // When you delete a stream, any shards in that stream are also deleted, and // any tags are dissociated from the stream. // -// You can use the DescribeStream operation to check the state of the stream, -// which is returned in StreamStatus. +// You can use the DescribeStreamSummary operation to check the state of the +// stream, which is returned in StreamStatus. // // DeleteStream has a limit of five transactions per second per account. // @@ -691,6 +690,11 @@ func (c *Kinesis) DescribeStreamRequest(input *DescribeStreamInput) (req *reques // // Describes the specified Kinesis data stream. // +// This API has been revised. It's highly recommended that you use the DescribeStreamSummary +// API to get a summarized description of the specified Kinesis data stream +// and the ListShards API to list the shards in a specified data stream and +// obtain information about each shard. +// // The information returned includes the stream name, Amazon Resource Name (ARN), // creation time, enhanced metric configuration, and shard map. The shard map // is an array of shard objects. For each shard object, there is the hash key @@ -1245,14 +1249,17 @@ func (c *Kinesis) GetRecordsRequest(input *GetRecordsInput) (req *request.Reques // can be returned per call is 10,000. // // The size of the data returned by GetRecords varies depending on the utilization -// of the shard. The maximum size of data that GetRecords can return is 10 MiB. -// If a call returns this amount of data, subsequent calls made within the next -// 5 seconds throw ProvisionedThroughputExceededException. If there is insufficient -// provisioned throughput on the stream, subsequent calls made within the next -// 1 second throw ProvisionedThroughputExceededException. GetRecords doesn't -// return any data when it throws an exception. For this reason, we recommend -// that you wait 1 second between calls to GetRecords. However, it's possible -// that the application will get exceptions for longer than 1 second. +// of the shard. It is recommended that consumer applications retrieve records +// via the GetRecords command using the 5 TPS limit to remain caught up. Retrieving +// records less frequently can lead to consumer applications falling behind. +// The maximum size of data that GetRecords can return is 10 MiB. If a call +// returns this amount of data, subsequent calls made within the next 5 seconds +// throw ProvisionedThroughputExceededException. If there is insufficient provisioned +// throughput on the stream, subsequent calls made within the next 1 second +// throw ProvisionedThroughputExceededException. GetRecords doesn't return any +// data when it throws an exception. For this reason, we recommend that you +// wait 1 second between calls to GetRecords. However, it's possible that the +// application will get exceptions for longer than 1 second. // // To detect whether the application is falling behind in processing, you can // use the MillisBehindLatest response attribute. You can also monitor the stream @@ -1292,8 +1299,8 @@ func (c *Kinesis) GetRecordsRequest(input *GetRecordsInput) (req *request.Reques // large for the available throughput. Reduce the frequency or size of your // requests. For more information, see Streams Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide, and Error Retries and -// Exponential Backoff in AWS (https://docs.aws.amazon.com/general/latest/gr/api-retries.html) -// in the AWS General Reference. +// Exponential Backoff in Amazon Web Services (https://docs.aws.amazon.com/general/latest/gr/api-retries.html) +// in the Amazon Web Services General Reference. // // * ExpiredIteratorException // The provided iterator exceeds the maximum age allowed. @@ -1306,7 +1313,7 @@ func (c *Kinesis) GetRecordsRequest(input *GetRecordsInput) (req *request.Reques // The request was rejected because the state of the specified resource isn't // valid for this request. For more information, see How Key State Affects Use // of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the Amazon Web Services Key Management Service Developer Guide. // // * KMSAccessDeniedException // The ciphertext references a key that doesn't exist or that you don't have @@ -1317,12 +1324,12 @@ func (c *Kinesis) GetRecordsRequest(input *GetRecordsInput) (req *request.Reques // found. // // * KMSOptInRequired -// The AWS access key ID needs a subscription for the service. +// The Amazon Web Services access key ID needs a subscription for the service. // // * KMSThrottlingException // The request was denied due to request throttling. For more information about // throttling, see Limits (https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) -// in the AWS Key Management Service Developer Guide. +// in the Amazon Web Services Key Management Service Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/GetRecords func (c *Kinesis) GetRecords(input *GetRecordsInput) (*GetRecordsOutput, error) { @@ -1451,8 +1458,8 @@ func (c *Kinesis) GetShardIteratorRequest(input *GetShardIteratorInput) (req *re // large for the available throughput. Reduce the frequency or size of your // requests. For more information, see Streams Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide, and Error Retries and -// Exponential Backoff in AWS (https://docs.aws.amazon.com/general/latest/gr/api-retries.html) -// in the AWS General Reference. +// Exponential Backoff in Amazon Web Services (https://docs.aws.amazon.com/general/latest/gr/api-retries.html) +// in the Amazon Web Services General Reference. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/GetShardIterator func (c *Kinesis) GetShardIterator(input *GetShardIteratorInput) (*GetShardIteratorOutput, error) { @@ -1523,7 +1530,7 @@ func (c *Kinesis) IncreaseStreamRetentionPeriodRequest(input *IncreaseStreamRete // // Increases the Kinesis data stream's retention period, which is the length // of time data records are accessible after they are added to the stream. The -// maximum value of a stream's retention period is 168 hours (7 days). +// maximum value of a stream's retention period is 8760 hours (365 days). // // If you choose a longer stream retention period, this operation increases // the time period during which records that have not yet expired are accessible. @@ -1624,7 +1631,10 @@ func (c *Kinesis) ListShardsRequest(input *ListShardsInput) (req *request.Reques // ListShards API operation for Amazon Kinesis. // // Lists the shards in a stream and provides information about each shard. This -// operation has a limit of 100 transactions per second per data stream. +// operation has a limit of 1000 transactions per second per data stream. +// +// This action does not list expired shards. For information about expired shards, +// see Data Routing, Data Persistence, and Shard State after a Reshard (https://docs.aws.amazon.com/streams/latest/dev/kinesis-using-sdk-java-after-resharding.html#kinesis-using-sdk-java-resharding-data-routing). // // This API is a new operation that is used by the Amazon Kinesis Client Library // (KCL). If you have a fine-grained IAM policy that only allows specific operations, @@ -1892,7 +1902,7 @@ func (c *Kinesis) ListStreamsRequest(input *ListStreamsInput) (req *request.Requ // The number of streams may be too large to return from a single call to ListStreams. // You can limit the number of returned streams using the Limit parameter. If // you do not specify a value for the Limit parameter, Kinesis Data Streams -// uses the default limit, which is currently 10. +// uses the default limit, which is currently 100. // // You can detect if there are more streams available to list by using the HasMoreStreams // flag from the returned output. If there are more streams available, you can @@ -2144,8 +2154,8 @@ func (c *Kinesis) MergeShardsRequest(input *MergeShardsInput) (req *request.Requ // is in the CREATING, UPDATING, or DELETING state, MergeShards returns a ResourceInUseException. // If the specified stream does not exist, MergeShards returns a ResourceNotFoundException. // -// You can use DescribeStream to check the state of the stream, which is returned -// in StreamStatus. +// You can use DescribeStreamSummary to check the state of the stream, which +// is returned in StreamStatus. // // MergeShards is an asynchronous operation. Upon receiving a MergeShards request, // Amazon Kinesis Data Streams immediately returns a response and sets the StreamStatus @@ -2153,8 +2163,8 @@ func (c *Kinesis) MergeShardsRequest(input *MergeShardsInput) (req *request.Requ // the StreamStatus to ACTIVE. Read and write operations continue to work while // the stream is in the UPDATING state. // -// You use DescribeStream to determine the shard IDs that are specified in the -// MergeShards request. +// You use DescribeStreamSummary and the ListShards APIs to determine the shard +// IDs that are specified in the MergeShards request. // // If you try to operate on too many streams in parallel using CreateStream, // DeleteStream, MergeShards, or SplitShard, you receive a LimitExceededException. @@ -2185,6 +2195,8 @@ func (c *Kinesis) MergeShardsRequest(input *MergeShardsInput) (req *request.Requ // The requested resource exceeds the maximum number allowed, or the number // of concurrent stream requests exceeds the maximum number allowed. // +// * ValidationException +// // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/MergeShards func (c *Kinesis) MergeShards(input *MergeShardsInput) (*MergeShardsOutput, error) { req, out := c.MergeShardsRequest(input) @@ -2315,8 +2327,8 @@ func (c *Kinesis) PutRecordRequest(input *PutRecordInput) (req *request.Request, // large for the available throughput. Reduce the frequency or size of your // requests. For more information, see Streams Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide, and Error Retries and -// Exponential Backoff in AWS (https://docs.aws.amazon.com/general/latest/gr/api-retries.html) -// in the AWS General Reference. +// Exponential Backoff in Amazon Web Services (https://docs.aws.amazon.com/general/latest/gr/api-retries.html) +// in the Amazon Web Services General Reference. // // * KMSDisabledException // The request was rejected because the specified customer master key (CMK) @@ -2326,7 +2338,7 @@ func (c *Kinesis) PutRecordRequest(input *PutRecordInput) (req *request.Request, // The request was rejected because the state of the specified resource isn't // valid for this request. For more information, see How Key State Affects Use // of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the Amazon Web Services Key Management Service Developer Guide. // // * KMSAccessDeniedException // The ciphertext references a key that doesn't exist or that you don't have @@ -2337,12 +2349,12 @@ func (c *Kinesis) PutRecordRequest(input *PutRecordInput) (req *request.Request, // found. // // * KMSOptInRequired -// The AWS access key ID needs a subscription for the service. +// The Amazon Web Services access key ID needs a subscription for the service. // // * KMSThrottlingException // The request was denied due to request throttling. For more information about // throttling, see Limits (https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) -// in the AWS Key Management Service Developer Guide. +// in the Amazon Web Services Key Management Service Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/PutRecord func (c *Kinesis) PutRecord(input *PutRecordInput) (*PutRecordOutput, error) { @@ -2497,8 +2509,8 @@ func (c *Kinesis) PutRecordsRequest(input *PutRecordsInput) (req *request.Reques // large for the available throughput. Reduce the frequency or size of your // requests. For more information, see Streams Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide, and Error Retries and -// Exponential Backoff in AWS (https://docs.aws.amazon.com/general/latest/gr/api-retries.html) -// in the AWS General Reference. +// Exponential Backoff in Amazon Web Services (https://docs.aws.amazon.com/general/latest/gr/api-retries.html) +// in the Amazon Web Services General Reference. // // * KMSDisabledException // The request was rejected because the specified customer master key (CMK) @@ -2508,7 +2520,7 @@ func (c *Kinesis) PutRecordsRequest(input *PutRecordsInput) (req *request.Reques // The request was rejected because the state of the specified resource isn't // valid for this request. For more information, see How Key State Affects Use // of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the Amazon Web Services Key Management Service Developer Guide. // // * KMSAccessDeniedException // The ciphertext references a key that doesn't exist or that you don't have @@ -2519,12 +2531,12 @@ func (c *Kinesis) PutRecordsRequest(input *PutRecordsInput) (req *request.Reques // found. // // * KMSOptInRequired -// The AWS access key ID needs a subscription for the service. +// The Amazon Web Services access key ID needs a subscription for the service. // // * KMSThrottlingException // The request was denied due to request throttling. For more information about // throttling, see Limits (https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) -// in the AWS Key Management Service Developer Guide. +// in the Amazon Web Services Key Management Service Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/PutRecords func (c *Kinesis) PutRecords(input *PutRecordsInput) (*PutRecordsOutput, error) { @@ -2817,9 +2829,9 @@ func (c *Kinesis) SplitShardRequest(input *SplitShardInput) (req *request.Reques // more information, see Split a Shard (https://docs.aws.amazon.com/kinesis/latest/dev/kinesis-using-sdk-java-resharding-split.html) // in the Amazon Kinesis Data Streams Developer Guide. // -// You can use DescribeStream to determine the shard ID and hash key values -// for the ShardToSplit and NewStartingHashKey parameters that are specified -// in the SplitShard request. +// You can use DescribeStreamSummary and the ListShards APIs to determine the +// shard ID and hash key values for the ShardToSplit and NewStartingHashKey +// parameters that are specified in the SplitShard request. // // SplitShard is an asynchronous operation. Upon receiving a SplitShard request, // Kinesis Data Streams immediately returns a response and sets the stream status @@ -2827,19 +2839,18 @@ func (c *Kinesis) SplitShardRequest(input *SplitShardInput) (req *request.Reques // the stream status to ACTIVE. Read and write operations continue to work while // the stream is in the UPDATING state. // -// You can use DescribeStream to check the status of the stream, which is returned -// in StreamStatus. If the stream is in the ACTIVE state, you can call SplitShard. -// If a stream is in CREATING or UPDATING or DELETING states, DescribeStream -// returns a ResourceInUseException. +// You can use DescribeStreamSummary to check the status of the stream, which +// is returned in StreamStatus. If the stream is in the ACTIVE state, you can +// call SplitShard. // -// If the specified stream does not exist, DescribeStream returns a ResourceNotFoundException. +// If the specified stream does not exist, DescribeStreamSummary returns a ResourceNotFoundException. // If you try to create more shards than are authorized for your account, you // receive a LimitExceededException. // -// For the default shard limit for an AWS account, see Kinesis Data Streams -// Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) +// For the default shard limit for an Amazon Web Services account, see Kinesis +// Data Streams Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide. To increase this limit, -// contact AWS Support (https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html). +// contact Amazon Web Services Support (https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html). // // If you try to operate on too many streams simultaneously using CreateStream, // DeleteStream, MergeShards, and/or SplitShard, you receive a LimitExceededException. @@ -2870,6 +2881,8 @@ func (c *Kinesis) SplitShardRequest(input *SplitShardInput) (req *request.Reques // The requested resource exceeds the maximum number allowed, or the number // of concurrent stream requests exceeds the maximum number allowed. // +// * ValidationException +// // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/SplitShard func (c *Kinesis) SplitShard(input *SplitShardInput) (*SplitShardOutput, error) { req, out := c.SplitShardRequest(input) @@ -2937,8 +2950,8 @@ func (c *Kinesis) StartStreamEncryptionRequest(input *StartStreamEncryptionInput // StartStreamEncryption API operation for Amazon Kinesis. // -// Enables or updates server-side encryption using an AWS KMS key for a specified -// stream. +// Enables or updates server-side encryption using an Amazon Web Services KMS +// key for a specified stream. // // Starting encryption is an asynchronous operation. Upon receiving the request, // Kinesis Data Streams returns immediately and sets the status of the stream @@ -2949,8 +2962,8 @@ func (c *Kinesis) StartStreamEncryptionRequest(input *StartStreamEncryptionInput // the status of the stream is ACTIVE, encryption begins for records written // to the stream. // -// API Limits: You can successfully apply a new AWS KMS key for server-side -// encryption 25 times in a rolling 24-hour period. +// API Limits: You can successfully apply a new Amazon Web Services KMS key +// for server-side encryption 25 times in a rolling 24-hour period. // // Note: It can take up to 5 seconds after the stream is in an ACTIVE status // before all records written to the stream are encrypted. After you enable @@ -2989,7 +3002,7 @@ func (c *Kinesis) StartStreamEncryptionRequest(input *StartStreamEncryptionInput // The request was rejected because the state of the specified resource isn't // valid for this request. For more information, see How Key State Affects Use // of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the Amazon Web Services Key Management Service Developer Guide. // // * KMSAccessDeniedException // The ciphertext references a key that doesn't exist or that you don't have @@ -3000,12 +3013,12 @@ func (c *Kinesis) StartStreamEncryptionRequest(input *StartStreamEncryptionInput // found. // // * KMSOptInRequired -// The AWS access key ID needs a subscription for the service. +// The Amazon Web Services access key ID needs a subscription for the service. // // * KMSThrottlingException // The request was denied due to request throttling. For more information about // throttling, see Limits (https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) -// in the AWS Key Management Service Developer Guide. +// in the Amazon Web Services Key Management Service Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/StartStreamEncryption func (c *Kinesis) StartStreamEncryption(input *StartStreamEncryptionInput) (*StartStreamEncryptionOutput, error) { @@ -3215,7 +3228,8 @@ func (c *Kinesis) SubscribeToShardRequest(input *SubscribeToShardInput) (req *re // If you call SubscribeToShard again with the same ConsumerARN and ShardId // within 5 seconds of a successful call, you'll get a ResourceInUseException. // If you call SubscribeToShard 5 seconds or more after a successful call, the -// first connection will expire and the second call will take over the subscription. +// second call takes over the subscription and the previous connection expires +// or fails with a ResourceInUseException. // // For an example of how to use this operations, see Enhanced Fan-Out Using // the Kinesis Data Streams API (/streams/latest/dev/building-enhanced-consumers-api.html). @@ -3544,14 +3558,15 @@ func (c *Kinesis) UpdateShardCountRequest(input *UpdateShardCountInput) (req *re // // * Scale down below half your current shard count for a stream // -// * Scale up to more than 500 shards in a stream +// * Scale up to more than 10000 shards in a stream // -// * Scale a stream with more than 500 shards down unless the result is less -// than 500 shards +// * Scale a stream with more than 10000 shards down unless the result is +// less than 10000 shards // // * Scale up to more than the shard limit for your account // -// For the default limits for an AWS account, see Streams Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) +// For the default limits for an Amazon Web Services account, see Streams Limits +// (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide. To request an increase // in the call rate limit, the shard limit for this API, or your overall shard // limit, use the limits form (https://console.aws.amazon.com/support/v1#/case/create?issueType=service-limit-increase&limitType=service-code-kinesis). @@ -3580,6 +3595,8 @@ func (c *Kinesis) UpdateShardCountRequest(input *UpdateShardCountInput) (req *re // The requested resource could not be found. The stream might not be specified // correctly. // +// * ValidationException +// // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/UpdateShardCount func (c *Kinesis) UpdateShardCount(input *UpdateShardCountInput) (*UpdateShardCountOutput, error) { req, out := c.UpdateShardCountRequest(input) @@ -3602,6 +3619,101 @@ func (c *Kinesis) UpdateShardCountWithContext(ctx aws.Context, input *UpdateShar return out, req.Send() } +const opUpdateStreamMode = "UpdateStreamMode" + +// UpdateStreamModeRequest generates a "aws/request.Request" representing the +// client's request for the UpdateStreamMode 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 UpdateStreamMode for more information on using the UpdateStreamMode +// 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 UpdateStreamModeRequest method. +// req, resp := client.UpdateStreamModeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/UpdateStreamMode +func (c *Kinesis) UpdateStreamModeRequest(input *UpdateStreamModeInput) (req *request.Request, output *UpdateStreamModeOutput) { + op := &request.Operation{ + Name: opUpdateStreamMode, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateStreamModeInput{} + } + + output = &UpdateStreamModeOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateStreamMode API operation for Amazon Kinesis. +// +// Updates the capacity mode of the data stream. Currently, in Kinesis Data +// Streams, you can choose between an on-demand capacity mode and a provisioned +// capacity mode for your data stream. +// +// 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 Kinesis's +// API operation UpdateStreamMode for usage and error information. +// +// Returned Error Types: +// * InvalidArgumentException +// A specified parameter exceeds its restrictions, is not supported, or can't +// be used. For more information, see the returned message. +// +// * LimitExceededException +// The requested resource exceeds the maximum number allowed, or the number +// of concurrent stream requests exceeds the maximum number allowed. +// +// * ResourceInUseException +// The resource is not available for this operation. For successful operation, +// the resource must be in the ACTIVE state. +// +// * ResourceNotFoundException +// The requested resource could not be found. The stream might not be specified +// correctly. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/UpdateStreamMode +func (c *Kinesis) UpdateStreamMode(input *UpdateStreamModeInput) (*UpdateStreamModeOutput, error) { + req, out := c.UpdateStreamModeRequest(input) + return out, req.Send() +} + +// UpdateStreamModeWithContext is the same as UpdateStreamMode with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateStreamMode 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 *Kinesis) UpdateStreamModeWithContext(ctx aws.Context, input *UpdateStreamModeInput, opts ...request.Option) (*UpdateStreamModeOutput, error) { + req, out := c.UpdateStreamModeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + // Represents the input for AddTagsToStream. type AddTagsToStreamInput struct { _ struct{} `type:"structure"` @@ -3691,6 +3803,8 @@ func (s AddTagsToStreamOutput) GoString() string { return s.String() } +// Output parameter of the GetRecords API. The existing child shard of the current +// shard. type ChildShard struct { _ struct{} `type:"structure"` @@ -3700,9 +3814,13 @@ type ChildShard struct { // HashKeyRange is a required field HashKeyRange *HashKeyRange `type:"structure" required:"true"` + // The current shard that is the parent of the existing child shard. + // // ParentShards is a required field ParentShards []*string `type:"list" required:"true"` + // The shard ID of the existing child shard of the current shard. + // // ShardId is a required field ShardId *string `min:"1" type:"string" required:"true"` } @@ -3905,15 +4023,19 @@ type CreateStreamInput struct { // The number of shards that the stream will use. The throughput of the stream // is a function of the number of shards; more shards are required for greater // provisioned throughput. - // - // ShardCount is a required field - ShardCount *int64 `min:"1" type:"integer" required:"true"` + ShardCount *int64 `min:"1" type:"integer"` + + // Indicates the capacity mode of the data stream. Currently, in Kinesis Data + // Streams, you can choose between an on-demand capacity mode and a provisioned + // capacity mode for your data streams. + StreamModeDetails *StreamModeDetails `type:"structure"` - // A name to identify the stream. The stream name is scoped to the AWS account - // used by the application that creates the stream. It is also scoped by AWS - // Region. That is, two streams in two different AWS accounts can have the same - // name. Two streams in the same AWS account but in two different Regions can - // also have the same name. + // A name to identify the stream. The stream name is scoped to the Amazon Web + // Services account used by the application that creates the stream. It is also + // scoped by Amazon Web Services Region. That is, two streams in two different + // Amazon Web Services accounts can have the same name. Two streams in the same + // Amazon Web Services account but in two different Regions can also have the + // same name. // // StreamName is a required field StreamName *string `min:"1" type:"string" required:"true"` @@ -3940,9 +4062,6 @@ func (s CreateStreamInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateStreamInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateStreamInput"} - if s.ShardCount == nil { - invalidParams.Add(request.NewErrParamRequired("ShardCount")) - } if s.ShardCount != nil && *s.ShardCount < 1 { invalidParams.Add(request.NewErrParamMinValue("ShardCount", 1)) } @@ -3952,6 +4071,11 @@ func (s *CreateStreamInput) Validate() error { if s.StreamName != nil && len(*s.StreamName) < 1 { invalidParams.Add(request.NewErrParamMinLen("StreamName", 1)) } + if s.StreamModeDetails != nil { + if err := s.StreamModeDetails.Validate(); err != nil { + invalidParams.AddNested("StreamModeDetails", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -3965,6 +4089,12 @@ func (s *CreateStreamInput) SetShardCount(v int64) *CreateStreamInput { return s } +// SetStreamModeDetails sets the StreamModeDetails field's value. +func (s *CreateStreamInput) SetStreamModeDetails(v *StreamModeDetails) *CreateStreamInput { + s.StreamModeDetails = v + return s +} + // SetStreamName sets the StreamName field's value. func (s *CreateStreamInput) SetStreamName(v string) *CreateStreamInput { s.StreamName = &v @@ -4176,8 +4306,8 @@ type DeregisterStreamConsumerInput struct { ConsumerName *string `min:"1" type:"string"` // The ARN of the Kinesis data stream that the consumer is registered with. - // For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces - // (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams). + // For more information, see Amazon Resource Names (ARNs) and Amazon Web Services + // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams). StreamARN *string `min:"1" type:"string"` } @@ -4283,6 +4413,16 @@ func (s DescribeLimitsInput) GoString() string { type DescribeLimitsOutput struct { _ struct{} `type:"structure"` + // Indicates the number of data streams with the on-demand capacity mode. + // + // OnDemandStreamCount is a required field + OnDemandStreamCount *int64 `type:"integer" required:"true"` + + // The maximum number of data streams with the on-demand capacity mode. + // + // OnDemandStreamCountLimit is a required field + OnDemandStreamCountLimit *int64 `type:"integer" required:"true"` + // The number of open shards. // // OpenShardCount is a required field @@ -4312,6 +4452,18 @@ func (s DescribeLimitsOutput) GoString() string { return s.String() } +// SetOnDemandStreamCount sets the OnDemandStreamCount field's value. +func (s *DescribeLimitsOutput) SetOnDemandStreamCount(v int64) *DescribeLimitsOutput { + s.OnDemandStreamCount = &v + return s +} + +// SetOnDemandStreamCountLimit sets the OnDemandStreamCountLimit field's value. +func (s *DescribeLimitsOutput) SetOnDemandStreamCountLimit(v int64) *DescribeLimitsOutput { + s.OnDemandStreamCountLimit = &v + return s +} + // SetOpenShardCount sets the OpenShardCount field's value. func (s *DescribeLimitsOutput) SetOpenShardCount(v int64) *DescribeLimitsOutput { s.OpenShardCount = &v @@ -4334,8 +4486,8 @@ type DescribeStreamConsumerInput struct { ConsumerName *string `min:"1" type:"string"` // The ARN of the Kinesis data stream that the consumer is registered with. - // For more information, see Amazon Resource Names (ARNs) and AWS Service Namespaces - // (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams). + // For more information, see Amazon Resource Names (ARNs) and Amazon Web Services + // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams). StreamARN *string `min:"1" type:"string"` } @@ -4432,10 +4584,17 @@ type DescribeStreamInput struct { _ struct{} `type:"structure"` // The shard ID of the shard to start with. + // + // Specify this parameter to indicate that you want to describe the stream starting + // with the shard whose ID immediately follows ExclusiveStartShardId. + // + // If you don't specify this parameter, the default behavior for DescribeStream + // is to describe the stream starting with the first shard in the stream. ExclusiveStartShardId *string `min:"1" type:"string"` // The maximum number of shards to return in a single call. The default value - // is 100. If you specify a value greater than 100, at most 100 shards are returned. + // is 100. If you specify a value greater than 100, at most 100 results are + // returned. Limit *int64 `min:"1" type:"integer"` // The name of the stream to describe. @@ -5106,6 +5265,8 @@ func (s *GetRecordsInput) SetShardIterator(v string) *GetRecordsInput { type GetRecordsOutput struct { _ struct{} `type:"structure"` + // The list of the current shard's child shards, returned in the GetRecords + // API's response only when the end of the current shard is reached. ChildShards []*ChildShard `type:"list"` // The number of milliseconds the GetRecords response is from the tip of the @@ -5811,7 +5972,7 @@ func (s *KMSDisabledException) RequestID() string { // The request was rejected because the state of the specified resource isn't // valid for this request. For more information, see How Key State Affects Use // of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) -// in the AWS Key Management Service Developer Guide. +// in the Amazon Web Services Key Management Service Developer Guide. type KMSInvalidStateException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -6000,7 +6161,7 @@ func (s *KMSNotFoundException) RequestID() string { return s.RespMetadata.RequestID } -// The AWS access key ID needs a subscription for the service. +// The Amazon Web Services access key ID needs a subscription for the service. type KMSOptInRequired struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -6096,7 +6257,7 @@ func (s *KMSOptInRequired) RequestID() string { // The request was denied due to request throttling. For more information about // throttling, see Limits (https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) -// in the AWS Key Management Service Developer Guide. +// in the Amazon Web Services Key Management Service Developer Guide. type KMSThrottlingException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -6269,8 +6430,9 @@ type ListShardsInput struct { ExclusiveStartShardId *string `min:"1" type:"string"` // The maximum number of shards to return in a single call to ListShards. The - // minimum value you can specify for this parameter is 1, and the maximum is - // 10,000, which is also the default. + // maximum number of shards to return in a single call. The default value is + // 1000. If you specify a value greater than 1000, at most 1000 results are + // returned. // // When the number of shards to be listed is greater than the value of MaxResults, // the response contains a NextToken value that you can use in a subsequent @@ -6298,6 +6460,25 @@ type ListShardsInput struct { // If you specify an expired token in a call to ListShards, you get ExpiredNextTokenException. NextToken *string `min:"1" type:"string"` + // Enables you to filter out the response of the ListShards API. You can only + // specify one filter at a time. + // + // If you use the ShardFilter parameter when invoking the ListShards API, the + // Type is the required property and must be specified. If you specify the AT_TRIM_HORIZON, + // FROM_TRIM_HORIZON, or AT_LATEST types, you do not need to specify either + // the ShardId or the Timestamp optional properties. + // + // If you specify the AFTER_SHARD_ID type, you must also provide the value for + // the optional ShardId property. The ShardId property is identical in fuctionality + // to the ExclusiveStartShardId parameter of the ListShards API. When ShardId + // property is specified, the response includes the shards starting with the + // shard whose ID immediately follows the ShardId that you provided. + // + // If you specify the AT_TIMESTAMP or FROM_TIMESTAMP_ID type, you must also + // provide the value for the optional Timestamp property. If you specify the + // AT_TIMESTAMP type, then all shards that were open at the provided timestamp + // are returned. If you specify the FROM_TIMESTAMP type, then all shards starting + // from the provided timestamp to TIP are returned. ShardFilter *ShardFilter `type:"structure"` // Specify this input parameter to distinguish data streams that have the same @@ -6453,7 +6634,8 @@ type ListStreamConsumersInput struct { _ struct{} `type:"structure"` // The maximum number of consumers that you want a single call of ListStreamConsumers - // to return. + // to return. The default value is 100. If you specify a value greater than + // 100, at most 100 results are returned. MaxResults *int64 `min:"1" type:"integer"` // When the number of consumers that are registered with the data stream is @@ -6480,8 +6662,8 @@ type ListStreamConsumersInput struct { NextToken *string `min:"1" type:"string"` // The ARN of the Kinesis data stream for which you want to list the registered - // consumers. For more information, see Amazon Resource Names (ARNs) and AWS - // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams). + // consumers. For more information, see Amazon Resource Names (ARNs) and Amazon + // Web Services Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams). // // StreamARN is a required field StreamARN *string `min:"1" type:"string" required:"true"` @@ -6619,7 +6801,8 @@ type ListStreamsInput struct { // The name of the stream to start the list with. ExclusiveStartStreamName *string `min:"1" type:"string"` - // The maximum number of streams to list. + // The maximum number of streams to list. The default value is 100. If you specify + // a value greater than 100, at most 100 results are returned. Limit *int64 `min:"1" type:"integer"` } @@ -6678,8 +6861,8 @@ type ListStreamsOutput struct { // HasMoreStreams is a required field HasMoreStreams *bool `type:"boolean" required:"true"` - // The names of the streams that are associated with the AWS account making - // the ListStreams request. + // The names of the streams that are associated with the Amazon Web Services + // account making the ListStreams request. // // StreamNames is a required field StreamNames []*string `type:"list" required:"true"` @@ -6949,8 +7132,8 @@ func (s MergeShardsOutput) GoString() string { // large for the available throughput. Reduce the frequency or size of your // requests. For more information, see Streams Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide, and Error Retries and -// Exponential Backoff in AWS (https://docs.aws.amazon.com/general/latest/gr/api-retries.html) -// in the AWS General Reference. +// Exponential Backoff in Amazon Web Services (https://docs.aws.amazon.com/general/latest/gr/api-retries.html) +// in the Amazon Web Services General Reference. type ProvisionedThroughputExceededException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -7140,7 +7323,7 @@ type PutRecordOutput struct { // * NONE: Do not encrypt the records in the stream. // // * KMS: Use server-side encryption on the records in the stream using a - // customer-managed AWS KMS key. + // customer-managed Amazon Web Services KMS key. EncryptionType *string `type:"string" enum:"EncryptionType"` // The sequence number identifier that was assigned to the put data record. @@ -7280,17 +7463,16 @@ type PutRecordsOutput struct { // * NONE: Do not encrypt the records. // // * KMS: Use server-side encryption on the records using a customer-managed - // AWS KMS key. + // Amazon Web Services KMS key. EncryptionType *string `type:"string" enum:"EncryptionType"` // The number of unsuccessfully processed records in a PutRecords request. FailedRecordCount *int64 `min:"1" type:"integer"` - // An array of successfully and unsuccessfully processed record results, correlated - // with the request by natural ordering. A record that is successfully added - // to a stream includes SequenceNumber and ShardId in the result. A record that - // fails to be added to a stream includes ErrorCode and ErrorMessage in the - // result. + // An array of successfully and unsuccessfully processed record results. A record + // that is successfully added to a stream includes SequenceNumber and ShardId + // in the result. A record that fails to be added to a stream includes ErrorCode + // and ErrorMessage in the result. // // Records is a required field Records []*PutRecordsResultEntry `min:"1" type:"list" required:"true"` @@ -7507,7 +7689,7 @@ type Record struct { // * NONE: Do not encrypt the records in the stream. // // * KMS: Use server-side encryption on the records in the stream using a - // customer-managed AWS KMS key. + // customer-managed Amazon Web Services KMS key. EncryptionType *string `type:"string" enum:"EncryptionType"` // Identifies which shard in the stream the data record is assigned to. @@ -7579,8 +7761,8 @@ type RegisterStreamConsumerInput struct { ConsumerName *string `min:"1" type:"string" required:"true"` // The ARN of the Kinesis data stream that you want to register the consumer - // with. For more info, see Amazon Resource Names (ARNs) and AWS Service Namespaces - // (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams). + // with. For more info, see Amazon Resource Names (ARNs) and Amazon Web Services + // Service Namespaces (https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams). // // StreamARN is a required field StreamARN *string `min:"1" type:"string" required:"true"` @@ -8071,13 +8253,46 @@ func (s *Shard) SetShardId(v string) *Shard { return s } +// The request parameter used to filter out the response of the ListShards API. type ShardFilter struct { _ struct{} `type:"structure"` + // The exclusive start shardID speified in the ShardFilter parameter. This property + // can only be used if the AFTER_SHARD_ID shard type is specified. ShardId *string `min:"1" type:"string"` + // The timestamps specified in the ShardFilter parameter. A timestamp is a Unix + // epoch date with precision in milliseconds. For example, 2016-04-04T19:58:46.480-00:00 + // or 1459799926.480. This property can only be used if FROM_TIMESTAMP or AT_TIMESTAMP + // shard types are specified. Timestamp *time.Time `type:"timestamp"` + // The shard type specified in the ShardFilter parameter. This is a required + // property of the ShardFilter parameter. + // + // You can specify the following valid values: + // + // * AFTER_SHARD_ID - the response includes all the shards, starting with + // the shard whose ID immediately follows the ShardId that you provided. + // + // * AT_TRIM_HORIZON - the response includes all the shards that were open + // at TRIM_HORIZON. + // + // * FROM_TRIM_HORIZON - (default), the response includes all the shards + // within the retention period of the data stream (trim to tip). + // + // * AT_LATEST - the response includes only the currently open shards of + // the data stream. + // + // * AT_TIMESTAMP - the response includes all shards whose start timestamp + // is less than or equal to the given timestamp and end timestamp is greater + // than or equal to the given timestamp or still open. + // + // * FROM_TIMESTAMP - the response incldues all closed shards whose end timestamp + // is greater than or equal to the given timestamp and also all open shards. + // Corrected to TRIM_HORIZON of the data stream if FROM_TIMESTAMP is less + // than the TRIM_HORIZON value. + // // Type is a required field Type *string `type:"string" required:"true" enum:"ShardFilterType"` } @@ -8251,11 +8466,11 @@ type StartStreamEncryptionInput struct { // EncryptionType is a required field EncryptionType *string `type:"string" required:"true" enum:"EncryptionType"` - // The GUID for the customer-managed AWS KMS key to use for encryption. This - // value can be a globally unique identifier, a fully specified Amazon Resource - // Name (ARN) to either an alias or a key, or an alias name prefixed by "alias/".You - // can also use a master key owned by Kinesis Data Streams by specifying the - // alias aws/kinesis. + // The GUID for the customer-managed Amazon Web Services KMS key to use for + // encryption. This value can be a globally unique identifier, a fully specified + // Amazon Resource Name (ARN) to either an alias or a key, or an alias name + // prefixed by "alias/".You can also use a master key owned by Kinesis Data + // Streams by specifying the alias aws/kinesis. // // * Key ARN example: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 // @@ -8359,6 +8574,7 @@ func (s StartStreamEncryptionOutput) GoString() string { return s.String() } +// The starting position in the data stream from which to start streaming. type StartingPosition struct { _ struct{} `type:"structure"` @@ -8454,11 +8670,11 @@ type StopStreamEncryptionInput struct { // EncryptionType is a required field EncryptionType *string `type:"string" required:"true" enum:"EncryptionType"` - // The GUID for the customer-managed AWS KMS key to use for encryption. This - // value can be a globally unique identifier, a fully specified Amazon Resource - // Name (ARN) to either an alias or a key, or an alias name prefixed by "alias/".You - // can also use a master key owned by Kinesis Data Streams by specifying the - // alias aws/kinesis. + // The GUID for the customer-managed Amazon Web Services KMS key to use for + // encryption. This value can be a globally unique identifier, a fully specified + // Amazon Resource Name (ARN) to either an alias or a key, or an alias name + // prefixed by "alias/".You can also use a master key owned by Kinesis Data + // Streams by specifying the alias aws/kinesis. // // * Key ARN example: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 // @@ -8572,7 +8788,7 @@ type StreamDescription struct { // * NONE: Do not encrypt the records in the stream. // // * KMS: Use server-side encryption on the records in the stream using a - // customer-managed AWS KMS key. + // customer-managed Amazon Web Services KMS key. EncryptionType *string `type:"string" enum:"EncryptionType"` // Represents the current enhanced monitoring settings of the stream. @@ -8585,10 +8801,11 @@ type StreamDescription struct { // HasMoreShards is a required field HasMoreShards *bool `type:"boolean" required:"true"` - // The GUID for the customer-managed AWS KMS key to use for encryption. This - // value can be a globally unique identifier, a fully specified ARN to either - // an alias or a key, or an alias name prefixed by "alias/".You can also use - // a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis. + // The GUID for the customer-managed Amazon Web Services KMS key to use for + // encryption. This value can be a globally unique identifier, a fully specified + // ARN to either an alias or a key, or an alias name prefixed by "alias/".You + // can also use a master key owned by Kinesis Data Streams by specifying the + // alias aws/kinesis. // // * Key ARN example: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 // @@ -8622,6 +8839,11 @@ type StreamDescription struct { // StreamCreationTimestamp is a required field StreamCreationTimestamp *time.Time `type:"timestamp" required:"true"` + // Specifies the capacity mode to which you want to set your data stream. Currently, + // in Kinesis Data Streams, you can choose between an on-demand capacity mode + // and a provisioned capacity mode for your data streams. + StreamModeDetails *StreamModeDetails `type:"structure"` + // The name of the stream being described. // // StreamName is a required field @@ -8714,6 +8936,12 @@ func (s *StreamDescription) SetStreamCreationTimestamp(v time.Time) *StreamDescr return s } +// SetStreamModeDetails sets the StreamModeDetails field's value. +func (s *StreamDescription) SetStreamModeDetails(v *StreamModeDetails) *StreamDescription { + s.StreamModeDetails = v + return s +} + // SetStreamName sets the StreamName field's value. func (s *StreamDescription) SetStreamName(v string) *StreamDescription { s.StreamName = &v @@ -8745,10 +8973,11 @@ type StreamDescriptionSummary struct { // EnhancedMonitoring is a required field EnhancedMonitoring []*EnhancedMetrics `type:"list" required:"true"` - // The GUID for the customer-managed AWS KMS key to use for encryption. This - // value can be a globally unique identifier, a fully specified ARN to either - // an alias or a key, or an alias name prefixed by "alias/".You can also use - // a master key owned by Kinesis Data Streams by specifying the alias aws/kinesis. + // The GUID for the customer-managed Amazon Web Services KMS key to use for + // encryption. This value can be a globally unique identifier, a fully specified + // ARN to either an alias or a key, or an alias name prefixed by "alias/".You + // can also use a master key owned by Kinesis Data Streams by specifying the + // alias aws/kinesis. // // * Key ARN example: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012 // @@ -8781,6 +9010,11 @@ type StreamDescriptionSummary struct { // StreamCreationTimestamp is a required field StreamCreationTimestamp *time.Time `type:"timestamp" required:"true"` + // Specifies the capacity mode to which you want to set your data stream. Currently, + // in Kinesis Data Streams, you can choose between an on-demand ycapacity mode + // and a provisioned capacity mode for your data streams. + StreamModeDetails *StreamModeDetails `type:"structure"` + // The name of the stream being described. // // StreamName is a required field @@ -8873,6 +9107,12 @@ func (s *StreamDescriptionSummary) SetStreamCreationTimestamp(v time.Time) *Stre return s } +// SetStreamModeDetails sets the StreamModeDetails field's value. +func (s *StreamDescriptionSummary) SetStreamModeDetails(v *StreamModeDetails) *StreamDescriptionSummary { + s.StreamModeDetails = v + return s +} + // SetStreamName sets the StreamName field's value. func (s *StreamDescriptionSummary) SetStreamName(v string) *StreamDescriptionSummary { s.StreamName = &v @@ -8885,11 +9125,64 @@ func (s *StreamDescriptionSummary) SetStreamStatus(v string) *StreamDescriptionS return s } +// Specifies the capacity mode to which you want to set your data stream. Currently, +// in Kinesis Data Streams, you can choose between an on-demand capacity mode +// and a provisioned capacity mode for your data streams. +type StreamModeDetails struct { + _ struct{} `type:"structure"` + + // Specifies the capacity mode to which you want to set your data stream. Currently, + // in Kinesis Data Streams, you can choose between an on-demand capacity mode + // and a provisioned capacity mode for your data streams. + // + // StreamMode is a required field + StreamMode *string `type:"string" required:"true" enum:"StreamMode"` +} + +// 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 StreamModeDetails) 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 StreamModeDetails) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StreamModeDetails) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StreamModeDetails"} + if s.StreamMode == nil { + invalidParams.Add(request.NewErrParamRequired("StreamMode")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStreamMode sets the StreamMode field's value. +func (s *StreamModeDetails) SetStreamMode(v string) *StreamModeDetails { + s.StreamMode = &v + return s +} + // After you call SubscribeToShard, Kinesis Data Streams sends events of this // type over an HTTP/2 connection to your consumer. type SubscribeToShardEvent struct { _ struct{} `type:"structure"` + // The list of the child shards of the current shard, returned only at the end + // of the current shard. ChildShards []*ChildShard `type:"list"` // Use this as SequenceNumber in the next call to SubscribeToShard, with StartingPosition @@ -9167,6 +9460,8 @@ type SubscribeToShardInput struct { // ShardId is a required field ShardId *string `min:"1" type:"string" required:"true"` + // The starting position in the data stream from which to start streaming. + // // StartingPosition is a required field StartingPosition *StartingPosition `type:"structure" required:"true"` } @@ -9369,12 +9664,12 @@ type UpdateShardCountInput struct { // // * Set this value below half your current shard count for a stream. // - // * Set this value to more than 500 shards in a stream (the default limit - // for shard count per stream is 500 per account per region), unless you + // * Set this value to more than 10000 shards in a stream (the default limit + // for shard count per stream is 10000 per account per region), unless you // request a limit increase. // - // * Scale a stream with more than 500 shards down unless you set this value - // to less than 500 shards. + // * Scale a stream with more than 10000 shards down unless you set this + // value to less than 10000 shards. // // TargetShardCount is a required field TargetShardCount *int64 `min:"1" type:"integer" required:"true"` @@ -9490,6 +9785,161 @@ func (s *UpdateShardCountOutput) SetTargetShardCount(v int64) *UpdateShardCountO return s } +type UpdateStreamModeInput struct { + _ struct{} `type:"structure"` + + // Specifies the ARN of the data stream whose capacity mode you want to update. + // + // StreamARN is a required field + StreamARN *string `min:"1" type:"string" required:"true"` + + // Specifies the capacity mode to which you want to set your data stream. Currently, + // in Kinesis Data Streams, you can choose between an on-demand capacity mode + // and a provisioned capacity mode for your data streams. + // + // StreamModeDetails is a required field + StreamModeDetails *StreamModeDetails `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 UpdateStreamModeInput) 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 UpdateStreamModeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateStreamModeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateStreamModeInput"} + if s.StreamARN == nil { + invalidParams.Add(request.NewErrParamRequired("StreamARN")) + } + if s.StreamARN != nil && len(*s.StreamARN) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StreamARN", 1)) + } + if s.StreamModeDetails == nil { + invalidParams.Add(request.NewErrParamRequired("StreamModeDetails")) + } + if s.StreamModeDetails != nil { + if err := s.StreamModeDetails.Validate(); err != nil { + invalidParams.AddNested("StreamModeDetails", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStreamARN sets the StreamARN field's value. +func (s *UpdateStreamModeInput) SetStreamARN(v string) *UpdateStreamModeInput { + s.StreamARN = &v + return s +} + +// SetStreamModeDetails sets the StreamModeDetails field's value. +func (s *UpdateStreamModeInput) SetStreamModeDetails(v *StreamModeDetails) *UpdateStreamModeInput { + s.StreamModeDetails = v + return s +} + +type UpdateStreamModeOutput 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 UpdateStreamModeOutput) 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 UpdateStreamModeOutput) GoString() string { + return s.String() +} + +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} + const ( // ConsumerStatusCreating is a ConsumerStatus enum value ConsumerStatusCreating = "CREATING" @@ -9638,6 +10088,22 @@ func ShardIteratorType_Values() []string { } } +const ( + // StreamModeProvisioned is a StreamMode enum value + StreamModeProvisioned = "PROVISIONED" + + // StreamModeOnDemand is a StreamMode enum value + StreamModeOnDemand = "ON_DEMAND" +) + +// StreamMode_Values returns all elements of the StreamMode enum +func StreamMode_Values() []string { + return []string{ + StreamModeProvisioned, + StreamModeOnDemand, + } +} + const ( // StreamStatusCreating is a StreamStatus enum value StreamStatusCreating = "CREATING" diff --git a/service/kinesis/errors.go b/service/kinesis/errors.go index da7880ee586..4bf344c594c 100644 --- a/service/kinesis/errors.go +++ b/service/kinesis/errors.go @@ -54,7 +54,7 @@ const ( // The request was rejected because the state of the specified resource isn't // valid for this request. For more information, see How Key State Affects Use // of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) - // in the AWS Key Management Service Developer Guide. + // in the Amazon Web Services Key Management Service Developer Guide. ErrCodeKMSInvalidStateException = "KMSInvalidStateException" // ErrCodeKMSNotFoundException for service response error code @@ -67,7 +67,7 @@ const ( // ErrCodeKMSOptInRequired for service response error code // "KMSOptInRequired". // - // The AWS access key ID needs a subscription for the service. + // The Amazon Web Services access key ID needs a subscription for the service. ErrCodeKMSOptInRequired = "KMSOptInRequired" // ErrCodeKMSThrottlingException for service response error code @@ -75,7 +75,7 @@ const ( // // The request was denied due to request throttling. For more information about // throttling, see Limits (https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) - // in the AWS Key Management Service Developer Guide. + // in the Amazon Web Services Key Management Service Developer Guide. ErrCodeKMSThrottlingException = "KMSThrottlingException" // ErrCodeLimitExceededException for service response error code @@ -92,8 +92,8 @@ const ( // large for the available throughput. Reduce the frequency or size of your // requests. For more information, see Streams Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide, and Error Retries and - // Exponential Backoff in AWS (https://docs.aws.amazon.com/general/latest/gr/api-retries.html) - // in the AWS General Reference. + // Exponential Backoff in Amazon Web Services (https://docs.aws.amazon.com/general/latest/gr/api-retries.html) + // in the Amazon Web Services General Reference. ErrCodeProvisionedThroughputExceededException = "ProvisionedThroughputExceededException" // ErrCodeResourceInUseException for service response error code @@ -109,6 +109,10 @@ const ( // The requested resource could not be found. The stream might not be specified // correctly. ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + ErrCodeValidationException = "ValidationException" ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ @@ -126,4 +130,5 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "ProvisionedThroughputExceededException": newErrorProvisionedThroughputExceededException, "ResourceInUseException": newErrorResourceInUseException, "ResourceNotFoundException": newErrorResourceNotFoundException, + "ValidationException": newErrorValidationException, } diff --git a/service/kinesis/kinesisiface/interface.go b/service/kinesis/kinesisiface/interface.go index 7c0b834bb48..251cda68c07 100644 --- a/service/kinesis/kinesisiface/interface.go +++ b/service/kinesis/kinesisiface/interface.go @@ -181,6 +181,10 @@ type KinesisAPI interface { UpdateShardCountWithContext(aws.Context, *kinesis.UpdateShardCountInput, ...request.Option) (*kinesis.UpdateShardCountOutput, error) UpdateShardCountRequest(*kinesis.UpdateShardCountInput) (*request.Request, *kinesis.UpdateShardCountOutput) + UpdateStreamMode(*kinesis.UpdateStreamModeInput) (*kinesis.UpdateStreamModeOutput, error) + UpdateStreamModeWithContext(aws.Context, *kinesis.UpdateStreamModeInput, ...request.Option) (*kinesis.UpdateStreamModeOutput, error) + UpdateStreamModeRequest(*kinesis.UpdateStreamModeInput) (*request.Request, *kinesis.UpdateStreamModeOutput) + WaitUntilStreamExists(*kinesis.DescribeStreamInput) error WaitUntilStreamExistsWithContext(aws.Context, *kinesis.DescribeStreamInput, ...request.WaiterOption) error diff --git a/service/lakeformation/api.go b/service/lakeformation/api.go index 9cc3d7834b4..a854cc655a2 100644 --- a/service/lakeformation/api.go +++ b/service/lakeformation/api.go @@ -4,13 +4,14 @@ package lakeformation import ( "fmt" + "io" "time" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/awsutil" "github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/private/protocol" - "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" + "github.com/aws/aws-sdk-go/private/protocol/restjson" ) const opAddLFTagsToResource = "AddLFTagsToResource" @@ -43,7 +44,7 @@ func (c *LakeFormation) AddLFTagsToResourceRequest(input *AddLFTagsToResourceInp op := &request.Operation{ Name: opAddLFTagsToResource, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/AddLFTagsToResource", } if input == nil { @@ -57,7 +58,7 @@ func (c *LakeFormation) AddLFTagsToResourceRequest(input *AddLFTagsToResourceInp // AddLFTagsToResource API operation for AWS Lake Formation. // -// Attaches one or more tags to an existing resource. +// Attaches one or more LF-tags to an existing resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -137,7 +138,7 @@ func (c *LakeFormation) BatchGrantPermissionsRequest(input *BatchGrantPermission op := &request.Operation{ Name: opBatchGrantPermissions, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/BatchGrantPermissions", } if input == nil { @@ -219,7 +220,7 @@ func (c *LakeFormation) BatchRevokePermissionsRequest(input *BatchRevokePermissi op := &request.Operation{ Name: opBatchRevokePermissions, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/BatchRevokePermissions", } if input == nil { @@ -271,69 +272,67 @@ func (c *LakeFormation) BatchRevokePermissionsWithContext(ctx aws.Context, input return out, req.Send() } -const opCreateLFTag = "CreateLFTag" +const opCancelTransaction = "CancelTransaction" -// CreateLFTagRequest generates a "aws/request.Request" representing the -// client's request for the CreateLFTag operation. The "output" return +// CancelTransactionRequest generates a "aws/request.Request" representing the +// client's request for the CancelTransaction 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 CreateLFTag for more information on using the CreateLFTag +// See CancelTransaction for more information on using the CancelTransaction // 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 CreateLFTagRequest method. -// req, resp := client.CreateLFTagRequest(params) +// // Example sending a request using the CancelTransactionRequest method. +// req, resp := client.CancelTransactionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CreateLFTag -func (c *LakeFormation) CreateLFTagRequest(input *CreateLFTagInput) (req *request.Request, output *CreateLFTagOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CancelTransaction +func (c *LakeFormation) CancelTransactionRequest(input *CancelTransactionInput) (req *request.Request, output *CancelTransactionOutput) { op := &request.Operation{ - Name: opCreateLFTag, + Name: opCancelTransaction, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/CancelTransaction", } if input == nil { - input = &CreateLFTagInput{} + input = &CancelTransactionInput{} } - output = &CreateLFTagOutput{} + output = &CancelTransactionOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// CreateLFTag API operation for AWS Lake Formation. +// CancelTransaction API operation for AWS Lake Formation. // -// Creates a tag with the specified name and values. +// Attempts to cancel the specified transaction. Returns an exception if the +// transaction was previously committed. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's -// API operation CreateLFTag for usage and error information. +// API operation CancelTransaction for usage and error information. // // Returned Error Types: -// * EntityNotFoundException -// A specified entity does not exist -// // * InvalidInputException // The input provided was not valid. // -// * ResourceNumberLimitExceededException -// A resource numerical limit was exceeded. +// * EntityNotFoundException +// A specified entity does not exist // // * InternalServiceException // An internal service error occurred. @@ -341,691 +340,686 @@ func (c *LakeFormation) CreateLFTagRequest(input *CreateLFTagInput) (req *reques // * OperationTimeoutException // The operation timed out. // -// * AccessDeniedException -// Access to a resource was denied. +// * TransactionCommittedException +// Contains details about an error where the specified transaction has already +// been committed and cannot be used for UpdateTableObjects. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CreateLFTag -func (c *LakeFormation) CreateLFTag(input *CreateLFTagInput) (*CreateLFTagOutput, error) { - req, out := c.CreateLFTagRequest(input) +// * TransactionCommitInProgressException +// Contains details about an error related to a transaction commit that was +// in progress. +// +// * ConcurrentModificationException +// Two processes are trying to modify a resource simultaneously. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CancelTransaction +func (c *LakeFormation) CancelTransaction(input *CancelTransactionInput) (*CancelTransactionOutput, error) { + req, out := c.CancelTransactionRequest(input) return out, req.Send() } -// CreateLFTagWithContext is the same as CreateLFTag with the addition of +// CancelTransactionWithContext is the same as CancelTransaction with the addition of // the ability to pass a context and additional request options. // -// See CreateLFTag for details on how to use this API operation. +// See CancelTransaction 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 *LakeFormation) CreateLFTagWithContext(ctx aws.Context, input *CreateLFTagInput, opts ...request.Option) (*CreateLFTagOutput, error) { - req, out := c.CreateLFTagRequest(input) +func (c *LakeFormation) CancelTransactionWithContext(ctx aws.Context, input *CancelTransactionInput, opts ...request.Option) (*CancelTransactionOutput, error) { + req, out := c.CancelTransactionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeleteLFTag = "DeleteLFTag" +const opCommitTransaction = "CommitTransaction" -// DeleteLFTagRequest generates a "aws/request.Request" representing the -// client's request for the DeleteLFTag operation. The "output" return +// CommitTransactionRequest generates a "aws/request.Request" representing the +// client's request for the CommitTransaction 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 DeleteLFTag for more information on using the DeleteLFTag +// See CommitTransaction for more information on using the CommitTransaction // 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 DeleteLFTagRequest method. -// req, resp := client.DeleteLFTagRequest(params) +// // Example sending a request using the CommitTransactionRequest method. +// req, resp := client.CommitTransactionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteLFTag -func (c *LakeFormation) DeleteLFTagRequest(input *DeleteLFTagInput) (req *request.Request, output *DeleteLFTagOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CommitTransaction +func (c *LakeFormation) CommitTransactionRequest(input *CommitTransactionInput) (req *request.Request, output *CommitTransactionOutput) { op := &request.Operation{ - Name: opDeleteLFTag, + Name: opCommitTransaction, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/CommitTransaction", } if input == nil { - input = &DeleteLFTagInput{} + input = &CommitTransactionInput{} } - output = &DeleteLFTagOutput{} + output = &CommitTransactionOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeleteLFTag API operation for AWS Lake Formation. +// CommitTransaction API operation for AWS Lake Formation. // -// Deletes the specified tag key name. If the attribute key does not exist or -// the tag does not exist, then the operation will not do anything. If the attribute -// key exists, then the operation checks if any resources are tagged with this -// attribute key, if yes, the API throws a 400 Exception with the message "Delete -// not allowed" as the tag key is still attached with resources. You can consider -// untagging resources with this tag key. +// Attempts to commit the specified transaction. Returns an exception if the +// transaction was previously aborted. This API action is idempotent if called +// multiple times for the same transaction. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's -// API operation DeleteLFTag for usage and error information. +// API operation CommitTransaction for usage and error information. // // Returned Error Types: -// * EntityNotFoundException -// A specified entity does not exist -// // * InvalidInputException // The input provided was not valid. // +// * EntityNotFoundException +// A specified entity does not exist +// // * InternalServiceException // An internal service error occurred. // // * OperationTimeoutException // The operation timed out. // -// * AccessDeniedException -// Access to a resource was denied. +// * TransactionCanceledException +// Contains details about an error related to a transaction that was cancelled. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteLFTag -func (c *LakeFormation) DeleteLFTag(input *DeleteLFTagInput) (*DeleteLFTagOutput, error) { - req, out := c.DeleteLFTagRequest(input) +// * ConcurrentModificationException +// Two processes are trying to modify a resource simultaneously. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CommitTransaction +func (c *LakeFormation) CommitTransaction(input *CommitTransactionInput) (*CommitTransactionOutput, error) { + req, out := c.CommitTransactionRequest(input) return out, req.Send() } -// DeleteLFTagWithContext is the same as DeleteLFTag with the addition of +// CommitTransactionWithContext is the same as CommitTransaction with the addition of // the ability to pass a context and additional request options. // -// See DeleteLFTag for details on how to use this API operation. +// See CommitTransaction 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 *LakeFormation) DeleteLFTagWithContext(ctx aws.Context, input *DeleteLFTagInput, opts ...request.Option) (*DeleteLFTagOutput, error) { - req, out := c.DeleteLFTagRequest(input) +func (c *LakeFormation) CommitTransactionWithContext(ctx aws.Context, input *CommitTransactionInput, opts ...request.Option) (*CommitTransactionOutput, error) { + req, out := c.CommitTransactionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDeregisterResource = "DeregisterResource" +const opCreateDataCellsFilter = "CreateDataCellsFilter" -// DeregisterResourceRequest generates a "aws/request.Request" representing the -// client's request for the DeregisterResource operation. The "output" return +// CreateDataCellsFilterRequest generates a "aws/request.Request" representing the +// client's request for the CreateDataCellsFilter 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 DeregisterResource for more information on using the DeregisterResource +// See CreateDataCellsFilter for more information on using the CreateDataCellsFilter // 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 DeregisterResourceRequest method. -// req, resp := client.DeregisterResourceRequest(params) +// // Example sending a request using the CreateDataCellsFilterRequest method. +// req, resp := client.CreateDataCellsFilterRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeregisterResource -func (c *LakeFormation) DeregisterResourceRequest(input *DeregisterResourceInput) (req *request.Request, output *DeregisterResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CreateDataCellsFilter +func (c *LakeFormation) CreateDataCellsFilterRequest(input *CreateDataCellsFilterInput) (req *request.Request, output *CreateDataCellsFilterOutput) { op := &request.Operation{ - Name: opDeregisterResource, + Name: opCreateDataCellsFilter, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/CreateDataCellsFilter", } if input == nil { - input = &DeregisterResourceInput{} + input = &CreateDataCellsFilterInput{} } - output = &DeregisterResourceOutput{} + output = &CreateDataCellsFilterOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DeregisterResource API operation for AWS Lake Formation. +// CreateDataCellsFilter API operation for AWS Lake Formation. // -// Deregisters the resource as managed by the Data Catalog. -// -// When you deregister a path, Lake Formation removes the path from the inline -// policy attached to your service-linked role. +// Creates a data cell filter to allow one to grant access to certain columns +// on certain rows. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's -// API operation DeregisterResource for usage and error information. +// API operation CreateDataCellsFilter for usage and error information. // // Returned Error Types: +// * AlreadyExistsException +// A resource to be created or added already exists. +// // * InvalidInputException // The input provided was not valid. // +// * EntityNotFoundException +// A specified entity does not exist +// +// * ResourceNumberLimitExceededException +// A resource numerical limit was exceeded. +// // * InternalServiceException // An internal service error occurred. // // * OperationTimeoutException // The operation timed out. // -// * EntityNotFoundException -// A specified entity does not exist +// * AccessDeniedException +// Access to a resource was denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeregisterResource -func (c *LakeFormation) DeregisterResource(input *DeregisterResourceInput) (*DeregisterResourceOutput, error) { - req, out := c.DeregisterResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CreateDataCellsFilter +func (c *LakeFormation) CreateDataCellsFilter(input *CreateDataCellsFilterInput) (*CreateDataCellsFilterOutput, error) { + req, out := c.CreateDataCellsFilterRequest(input) return out, req.Send() } -// DeregisterResourceWithContext is the same as DeregisterResource with the addition of +// CreateDataCellsFilterWithContext is the same as CreateDataCellsFilter with the addition of // the ability to pass a context and additional request options. // -// See DeregisterResource for details on how to use this API operation. +// See CreateDataCellsFilter 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 *LakeFormation) DeregisterResourceWithContext(ctx aws.Context, input *DeregisterResourceInput, opts ...request.Option) (*DeregisterResourceOutput, error) { - req, out := c.DeregisterResourceRequest(input) +func (c *LakeFormation) CreateDataCellsFilterWithContext(ctx aws.Context, input *CreateDataCellsFilterInput, opts ...request.Option) (*CreateDataCellsFilterOutput, error) { + req, out := c.CreateDataCellsFilterRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeResource = "DescribeResource" +const opCreateLFTag = "CreateLFTag" -// DescribeResourceRequest generates a "aws/request.Request" representing the -// client's request for the DescribeResource operation. The "output" return +// CreateLFTagRequest generates a "aws/request.Request" representing the +// client's request for the CreateLFTag 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 DescribeResource for more information on using the DescribeResource +// See CreateLFTag for more information on using the CreateLFTag // 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 DescribeResourceRequest method. -// req, resp := client.DescribeResourceRequest(params) +// // Example sending a request using the CreateLFTagRequest method. +// req, resp := client.CreateLFTagRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeResource -func (c *LakeFormation) DescribeResourceRequest(input *DescribeResourceInput) (req *request.Request, output *DescribeResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CreateLFTag +func (c *LakeFormation) CreateLFTagRequest(input *CreateLFTagInput) (req *request.Request, output *CreateLFTagOutput) { op := &request.Operation{ - Name: opDescribeResource, + Name: opCreateLFTag, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/CreateLFTag", } if input == nil { - input = &DescribeResourceInput{} + input = &CreateLFTagInput{} } - output = &DescribeResourceOutput{} + output = &CreateLFTagOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// DescribeResource API operation for AWS Lake Formation. +// CreateLFTag API operation for AWS Lake Formation. // -// Retrieves the current data access role for the given resource registered -// in AWS Lake Formation. +// Creates an LF-tag with the specified name and values. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's -// API operation DescribeResource for usage and error information. +// API operation CreateLFTag for usage and error information. // // Returned Error Types: +// * EntityNotFoundException +// A specified entity does not exist +// // * InvalidInputException // The input provided was not valid. // +// * ResourceNumberLimitExceededException +// A resource numerical limit was exceeded. +// // * InternalServiceException // An internal service error occurred. // // * OperationTimeoutException // The operation timed out. // -// * EntityNotFoundException -// A specified entity does not exist +// * AccessDeniedException +// Access to a resource was denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeResource -func (c *LakeFormation) DescribeResource(input *DescribeResourceInput) (*DescribeResourceOutput, error) { - req, out := c.DescribeResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/CreateLFTag +func (c *LakeFormation) CreateLFTag(input *CreateLFTagInput) (*CreateLFTagOutput, error) { + req, out := c.CreateLFTagRequest(input) return out, req.Send() } -// DescribeResourceWithContext is the same as DescribeResource with the addition of +// CreateLFTagWithContext is the same as CreateLFTag with the addition of // the ability to pass a context and additional request options. // -// See DescribeResource for details on how to use this API operation. +// See CreateLFTag 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 *LakeFormation) DescribeResourceWithContext(ctx aws.Context, input *DescribeResourceInput, opts ...request.Option) (*DescribeResourceOutput, error) { - req, out := c.DescribeResourceRequest(input) +func (c *LakeFormation) CreateLFTagWithContext(ctx aws.Context, input *CreateLFTagInput, opts ...request.Option) (*CreateLFTagOutput, error) { + req, out := c.CreateLFTagRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetDataLakeSettings = "GetDataLakeSettings" +const opDeleteDataCellsFilter = "DeleteDataCellsFilter" -// GetDataLakeSettingsRequest generates a "aws/request.Request" representing the -// client's request for the GetDataLakeSettings operation. The "output" return +// DeleteDataCellsFilterRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDataCellsFilter 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 GetDataLakeSettings for more information on using the GetDataLakeSettings +// See DeleteDataCellsFilter for more information on using the DeleteDataCellsFilter // 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 GetDataLakeSettingsRequest method. -// req, resp := client.GetDataLakeSettingsRequest(params) +// // Example sending a request using the DeleteDataCellsFilterRequest method. +// req, resp := client.DeleteDataCellsFilterRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetDataLakeSettings -func (c *LakeFormation) GetDataLakeSettingsRequest(input *GetDataLakeSettingsInput) (req *request.Request, output *GetDataLakeSettingsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteDataCellsFilter +func (c *LakeFormation) DeleteDataCellsFilterRequest(input *DeleteDataCellsFilterInput) (req *request.Request, output *DeleteDataCellsFilterOutput) { op := &request.Operation{ - Name: opGetDataLakeSettings, + Name: opDeleteDataCellsFilter, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/DeleteDataCellsFilter", } if input == nil { - input = &GetDataLakeSettingsInput{} + input = &DeleteDataCellsFilterInput{} } - output = &GetDataLakeSettingsOutput{} + output = &DeleteDataCellsFilterOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// GetDataLakeSettings API operation for AWS Lake Formation. +// DeleteDataCellsFilter API operation for AWS Lake Formation. // -// Retrieves the list of the data lake administrators of a Lake Formation-managed -// data lake. +// Deletes a data cell filter. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's -// API operation GetDataLakeSettings for usage and error information. +// API operation DeleteDataCellsFilter for usage and error information. // // Returned Error Types: -// * InternalServiceException -// An internal service error occurred. -// // * InvalidInputException // The input provided was not valid. // // * EntityNotFoundException // A specified entity does not exist // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetDataLakeSettings -func (c *LakeFormation) GetDataLakeSettings(input *GetDataLakeSettingsInput) (*GetDataLakeSettingsOutput, error) { - req, out := c.GetDataLakeSettingsRequest(input) +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * AccessDeniedException +// Access to a resource was denied. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteDataCellsFilter +func (c *LakeFormation) DeleteDataCellsFilter(input *DeleteDataCellsFilterInput) (*DeleteDataCellsFilterOutput, error) { + req, out := c.DeleteDataCellsFilterRequest(input) return out, req.Send() } -// GetDataLakeSettingsWithContext is the same as GetDataLakeSettings with the addition of +// DeleteDataCellsFilterWithContext is the same as DeleteDataCellsFilter with the addition of // the ability to pass a context and additional request options. // -// See GetDataLakeSettings for details on how to use this API operation. +// See DeleteDataCellsFilter 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 *LakeFormation) GetDataLakeSettingsWithContext(ctx aws.Context, input *GetDataLakeSettingsInput, opts ...request.Option) (*GetDataLakeSettingsOutput, error) { - req, out := c.GetDataLakeSettingsRequest(input) +func (c *LakeFormation) DeleteDataCellsFilterWithContext(ctx aws.Context, input *DeleteDataCellsFilterInput, opts ...request.Option) (*DeleteDataCellsFilterOutput, error) { + req, out := c.DeleteDataCellsFilterRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetEffectivePermissionsForPath = "GetEffectivePermissionsForPath" +const opDeleteLFTag = "DeleteLFTag" -// GetEffectivePermissionsForPathRequest generates a "aws/request.Request" representing the -// client's request for the GetEffectivePermissionsForPath operation. The "output" return +// DeleteLFTagRequest generates a "aws/request.Request" representing the +// client's request for the DeleteLFTag 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 GetEffectivePermissionsForPath for more information on using the GetEffectivePermissionsForPath +// See DeleteLFTag for more information on using the DeleteLFTag // 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 GetEffectivePermissionsForPathRequest method. -// req, resp := client.GetEffectivePermissionsForPathRequest(params) +// // Example sending a request using the DeleteLFTagRequest method. +// req, resp := client.DeleteLFTagRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetEffectivePermissionsForPath -func (c *LakeFormation) GetEffectivePermissionsForPathRequest(input *GetEffectivePermissionsForPathInput) (req *request.Request, output *GetEffectivePermissionsForPathOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteLFTag +func (c *LakeFormation) DeleteLFTagRequest(input *DeleteLFTagInput) (req *request.Request, output *DeleteLFTagOutput) { op := &request.Operation{ - Name: opGetEffectivePermissionsForPath, + Name: opDeleteLFTag, HTTPMethod: "POST", - HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, + HTTPPath: "/DeleteLFTag", } if input == nil { - input = &GetEffectivePermissionsForPathInput{} + input = &DeleteLFTagInput{} } - output = &GetEffectivePermissionsForPathOutput{} + output = &DeleteLFTagOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// GetEffectivePermissionsForPath API operation for AWS Lake Formation. +// DeleteLFTag API operation for AWS Lake Formation. // -// Returns the Lake Formation permissions for a specified table or database -// resource located at a path in Amazon S3. GetEffectivePermissionsForPath will -// not return databases and tables if the catalog is encrypted. +// Deletes the specified LF-tag key name. If the attribute key does not exist +// or the LF-tag does not exist, then the operation will not do anything. If +// the attribute key exists, then the operation checks if any resources are +// tagged with this attribute key, if yes, the API throws a 400 Exception with +// the message "Delete not allowed" as the LF-tag key is still attached with +// resources. You can consider untagging resources with this LF-tag key. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's -// API operation GetEffectivePermissionsForPath for usage and error information. +// API operation DeleteLFTag for usage and error information. // // Returned Error Types: +// * EntityNotFoundException +// A specified entity does not exist +// // * InvalidInputException // The input provided was not valid. // -// * EntityNotFoundException -// A specified entity does not exist +// * InternalServiceException +// An internal service error occurred. // // * OperationTimeoutException // The operation timed out. // -// * InternalServiceException -// An internal service error occurred. +// * AccessDeniedException +// Access to a resource was denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetEffectivePermissionsForPath -func (c *LakeFormation) GetEffectivePermissionsForPath(input *GetEffectivePermissionsForPathInput) (*GetEffectivePermissionsForPathOutput, error) { - req, out := c.GetEffectivePermissionsForPathRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteLFTag +func (c *LakeFormation) DeleteLFTag(input *DeleteLFTagInput) (*DeleteLFTagOutput, error) { + req, out := c.DeleteLFTagRequest(input) return out, req.Send() } -// GetEffectivePermissionsForPathWithContext is the same as GetEffectivePermissionsForPath with the addition of +// DeleteLFTagWithContext is the same as DeleteLFTag with the addition of // the ability to pass a context and additional request options. // -// See GetEffectivePermissionsForPath for details on how to use this API operation. +// See DeleteLFTag 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 *LakeFormation) GetEffectivePermissionsForPathWithContext(ctx aws.Context, input *GetEffectivePermissionsForPathInput, opts ...request.Option) (*GetEffectivePermissionsForPathOutput, error) { - req, out := c.GetEffectivePermissionsForPathRequest(input) +func (c *LakeFormation) DeleteLFTagWithContext(ctx aws.Context, input *DeleteLFTagInput, opts ...request.Option) (*DeleteLFTagOutput, error) { + req, out := c.DeleteLFTagRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// GetEffectivePermissionsForPathPages iterates over the pages of a GetEffectivePermissionsForPath operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. +const opDeleteObjectsOnCancel = "DeleteObjectsOnCancel" + +// DeleteObjectsOnCancelRequest generates a "aws/request.Request" representing the +// client's request for the DeleteObjectsOnCancel operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// See GetEffectivePermissionsForPath method for more information on how to use this operation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Note: This operation can generate multiple requests to a service. -// -// // Example iterating over at most 3 pages of a GetEffectivePermissionsForPath operation. -// pageNum := 0 -// err := client.GetEffectivePermissionsForPathPages(params, -// func(page *lakeformation.GetEffectivePermissionsForPathOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *LakeFormation) GetEffectivePermissionsForPathPages(input *GetEffectivePermissionsForPathInput, fn func(*GetEffectivePermissionsForPathOutput, bool) bool) error { - return c.GetEffectivePermissionsForPathPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// GetEffectivePermissionsForPathPagesWithContext same as GetEffectivePermissionsForPathPages 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 *LakeFormation) GetEffectivePermissionsForPathPagesWithContext(ctx aws.Context, input *GetEffectivePermissionsForPathInput, fn func(*GetEffectivePermissionsForPathOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *GetEffectivePermissionsForPathInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.GetEffectivePermissionsForPathRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*GetEffectivePermissionsForPathOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opGetLFTag = "GetLFTag" - -// GetLFTagRequest generates a "aws/request.Request" representing the -// client's request for the GetLFTag 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 GetLFTag for more information on using the GetLFTag +// See DeleteObjectsOnCancel for more information on using the DeleteObjectsOnCancel // 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 GetLFTagRequest method. -// req, resp := client.GetLFTagRequest(params) +// // Example sending a request using the DeleteObjectsOnCancelRequest method. +// req, resp := client.DeleteObjectsOnCancelRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetLFTag -func (c *LakeFormation) GetLFTagRequest(input *GetLFTagInput) (req *request.Request, output *GetLFTagOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteObjectsOnCancel +func (c *LakeFormation) DeleteObjectsOnCancelRequest(input *DeleteObjectsOnCancelInput) (req *request.Request, output *DeleteObjectsOnCancelOutput) { op := &request.Operation{ - Name: opGetLFTag, + Name: opDeleteObjectsOnCancel, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/DeleteObjectsOnCancel", } if input == nil { - input = &GetLFTagInput{} + input = &DeleteObjectsOnCancelInput{} } - output = &GetLFTagOutput{} + output = &DeleteObjectsOnCancelOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// GetLFTag API operation for AWS Lake Formation. +// DeleteObjectsOnCancel API operation for AWS Lake Formation. // -// Returns a tag definition. +// For a specific governed table, provides a list of Amazon S3 objects that +// will be written during the current transaction and that can be automatically +// deleted if the transaction is canceled. Without this call, no Amazon S3 objects +// are automatically deleted when a transaction cancels. +// +// The Glue ETL library function write_dynamic_frame.from_catalog() includes +// an option to automatically call DeleteObjectsOnCancel before writes. For +// more information, see Rolling Back Amazon S3 Writes (https://docs.aws.amazon.com/lake-formation/latest/dg/transactions-data-operations.html#rolling-back-writes). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's -// API operation GetLFTag for usage and error information. +// API operation DeleteObjectsOnCancel for usage and error information. // // Returned Error Types: -// * EntityNotFoundException -// A specified entity does not exist +// * InternalServiceException +// An internal service error occurred. // // * InvalidInputException // The input provided was not valid. // -// * InternalServiceException -// An internal service error occurred. -// // * OperationTimeoutException // The operation timed out. // -// * AccessDeniedException -// Access to a resource was denied. +// * EntityNotFoundException +// A specified entity does not exist // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetLFTag -func (c *LakeFormation) GetLFTag(input *GetLFTagInput) (*GetLFTagOutput, error) { - req, out := c.GetLFTagRequest(input) +// * TransactionCommittedException +// Contains details about an error where the specified transaction has already +// been committed and cannot be used for UpdateTableObjects. +// +// * TransactionCanceledException +// Contains details about an error related to a transaction that was cancelled. +// +// * ResourceNotReadyException +// Contains details about an error related to a resource which is not ready +// for a transaction. +// +// * ConcurrentModificationException +// Two processes are trying to modify a resource simultaneously. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeleteObjectsOnCancel +func (c *LakeFormation) DeleteObjectsOnCancel(input *DeleteObjectsOnCancelInput) (*DeleteObjectsOnCancelOutput, error) { + req, out := c.DeleteObjectsOnCancelRequest(input) return out, req.Send() } -// GetLFTagWithContext is the same as GetLFTag with the addition of +// DeleteObjectsOnCancelWithContext is the same as DeleteObjectsOnCancel with the addition of // the ability to pass a context and additional request options. // -// See GetLFTag for details on how to use this API operation. +// See DeleteObjectsOnCancel 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 *LakeFormation) GetLFTagWithContext(ctx aws.Context, input *GetLFTagInput, opts ...request.Option) (*GetLFTagOutput, error) { - req, out := c.GetLFTagRequest(input) +func (c *LakeFormation) DeleteObjectsOnCancelWithContext(ctx aws.Context, input *DeleteObjectsOnCancelInput, opts ...request.Option) (*DeleteObjectsOnCancelOutput, error) { + req, out := c.DeleteObjectsOnCancelRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetResourceLFTags = "GetResourceLFTags" +const opDeregisterResource = "DeregisterResource" -// GetResourceLFTagsRequest generates a "aws/request.Request" representing the -// client's request for the GetResourceLFTags operation. The "output" return +// DeregisterResourceRequest generates a "aws/request.Request" representing the +// client's request for the DeregisterResource 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 GetResourceLFTags for more information on using the GetResourceLFTags +// See DeregisterResource for more information on using the DeregisterResource // 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 GetResourceLFTagsRequest method. -// req, resp := client.GetResourceLFTagsRequest(params) +// // Example sending a request using the DeregisterResourceRequest method. +// req, resp := client.DeregisterResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetResourceLFTags -func (c *LakeFormation) GetResourceLFTagsRequest(input *GetResourceLFTagsInput) (req *request.Request, output *GetResourceLFTagsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeregisterResource +func (c *LakeFormation) DeregisterResourceRequest(input *DeregisterResourceInput) (req *request.Request, output *DeregisterResourceOutput) { op := &request.Operation{ - Name: opGetResourceLFTags, + Name: opDeregisterResource, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/DeregisterResource", } if input == nil { - input = &GetResourceLFTagsInput{} + input = &DeregisterResourceInput{} } - output = &GetResourceLFTagsOutput{} + output = &DeregisterResourceOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// GetResourceLFTags API operation for AWS Lake Formation. +// DeregisterResource API operation for AWS Lake Formation. +// +// Deregisters the resource as managed by the Data Catalog. // -// Returns the tags applied to a resource. +// When you deregister a path, Lake Formation removes the path from the inline +// policy attached to your service-linked role. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's -// API operation GetResourceLFTags for usage and error information. +// API operation DeregisterResource for usage and error information. // // Returned Error Types: -// * EntityNotFoundException -// A specified entity does not exist -// // * InvalidInputException // The input provided was not valid. // @@ -1035,176 +1029,172 @@ func (c *LakeFormation) GetResourceLFTagsRequest(input *GetResourceLFTagsInput) // * OperationTimeoutException // The operation timed out. // -// * GlueEncryptionException -// An encryption operation failed. -// -// * AccessDeniedException -// Access to a resource was denied. +// * EntityNotFoundException +// A specified entity does not exist // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetResourceLFTags -func (c *LakeFormation) GetResourceLFTags(input *GetResourceLFTagsInput) (*GetResourceLFTagsOutput, error) { - req, out := c.GetResourceLFTagsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DeregisterResource +func (c *LakeFormation) DeregisterResource(input *DeregisterResourceInput) (*DeregisterResourceOutput, error) { + req, out := c.DeregisterResourceRequest(input) return out, req.Send() } -// GetResourceLFTagsWithContext is the same as GetResourceLFTags with the addition of +// DeregisterResourceWithContext is the same as DeregisterResource with the addition of // the ability to pass a context and additional request options. // -// See GetResourceLFTags for details on how to use this API operation. +// See DeregisterResource 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 *LakeFormation) GetResourceLFTagsWithContext(ctx aws.Context, input *GetResourceLFTagsInput, opts ...request.Option) (*GetResourceLFTagsOutput, error) { - req, out := c.GetResourceLFTagsRequest(input) +func (c *LakeFormation) DeregisterResourceWithContext(ctx aws.Context, input *DeregisterResourceInput, opts ...request.Option) (*DeregisterResourceOutput, error) { + req, out := c.DeregisterResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGrantPermissions = "GrantPermissions" +const opDescribeResource = "DescribeResource" -// GrantPermissionsRequest generates a "aws/request.Request" representing the -// client's request for the GrantPermissions operation. The "output" return +// DescribeResourceRequest generates a "aws/request.Request" representing the +// client's request for the DescribeResource 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 GrantPermissions for more information on using the GrantPermissions +// See DescribeResource for more information on using the DescribeResource // 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 GrantPermissionsRequest method. -// req, resp := client.GrantPermissionsRequest(params) +// // Example sending a request using the DescribeResourceRequest method. +// req, resp := client.DescribeResourceRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GrantPermissions -func (c *LakeFormation) GrantPermissionsRequest(input *GrantPermissionsInput) (req *request.Request, output *GrantPermissionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeResource +func (c *LakeFormation) DescribeResourceRequest(input *DescribeResourceInput) (req *request.Request, output *DescribeResourceOutput) { op := &request.Operation{ - Name: opGrantPermissions, + Name: opDescribeResource, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/DescribeResource", } if input == nil { - input = &GrantPermissionsInput{} + input = &DescribeResourceInput{} } - output = &GrantPermissionsOutput{} + output = &DescribeResourceOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// GrantPermissions API operation for AWS Lake Formation. -// -// Grants permissions to the principal to access metadata in the Data Catalog -// and data organized in underlying data storage such as Amazon S3. +// DescribeResource API operation for AWS Lake Formation. // -// For information about permissions, see Security and Access Control to Metadata -// and Data (https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.html). +// Retrieves the current data access role for the given resource registered +// in Lake Formation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's -// API operation GrantPermissions for usage and error information. +// API operation DescribeResource for usage and error information. // // Returned Error Types: -// * ConcurrentModificationException -// Two processes are trying to modify a resource simultaneously. +// * InvalidInputException +// The input provided was not valid. +// +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. // // * EntityNotFoundException // A specified entity does not exist // -// * InvalidInputException -// The input provided was not valid. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GrantPermissions -func (c *LakeFormation) GrantPermissions(input *GrantPermissionsInput) (*GrantPermissionsOutput, error) { - req, out := c.GrantPermissionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeResource +func (c *LakeFormation) DescribeResource(input *DescribeResourceInput) (*DescribeResourceOutput, error) { + req, out := c.DescribeResourceRequest(input) return out, req.Send() } -// GrantPermissionsWithContext is the same as GrantPermissions with the addition of +// DescribeResourceWithContext is the same as DescribeResource with the addition of // the ability to pass a context and additional request options. // -// See GrantPermissions for details on how to use this API operation. +// See DescribeResource 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 *LakeFormation) GrantPermissionsWithContext(ctx aws.Context, input *GrantPermissionsInput, opts ...request.Option) (*GrantPermissionsOutput, error) { - req, out := c.GrantPermissionsRequest(input) +func (c *LakeFormation) DescribeResourceWithContext(ctx aws.Context, input *DescribeResourceInput, opts ...request.Option) (*DescribeResourceOutput, error) { + req, out := c.DescribeResourceRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListLFTags = "ListLFTags" +const opDescribeTransaction = "DescribeTransaction" -// ListLFTagsRequest generates a "aws/request.Request" representing the -// client's request for the ListLFTags operation. The "output" return +// DescribeTransactionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeTransaction 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 ListLFTags for more information on using the ListLFTags +// See DescribeTransaction for more information on using the DescribeTransaction // 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 ListLFTagsRequest method. -// req, resp := client.ListLFTagsRequest(params) +// // Example sending a request using the DescribeTransactionRequest method. +// req, resp := client.DescribeTransactionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListLFTags -func (c *LakeFormation) ListLFTagsRequest(input *ListLFTagsInput) (req *request.Request, output *ListLFTagsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeTransaction +func (c *LakeFormation) DescribeTransactionRequest(input *DescribeTransactionInput) (req *request.Request, output *DescribeTransactionOutput) { op := &request.Operation{ - Name: opListLFTags, + Name: opDescribeTransaction, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/DescribeTransaction", } if input == nil { - input = &ListLFTagsInput{} + input = &DescribeTransactionInput{} } - output = &ListLFTagsOutput{} + output = &DescribeTransactionOutput{} req = c.newRequest(op, input, output) return } -// ListLFTags API operation for AWS Lake Formation. +// DescribeTransaction API operation for AWS Lake Formation. // -// Lists tags that the requester has permission to view. +// Returns the details of a single transaction. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's -// API operation ListLFTags for usage and error information. +// API operation DescribeTransaction for usage and error information. // // Returned Error Types: // * EntityNotFoundException @@ -1219,209 +1209,249 @@ func (c *LakeFormation) ListLFTagsRequest(input *ListLFTagsInput) (req *request. // * OperationTimeoutException // The operation timed out. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListLFTags -func (c *LakeFormation) ListLFTags(input *ListLFTagsInput) (*ListLFTagsOutput, error) { - req, out := c.ListLFTagsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/DescribeTransaction +func (c *LakeFormation) DescribeTransaction(input *DescribeTransactionInput) (*DescribeTransactionOutput, error) { + req, out := c.DescribeTransactionRequest(input) return out, req.Send() } -// ListLFTagsWithContext is the same as ListLFTags with the addition of +// DescribeTransactionWithContext is the same as DescribeTransaction with the addition of // the ability to pass a context and additional request options. // -// See ListLFTags for details on how to use this API operation. +// See DescribeTransaction 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 *LakeFormation) ListLFTagsWithContext(ctx aws.Context, input *ListLFTagsInput, opts ...request.Option) (*ListLFTagsOutput, error) { - req, out := c.ListLFTagsRequest(input) +func (c *LakeFormation) DescribeTransactionWithContext(ctx aws.Context, input *DescribeTransactionInput, opts ...request.Option) (*DescribeTransactionOutput, error) { + req, out := c.DescribeTransactionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListPermissions = "ListPermissions" +const opExtendTransaction = "ExtendTransaction" -// ListPermissionsRequest generates a "aws/request.Request" representing the -// client's request for the ListPermissions operation. The "output" return +// ExtendTransactionRequest generates a "aws/request.Request" representing the +// client's request for the ExtendTransaction 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 ListPermissions for more information on using the ListPermissions +// See ExtendTransaction for more information on using the ExtendTransaction // 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 ListPermissionsRequest method. -// req, resp := client.ListPermissionsRequest(params) +// // Example sending a request using the ExtendTransactionRequest method. +// req, resp := client.ExtendTransactionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListPermissions -func (c *LakeFormation) ListPermissionsRequest(input *ListPermissionsInput) (req *request.Request, output *ListPermissionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ExtendTransaction +func (c *LakeFormation) ExtendTransactionRequest(input *ExtendTransactionInput) (req *request.Request, output *ExtendTransactionOutput) { op := &request.Operation{ - Name: opListPermissions, + Name: opExtendTransaction, HTTPMethod: "POST", - HTTPPath: "/", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, + HTTPPath: "/ExtendTransaction", } if input == nil { - input = &ListPermissionsInput{} + input = &ExtendTransactionInput{} } - output = &ListPermissionsOutput{} + output = &ExtendTransactionOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// ListPermissions API operation for AWS Lake Formation. -// -// Returns a list of the principal permissions on the resource, filtered by -// the permissions of the caller. For example, if you are granted an ALTER permission, -// you are able to see only the principal permissions for ALTER. +// ExtendTransaction API operation for AWS Lake Formation. // -// This operation returns only those permissions that have been explicitly granted. +// Indicates to the service that the specified transaction is still active and +// should not be treated as idle and aborted. // -// For information about permissions, see Security and Access Control to Metadata -// and Data (https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.html). +// Write transactions that remain idle for a long period are automatically aborted +// unless explicitly extended. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's -// API operation ListPermissions for usage and error information. +// API operation ExtendTransaction for usage and error information. // // Returned Error Types: // * InvalidInputException // The input provided was not valid. // -// * OperationTimeoutException -// The operation timed out. +// * EntityNotFoundException +// A specified entity does not exist // // * InternalServiceException // An internal service error occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListPermissions -func (c *LakeFormation) ListPermissions(input *ListPermissionsInput) (*ListPermissionsOutput, error) { - req, out := c.ListPermissionsRequest(input) +// * OperationTimeoutException +// The operation timed out. +// +// * TransactionCommittedException +// Contains details about an error where the specified transaction has already +// been committed and cannot be used for UpdateTableObjects. +// +// * TransactionCanceledException +// Contains details about an error related to a transaction that was cancelled. +// +// * TransactionCommitInProgressException +// Contains details about an error related to a transaction commit that was +// in progress. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ExtendTransaction +func (c *LakeFormation) ExtendTransaction(input *ExtendTransactionInput) (*ExtendTransactionOutput, error) { + req, out := c.ExtendTransactionRequest(input) return out, req.Send() } -// ListPermissionsWithContext is the same as ListPermissions with the addition of +// ExtendTransactionWithContext is the same as ExtendTransaction with the addition of // the ability to pass a context and additional request options. // -// See ListPermissions for details on how to use this API operation. +// See ExtendTransaction 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 *LakeFormation) ListPermissionsWithContext(ctx aws.Context, input *ListPermissionsInput, opts ...request.Option) (*ListPermissionsOutput, error) { - req, out := c.ListPermissionsRequest(input) +func (c *LakeFormation) ExtendTransactionWithContext(ctx aws.Context, input *ExtendTransactionInput, opts ...request.Option) (*ExtendTransactionOutput, error) { + req, out := c.ExtendTransactionRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListPermissionsPages iterates over the pages of a ListPermissions operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. +const opGetDataLakeSettings = "GetDataLakeSettings" + +// GetDataLakeSettingsRequest generates a "aws/request.Request" representing the +// client's request for the GetDataLakeSettings operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// See ListPermissions method for more information on how to use this operation. +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. // -// Note: This operation can generate multiple requests to a service. +// See GetDataLakeSettings for more information on using the GetDataLakeSettings +// API call, and error handling. // -// // Example iterating over at most 3 pages of a ListPermissions operation. -// pageNum := 0 -// err := client.ListPermissionsPages(params, -// func(page *lakeformation.ListPermissionsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) +// 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. // -func (c *LakeFormation) ListPermissionsPages(input *ListPermissionsInput, fn func(*ListPermissionsOutput, bool) bool) error { - return c.ListPermissionsPagesWithContext(aws.BackgroundContext(), input, fn) +// +// // Example sending a request using the GetDataLakeSettingsRequest method. +// req, resp := client.GetDataLakeSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetDataLakeSettings +func (c *LakeFormation) GetDataLakeSettingsRequest(input *GetDataLakeSettingsInput) (req *request.Request, output *GetDataLakeSettingsOutput) { + op := &request.Operation{ + Name: opGetDataLakeSettings, + HTTPMethod: "POST", + HTTPPath: "/GetDataLakeSettings", + } + + if input == nil { + input = &GetDataLakeSettingsInput{} + } + + output = &GetDataLakeSettingsOutput{} + req = c.newRequest(op, input, output) + return } -// ListPermissionsPagesWithContext same as ListPermissionsPages except -// it takes a Context and allows setting request options on the pages. +// GetDataLakeSettings API operation for AWS Lake Formation. +// +// Retrieves the list of the data lake administrators of a Lake Formation-managed +// data lake. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lake Formation's +// API operation GetDataLakeSettings for usage and error information. +// +// Returned Error Types: +// * InternalServiceException +// An internal service error occurred. +// +// * InvalidInputException +// The input provided was not valid. +// +// * EntityNotFoundException +// A specified entity does not exist +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetDataLakeSettings +func (c *LakeFormation) GetDataLakeSettings(input *GetDataLakeSettingsInput) (*GetDataLakeSettingsOutput, error) { + req, out := c.GetDataLakeSettingsRequest(input) + return out, req.Send() +} + +// GetDataLakeSettingsWithContext is the same as GetDataLakeSettings with the addition of +// the ability to pass a context and additional request options. +// +// See GetDataLakeSettings 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 *LakeFormation) ListPermissionsPagesWithContext(ctx aws.Context, input *ListPermissionsInput, fn func(*ListPermissionsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListPermissionsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListPermissionsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListPermissionsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() +func (c *LakeFormation) GetDataLakeSettingsWithContext(ctx aws.Context, input *GetDataLakeSettingsInput, opts ...request.Option) (*GetDataLakeSettingsOutput, error) { + req, out := c.GetDataLakeSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -const opListResources = "ListResources" +const opGetEffectivePermissionsForPath = "GetEffectivePermissionsForPath" -// ListResourcesRequest generates a "aws/request.Request" representing the -// client's request for the ListResources operation. The "output" return +// GetEffectivePermissionsForPathRequest generates a "aws/request.Request" representing the +// client's request for the GetEffectivePermissionsForPath 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 ListResources for more information on using the ListResources +// See GetEffectivePermissionsForPath for more information on using the GetEffectivePermissionsForPath // 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 ListResourcesRequest method. -// req, resp := client.ListResourcesRequest(params) +// // Example sending a request using the GetEffectivePermissionsForPathRequest method. +// req, resp := client.GetEffectivePermissionsForPathRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListResources -func (c *LakeFormation) ListResourcesRequest(input *ListResourcesInput) (req *request.Request, output *ListResourcesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetEffectivePermissionsForPath +func (c *LakeFormation) GetEffectivePermissionsForPathRequest(input *GetEffectivePermissionsForPathInput) (req *request.Request, output *GetEffectivePermissionsForPathOutput) { op := &request.Operation{ - Name: opListResources, + Name: opGetEffectivePermissionsForPath, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/GetEffectivePermissionsForPath", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, @@ -1431,94 +1461,99 @@ func (c *LakeFormation) ListResourcesRequest(input *ListResourcesInput) (req *re } if input == nil { - input = &ListResourcesInput{} + input = &GetEffectivePermissionsForPathInput{} } - output = &ListResourcesOutput{} + output = &GetEffectivePermissionsForPathOutput{} req = c.newRequest(op, input, output) return } -// ListResources API operation for AWS Lake Formation. +// GetEffectivePermissionsForPath API operation for AWS Lake Formation. // -// Lists the resources registered to be managed by the Data Catalog. +// Returns the Lake Formation permissions for a specified table or database +// resource located at a path in Amazon S3. GetEffectivePermissionsForPath will +// not return databases and tables if the catalog is encrypted. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's -// API operation ListResources for usage and error information. +// API operation GetEffectivePermissionsForPath for usage and error information. // // Returned Error Types: // * InvalidInputException // The input provided was not valid. // -// * InternalServiceException -// An internal service error occurred. +// * EntityNotFoundException +// A specified entity does not exist // // * OperationTimeoutException // The operation timed out. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListResources -func (c *LakeFormation) ListResources(input *ListResourcesInput) (*ListResourcesOutput, error) { - req, out := c.ListResourcesRequest(input) +// * InternalServiceException +// An internal service error occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetEffectivePermissionsForPath +func (c *LakeFormation) GetEffectivePermissionsForPath(input *GetEffectivePermissionsForPathInput) (*GetEffectivePermissionsForPathOutput, error) { + req, out := c.GetEffectivePermissionsForPathRequest(input) return out, req.Send() } -// ListResourcesWithContext is the same as ListResources with the addition of +// GetEffectivePermissionsForPathWithContext is the same as GetEffectivePermissionsForPath with the addition of // the ability to pass a context and additional request options. // -// See ListResources for details on how to use this API operation. +// See GetEffectivePermissionsForPath 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 *LakeFormation) ListResourcesWithContext(ctx aws.Context, input *ListResourcesInput, opts ...request.Option) (*ListResourcesOutput, error) { - req, out := c.ListResourcesRequest(input) +func (c *LakeFormation) GetEffectivePermissionsForPathWithContext(ctx aws.Context, input *GetEffectivePermissionsForPathInput, opts ...request.Option) (*GetEffectivePermissionsForPathOutput, error) { + req, out := c.GetEffectivePermissionsForPathRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListResourcesPages iterates over the pages of a ListResources operation, +// GetEffectivePermissionsForPathPages iterates over the pages of a GetEffectivePermissionsForPath operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListResources method for more information on how to use this operation. +// See GetEffectivePermissionsForPath 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 ListResources operation. +// // Example iterating over at most 3 pages of a GetEffectivePermissionsForPath operation. // pageNum := 0 -// err := client.ListResourcesPages(params, -// func(page *lakeformation.ListResourcesOutput, lastPage bool) bool { +// err := client.GetEffectivePermissionsForPathPages(params, +// func(page *lakeformation.GetEffectivePermissionsForPathOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *LakeFormation) ListResourcesPages(input *ListResourcesInput, fn func(*ListResourcesOutput, bool) bool) error { - return c.ListResourcesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *LakeFormation) GetEffectivePermissionsForPathPages(input *GetEffectivePermissionsForPathInput, fn func(*GetEffectivePermissionsForPathOutput, bool) bool) error { + return c.GetEffectivePermissionsForPathPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListResourcesPagesWithContext same as ListResourcesPages except +// GetEffectivePermissionsForPathPagesWithContext same as GetEffectivePermissionsForPathPages 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 *LakeFormation) ListResourcesPagesWithContext(ctx aws.Context, input *ListResourcesInput, fn func(*ListResourcesOutput, bool) bool, opts ...request.Option) error { +func (c *LakeFormation) GetEffectivePermissionsForPathPagesWithContext(ctx aws.Context, input *GetEffectivePermissionsForPathInput, fn func(*GetEffectivePermissionsForPathOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListResourcesInput + var inCpy *GetEffectivePermissionsForPathInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListResourcesRequest(inCpy) + req, _ := c.GetEffectivePermissionsForPathRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -1526,7 +1561,7 @@ func (c *LakeFormation) ListResourcesPagesWithContext(ctx aws.Context, input *Li } for p.Next() { - if !fn(p.Page().(*ListResourcesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*GetEffectivePermissionsForPathOutput), !p.HasNextPage()) { break } } @@ -1534,444 +1569,436 @@ func (c *LakeFormation) ListResourcesPagesWithContext(ctx aws.Context, input *Li return p.Err() } -const opPutDataLakeSettings = "PutDataLakeSettings" +const opGetLFTag = "GetLFTag" -// PutDataLakeSettingsRequest generates a "aws/request.Request" representing the -// client's request for the PutDataLakeSettings operation. The "output" return +// GetLFTagRequest generates a "aws/request.Request" representing the +// client's request for the GetLFTag 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 PutDataLakeSettings for more information on using the PutDataLakeSettings +// See GetLFTag for more information on using the GetLFTag // 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 PutDataLakeSettingsRequest method. -// req, resp := client.PutDataLakeSettingsRequest(params) +// // Example sending a request using the GetLFTagRequest method. +// req, resp := client.GetLFTagRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PutDataLakeSettings -func (c *LakeFormation) PutDataLakeSettingsRequest(input *PutDataLakeSettingsInput) (req *request.Request, output *PutDataLakeSettingsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetLFTag +func (c *LakeFormation) GetLFTagRequest(input *GetLFTagInput) (req *request.Request, output *GetLFTagOutput) { op := &request.Operation{ - Name: opPutDataLakeSettings, + Name: opGetLFTag, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/GetLFTag", } if input == nil { - input = &PutDataLakeSettingsInput{} + input = &GetLFTagInput{} } - output = &PutDataLakeSettingsOutput{} + output = &GetLFTagOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// PutDataLakeSettings API operation for AWS Lake Formation. -// -// Sets the list of data lake administrators who have admin privileges on all -// resources managed by Lake Formation. For more information on admin privileges, -// see Granting Lake Formation Permissions (https://docs.aws.amazon.com/lake-formation/latest/dg/lake-formation-permissions.html). +// GetLFTag API operation for AWS Lake Formation. // -// This API replaces the current list of data lake admins with the new list -// being passed. To add an admin, fetch the current list and add the new admin -// to that list and pass that list in this API. +// Returns an LF-tag definition. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's -// API operation PutDataLakeSettings for usage and error information. +// API operation GetLFTag for usage and error information. // // Returned Error Types: -// * InternalServiceException -// An internal service error occurred. +// * EntityNotFoundException +// A specified entity does not exist // // * InvalidInputException // The input provided was not valid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PutDataLakeSettings -func (c *LakeFormation) PutDataLakeSettings(input *PutDataLakeSettingsInput) (*PutDataLakeSettingsOutput, error) { - req, out := c.PutDataLakeSettingsRequest(input) +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * AccessDeniedException +// Access to a resource was denied. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetLFTag +func (c *LakeFormation) GetLFTag(input *GetLFTagInput) (*GetLFTagOutput, error) { + req, out := c.GetLFTagRequest(input) return out, req.Send() } -// PutDataLakeSettingsWithContext is the same as PutDataLakeSettings with the addition of +// GetLFTagWithContext is the same as GetLFTag with the addition of // the ability to pass a context and additional request options. // -// See PutDataLakeSettings for details on how to use this API operation. +// See GetLFTag 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 *LakeFormation) PutDataLakeSettingsWithContext(ctx aws.Context, input *PutDataLakeSettingsInput, opts ...request.Option) (*PutDataLakeSettingsOutput, error) { - req, out := c.PutDataLakeSettingsRequest(input) +func (c *LakeFormation) GetLFTagWithContext(ctx aws.Context, input *GetLFTagInput, opts ...request.Option) (*GetLFTagOutput, error) { + req, out := c.GetLFTagRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opRegisterResource = "RegisterResource" +const opGetQueryState = "GetQueryState" -// RegisterResourceRequest generates a "aws/request.Request" representing the -// client's request for the RegisterResource operation. The "output" return +// GetQueryStateRequest generates a "aws/request.Request" representing the +// client's request for the GetQueryState 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 RegisterResource for more information on using the RegisterResource +// See GetQueryState for more information on using the GetQueryState // 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 RegisterResourceRequest method. -// req, resp := client.RegisterResourceRequest(params) +// // Example sending a request using the GetQueryStateRequest method. +// req, resp := client.GetQueryStateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RegisterResource -func (c *LakeFormation) RegisterResourceRequest(input *RegisterResourceInput) (req *request.Request, output *RegisterResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetQueryState +func (c *LakeFormation) GetQueryStateRequest(input *GetQueryStateInput) (req *request.Request, output *GetQueryStateOutput) { op := &request.Operation{ - Name: opRegisterResource, + Name: opGetQueryState, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/GetQueryState", } if input == nil { - input = &RegisterResourceInput{} + input = &GetQueryStateInput{} } - output = &RegisterResourceOutput{} + output = &GetQueryStateOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("query-", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// RegisterResource API operation for AWS Lake Formation. -// -// Registers the resource as managed by the Data Catalog. -// -// To add or update data, Lake Formation needs read/write access to the chosen -// Amazon S3 path. Choose a role that you know has permission to do this, or -// choose the AWSServiceRoleForLakeFormationDataAccess service-linked role. -// When you register the first Amazon S3 path, the service-linked role and a -// new inline policy are created on your behalf. Lake Formation adds the first -// path to the inline policy and attaches it to the service-linked role. When -// you register subsequent paths, Lake Formation adds the path to the existing -// policy. -// -// The following request registers a new location and gives AWS Lake Formation -// permission to use the service-linked role to access that location. +// GetQueryState API operation for AWS Lake Formation. // -// ResourceArn = arn:aws:s3:::my-bucket UseServiceLinkedRole = true -// -// If UseServiceLinkedRole is not set to true, you must provide or set the RoleArn: -// -// arn:aws:iam::12345:role/my-data-access-role +// Returns the state of a query previously submitted. Clients are expected to +// poll GetQueryState to monitor the current state of the planning before retrieving +// the work units. A query state is only visible to the principal that made +// the initial call to StartQueryPlanning. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's -// API operation RegisterResource for usage and error information. +// API operation GetQueryState for usage and error information. // // Returned Error Types: -// * InvalidInputException -// The input provided was not valid. -// // * InternalServiceException // An internal service error occurred. // -// * OperationTimeoutException -// The operation timed out. +// * InvalidInputException +// The input provided was not valid. // -// * AlreadyExistsException -// A resource to be created or added already exists. +// * AccessDeniedException +// Access to a resource was denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RegisterResource -func (c *LakeFormation) RegisterResource(input *RegisterResourceInput) (*RegisterResourceOutput, error) { - req, out := c.RegisterResourceRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetQueryState +func (c *LakeFormation) GetQueryState(input *GetQueryStateInput) (*GetQueryStateOutput, error) { + req, out := c.GetQueryStateRequest(input) return out, req.Send() } -// RegisterResourceWithContext is the same as RegisterResource with the addition of +// GetQueryStateWithContext is the same as GetQueryState with the addition of // the ability to pass a context and additional request options. // -// See RegisterResource for details on how to use this API operation. +// See GetQueryState 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 *LakeFormation) RegisterResourceWithContext(ctx aws.Context, input *RegisterResourceInput, opts ...request.Option) (*RegisterResourceOutput, error) { - req, out := c.RegisterResourceRequest(input) +func (c *LakeFormation) GetQueryStateWithContext(ctx aws.Context, input *GetQueryStateInput, opts ...request.Option) (*GetQueryStateOutput, error) { + req, out := c.GetQueryStateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opRemoveLFTagsFromResource = "RemoveLFTagsFromResource" +const opGetQueryStatistics = "GetQueryStatistics" -// RemoveLFTagsFromResourceRequest generates a "aws/request.Request" representing the -// client's request for the RemoveLFTagsFromResource operation. The "output" return +// GetQueryStatisticsRequest generates a "aws/request.Request" representing the +// client's request for the GetQueryStatistics 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 RemoveLFTagsFromResource for more information on using the RemoveLFTagsFromResource +// See GetQueryStatistics for more information on using the GetQueryStatistics // 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 RemoveLFTagsFromResourceRequest method. -// req, resp := client.RemoveLFTagsFromResourceRequest(params) +// // Example sending a request using the GetQueryStatisticsRequest method. +// req, resp := client.GetQueryStatisticsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RemoveLFTagsFromResource -func (c *LakeFormation) RemoveLFTagsFromResourceRequest(input *RemoveLFTagsFromResourceInput) (req *request.Request, output *RemoveLFTagsFromResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetQueryStatistics +func (c *LakeFormation) GetQueryStatisticsRequest(input *GetQueryStatisticsInput) (req *request.Request, output *GetQueryStatisticsOutput) { op := &request.Operation{ - Name: opRemoveLFTagsFromResource, + Name: opGetQueryStatistics, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/GetQueryStatistics", } if input == nil { - input = &RemoveLFTagsFromResourceInput{} + input = &GetQueryStatisticsInput{} } - output = &RemoveLFTagsFromResourceOutput{} + output = &GetQueryStatisticsOutput{} req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("query-", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// RemoveLFTagsFromResource API operation for AWS Lake Formation. +// GetQueryStatistics API operation for AWS Lake Formation. // -// Removes a tag from the resource. Only database, table, or tableWithColumns -// resource are allowed. To tag columns, use the column inclusion list in tableWithColumns -// to specify column input. +// Retrieves statistics on the planning and execution of a query. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's -// API operation RemoveLFTagsFromResource for usage and error information. +// API operation GetQueryStatistics for usage and error information. // // Returned Error Types: -// * EntityNotFoundException -// A specified entity does not exist -// -// * InvalidInputException -// The input provided was not valid. +// * StatisticsNotReadyYetException +// Contains details about an error related to statistics not being ready. // // * InternalServiceException // An internal service error occurred. // -// * OperationTimeoutException -// The operation timed out. -// -// * GlueEncryptionException -// An encryption operation failed. +// * InvalidInputException +// The input provided was not valid. // // * AccessDeniedException // Access to a resource was denied. // -// * ConcurrentModificationException -// Two processes are trying to modify a resource simultaneously. +// * ExpiredException +// Contains details about an error where the query request expired. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RemoveLFTagsFromResource -func (c *LakeFormation) RemoveLFTagsFromResource(input *RemoveLFTagsFromResourceInput) (*RemoveLFTagsFromResourceOutput, error) { - req, out := c.RemoveLFTagsFromResourceRequest(input) +// * ThrottledException +// Contains details about an error where the query request was throttled. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetQueryStatistics +func (c *LakeFormation) GetQueryStatistics(input *GetQueryStatisticsInput) (*GetQueryStatisticsOutput, error) { + req, out := c.GetQueryStatisticsRequest(input) return out, req.Send() } -// RemoveLFTagsFromResourceWithContext is the same as RemoveLFTagsFromResource with the addition of +// GetQueryStatisticsWithContext is the same as GetQueryStatistics with the addition of // the ability to pass a context and additional request options. // -// See RemoveLFTagsFromResource for details on how to use this API operation. +// See GetQueryStatistics 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 *LakeFormation) RemoveLFTagsFromResourceWithContext(ctx aws.Context, input *RemoveLFTagsFromResourceInput, opts ...request.Option) (*RemoveLFTagsFromResourceOutput, error) { - req, out := c.RemoveLFTagsFromResourceRequest(input) +func (c *LakeFormation) GetQueryStatisticsWithContext(ctx aws.Context, input *GetQueryStatisticsInput, opts ...request.Option) (*GetQueryStatisticsOutput, error) { + req, out := c.GetQueryStatisticsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opRevokePermissions = "RevokePermissions" +const opGetResourceLFTags = "GetResourceLFTags" -// RevokePermissionsRequest generates a "aws/request.Request" representing the -// client's request for the RevokePermissions operation. The "output" return +// GetResourceLFTagsRequest generates a "aws/request.Request" representing the +// client's request for the GetResourceLFTags 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 RevokePermissions for more information on using the RevokePermissions +// See GetResourceLFTags for more information on using the GetResourceLFTags // 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 RevokePermissionsRequest method. -// req, resp := client.RevokePermissionsRequest(params) +// // Example sending a request using the GetResourceLFTagsRequest method. +// req, resp := client.GetResourceLFTagsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RevokePermissions -func (c *LakeFormation) RevokePermissionsRequest(input *RevokePermissionsInput) (req *request.Request, output *RevokePermissionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetResourceLFTags +func (c *LakeFormation) GetResourceLFTagsRequest(input *GetResourceLFTagsInput) (req *request.Request, output *GetResourceLFTagsOutput) { op := &request.Operation{ - Name: opRevokePermissions, + Name: opGetResourceLFTags, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/GetResourceLFTags", } if input == nil { - input = &RevokePermissionsInput{} + input = &GetResourceLFTagsInput{} } - output = &RevokePermissionsOutput{} + output = &GetResourceLFTagsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// RevokePermissions API operation for AWS Lake Formation. +// GetResourceLFTags API operation for AWS Lake Formation. // -// Revokes permissions to the principal to access metadata in the Data Catalog -// and data organized in underlying data storage such as Amazon S3. +// Returns the LF-tags applied to a resource. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's -// API operation RevokePermissions for usage and error information. +// API operation GetResourceLFTags for usage and error information. // // Returned Error Types: -// * ConcurrentModificationException -// Two processes are trying to modify a resource simultaneously. -// // * EntityNotFoundException // A specified entity does not exist // // * InvalidInputException // The input provided was not valid. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RevokePermissions -func (c *LakeFormation) RevokePermissions(input *RevokePermissionsInput) (*RevokePermissionsOutput, error) { - req, out := c.RevokePermissionsRequest(input) +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * GlueEncryptionException +// An encryption operation failed. +// +// * AccessDeniedException +// Access to a resource was denied. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetResourceLFTags +func (c *LakeFormation) GetResourceLFTags(input *GetResourceLFTagsInput) (*GetResourceLFTagsOutput, error) { + req, out := c.GetResourceLFTagsRequest(input) return out, req.Send() } -// RevokePermissionsWithContext is the same as RevokePermissions with the addition of +// GetResourceLFTagsWithContext is the same as GetResourceLFTags with the addition of // the ability to pass a context and additional request options. // -// See RevokePermissions for details on how to use this API operation. +// See GetResourceLFTags 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 *LakeFormation) RevokePermissionsWithContext(ctx aws.Context, input *RevokePermissionsInput, opts ...request.Option) (*RevokePermissionsOutput, error) { - req, out := c.RevokePermissionsRequest(input) +func (c *LakeFormation) GetResourceLFTagsWithContext(ctx aws.Context, input *GetResourceLFTagsInput, opts ...request.Option) (*GetResourceLFTagsOutput, error) { + req, out := c.GetResourceLFTagsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opSearchDatabasesByLFTags = "SearchDatabasesByLFTags" +const opGetTableObjects = "GetTableObjects" -// SearchDatabasesByLFTagsRequest generates a "aws/request.Request" representing the -// client's request for the SearchDatabasesByLFTags operation. The "output" return +// GetTableObjectsRequest generates a "aws/request.Request" representing the +// client's request for the GetTableObjects 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 SearchDatabasesByLFTags for more information on using the SearchDatabasesByLFTags +// See GetTableObjects for more information on using the GetTableObjects // 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 SearchDatabasesByLFTagsRequest method. -// req, resp := client.SearchDatabasesByLFTagsRequest(params) +// // Example sending a request using the GetTableObjectsRequest method. +// req, resp := client.GetTableObjectsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchDatabasesByLFTags -func (c *LakeFormation) SearchDatabasesByLFTagsRequest(input *SearchDatabasesByLFTagsInput) (req *request.Request, output *SearchDatabasesByLFTagsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTableObjects +func (c *LakeFormation) GetTableObjectsRequest(input *GetTableObjectsInput) (req *request.Request, output *GetTableObjectsOutput) { op := &request.Operation{ - Name: opSearchDatabasesByLFTags, + Name: opGetTableObjects, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/GetTableObjects", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } if input == nil { - input = &SearchDatabasesByLFTagsInput{} + input = &GetTableObjectsInput{} } - output = &SearchDatabasesByLFTagsOutput{} + output = &GetTableObjectsOutput{} req = c.newRequest(op, input, output) return } -// SearchDatabasesByLFTags API operation for AWS Lake Formation. +// GetTableObjects API operation for AWS Lake Formation. // -// This operation allows a search on DATABASE resources by TagCondition. This -// operation is used by admins who want to grant user permissions on certain -// TagConditions. Before making a grant, the admin can use SearchDatabasesByTags -// to find all resources where the given TagConditions are valid to verify whether -// the returned resources can be shared. +// Returns the set of Amazon S3 objects that make up the specified governed +// table. A transaction ID or timestamp can be specified for time-travel queries. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's -// API operation SearchDatabasesByLFTags for usage and error information. +// API operation GetTableObjects for usage and error information. // // Returned Error Types: // * EntityNotFoundException @@ -1986,402 +2013,6476 @@ func (c *LakeFormation) SearchDatabasesByLFTagsRequest(input *SearchDatabasesByL // * OperationTimeoutException // The operation timed out. // -// * GlueEncryptionException -// An encryption operation failed. +// * TransactionCommittedException +// Contains details about an error where the specified transaction has already +// been committed and cannot be used for UpdateTableObjects. // -// * AccessDeniedException -// Access to a resource was denied. +// * TransactionCanceledException +// Contains details about an error related to a transaction that was cancelled. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchDatabasesByLFTags -func (c *LakeFormation) SearchDatabasesByLFTags(input *SearchDatabasesByLFTagsInput) (*SearchDatabasesByLFTagsOutput, error) { - req, out := c.SearchDatabasesByLFTagsRequest(input) +// * ResourceNotReadyException +// Contains details about an error related to a resource which is not ready +// for a transaction. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetTableObjects +func (c *LakeFormation) GetTableObjects(input *GetTableObjectsInput) (*GetTableObjectsOutput, error) { + req, out := c.GetTableObjectsRequest(input) return out, req.Send() } -// SearchDatabasesByLFTagsWithContext is the same as SearchDatabasesByLFTags with the addition of +// GetTableObjectsWithContext is the same as GetTableObjects with the addition of // the ability to pass a context and additional request options. // -// See SearchDatabasesByLFTags for details on how to use this API operation. +// See GetTableObjects 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 *LakeFormation) SearchDatabasesByLFTagsWithContext(ctx aws.Context, input *SearchDatabasesByLFTagsInput, opts ...request.Option) (*SearchDatabasesByLFTagsOutput, error) { - req, out := c.SearchDatabasesByLFTagsRequest(input) +func (c *LakeFormation) GetTableObjectsWithContext(ctx aws.Context, input *GetTableObjectsInput, opts ...request.Option) (*GetTableObjectsOutput, error) { + req, out := c.GetTableObjectsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opSearchTablesByLFTags = "SearchTablesByLFTags" +// GetTableObjectsPages iterates over the pages of a GetTableObjects operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetTableObjects 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 GetTableObjects operation. +// pageNum := 0 +// err := client.GetTableObjectsPages(params, +// func(page *lakeformation.GetTableObjectsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *LakeFormation) GetTableObjectsPages(input *GetTableObjectsInput, fn func(*GetTableObjectsOutput, bool) bool) error { + return c.GetTableObjectsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// SearchTablesByLFTagsRequest generates a "aws/request.Request" representing the -// client's request for the SearchTablesByLFTags operation. The "output" return +// GetTableObjectsPagesWithContext same as GetTableObjectsPages 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 *LakeFormation) GetTableObjectsPagesWithContext(ctx aws.Context, input *GetTableObjectsInput, fn func(*GetTableObjectsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetTableObjectsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetTableObjectsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetTableObjectsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opGetWorkUnitResults = "GetWorkUnitResults" + +// GetWorkUnitResultsRequest generates a "aws/request.Request" representing the +// client's request for the GetWorkUnitResults 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 SearchTablesByLFTags for more information on using the SearchTablesByLFTags +// See GetWorkUnitResults for more information on using the GetWorkUnitResults // 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 SearchTablesByLFTagsRequest method. -// req, resp := client.SearchTablesByLFTagsRequest(params) +// // Example sending a request using the GetWorkUnitResultsRequest method. +// req, resp := client.GetWorkUnitResultsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchTablesByLFTags -func (c *LakeFormation) SearchTablesByLFTagsRequest(input *SearchTablesByLFTagsInput) (req *request.Request, output *SearchTablesByLFTagsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetWorkUnitResults +func (c *LakeFormation) GetWorkUnitResultsRequest(input *GetWorkUnitResultsInput) (req *request.Request, output *GetWorkUnitResultsOutput) { op := &request.Operation{ - Name: opSearchTablesByLFTags, + Name: opGetWorkUnitResults, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/GetWorkUnitResults", } if input == nil { - input = &SearchTablesByLFTagsInput{} + input = &GetWorkUnitResultsInput{} } - output = &SearchTablesByLFTagsOutput{} + output = &GetWorkUnitResultsOutput{} req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data-", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// SearchTablesByLFTags API operation for AWS Lake Formation. +// GetWorkUnitResults API operation for AWS Lake Formation. // -// This operation allows a search on TABLE resources by LFTags. This will be -// used by admins who want to grant user permissions on certain LFTags. Before -// making a grant, the admin can use SearchTablesByLFTags to find all resources -// where the given LFTags are valid to verify whether the returned resources -// can be shared. +// Returns the work units resulting from the query. Work units can be executed +// in any order and in parallel. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's -// API operation SearchTablesByLFTags for usage and error information. +// API operation GetWorkUnitResults for usage and error information. // // Returned Error Types: -// * EntityNotFoundException -// A specified entity does not exist -// // * InternalServiceException // An internal service error occurred. // // * InvalidInputException // The input provided was not valid. // -// * OperationTimeoutException -// The operation timed out. -// -// * GlueEncryptionException -// An encryption operation failed. -// // * AccessDeniedException // Access to a resource was denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchTablesByLFTags -func (c *LakeFormation) SearchTablesByLFTags(input *SearchTablesByLFTagsInput) (*SearchTablesByLFTagsOutput, error) { - req, out := c.SearchTablesByLFTagsRequest(input) +// * ExpiredException +// Contains details about an error where the query request expired. +// +// * ThrottledException +// Contains details about an error where the query request was throttled. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetWorkUnitResults +func (c *LakeFormation) GetWorkUnitResults(input *GetWorkUnitResultsInput) (*GetWorkUnitResultsOutput, error) { + req, out := c.GetWorkUnitResultsRequest(input) return out, req.Send() } -// SearchTablesByLFTagsWithContext is the same as SearchTablesByLFTags with the addition of +// GetWorkUnitResultsWithContext is the same as GetWorkUnitResults with the addition of // the ability to pass a context and additional request options. // -// See SearchTablesByLFTags for details on how to use this API operation. +// See GetWorkUnitResults 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 *LakeFormation) SearchTablesByLFTagsWithContext(ctx aws.Context, input *SearchTablesByLFTagsInput, opts ...request.Option) (*SearchTablesByLFTagsOutput, error) { - req, out := c.SearchTablesByLFTagsRequest(input) +func (c *LakeFormation) GetWorkUnitResultsWithContext(ctx aws.Context, input *GetWorkUnitResultsInput, opts ...request.Option) (*GetWorkUnitResultsOutput, error) { + req, out := c.GetWorkUnitResultsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateLFTag = "UpdateLFTag" +const opGetWorkUnits = "GetWorkUnits" -// UpdateLFTagRequest generates a "aws/request.Request" representing the -// client's request for the UpdateLFTag operation. The "output" return +// GetWorkUnitsRequest generates a "aws/request.Request" representing the +// client's request for the GetWorkUnits 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 UpdateLFTag for more information on using the UpdateLFTag +// See GetWorkUnits for more information on using the GetWorkUnits // 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 UpdateLFTagRequest method. -// req, resp := client.UpdateLFTagRequest(params) +// // Example sending a request using the GetWorkUnitsRequest method. +// req, resp := client.GetWorkUnitsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateLFTag -func (c *LakeFormation) UpdateLFTagRequest(input *UpdateLFTagInput) (req *request.Request, output *UpdateLFTagOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetWorkUnits +func (c *LakeFormation) GetWorkUnitsRequest(input *GetWorkUnitsInput) (req *request.Request, output *GetWorkUnitsOutput) { op := &request.Operation{ - Name: opUpdateLFTag, + Name: opGetWorkUnits, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/GetWorkUnits", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, } if input == nil { - input = &UpdateLFTagInput{} + input = &GetWorkUnitsInput{} } - output = &UpdateLFTagOutput{} + output = &GetWorkUnitsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("query-", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) return } -// UpdateLFTag API operation for AWS Lake Formation. +// GetWorkUnits API operation for AWS Lake Formation. // -// Updates the list of possible values for the specified tag key. If the tag -// does not exist, the operation throws an EntityNotFoundException. The values -// in the delete key values will be deleted from list of possible values. If -// any value in the delete key values is attached to a resource, then API errors -// out with a 400 Exception - "Update not allowed". Untag the attribute before -// deleting the tag key's value. +// Retrieves the work units generated by the StartQueryPlanning operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Lake Formation's -// API operation UpdateLFTag for usage and error information. +// API operation GetWorkUnits for usage and error information. // // Returned Error Types: -// * EntityNotFoundException -// A specified entity does not exist -// -// * InvalidInputException -// The input provided was not valid. +// * WorkUnitsNotReadyYetException +// Contains details about an error related to work units not being ready. // // * InternalServiceException // An internal service error occurred. // -// * OperationTimeoutException -// The operation timed out. -// -// * ConcurrentModificationException -// Two processes are trying to modify a resource simultaneously. +// * InvalidInputException +// The input provided was not valid. // // * AccessDeniedException // Access to a resource was denied. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateLFTag -func (c *LakeFormation) UpdateLFTag(input *UpdateLFTagInput) (*UpdateLFTagOutput, error) { - req, out := c.UpdateLFTagRequest(input) +// * ExpiredException +// Contains details about an error where the query request expired. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GetWorkUnits +func (c *LakeFormation) GetWorkUnits(input *GetWorkUnitsInput) (*GetWorkUnitsOutput, error) { + req, out := c.GetWorkUnitsRequest(input) return out, req.Send() } -// UpdateLFTagWithContext is the same as UpdateLFTag with the addition of +// GetWorkUnitsWithContext is the same as GetWorkUnits with the addition of // the ability to pass a context and additional request options. // -// See UpdateLFTag for details on how to use this API operation. +// See GetWorkUnits 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 *LakeFormation) UpdateLFTagWithContext(ctx aws.Context, input *UpdateLFTagInput, opts ...request.Option) (*UpdateLFTagOutput, error) { - req, out := c.UpdateLFTagRequest(input) +func (c *LakeFormation) GetWorkUnitsWithContext(ctx aws.Context, input *GetWorkUnitsInput, opts ...request.Option) (*GetWorkUnitsOutput, error) { + req, out := c.GetWorkUnitsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateResource = "UpdateResource" +// GetWorkUnitsPages iterates over the pages of a GetWorkUnits operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetWorkUnits 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 GetWorkUnits operation. +// pageNum := 0 +// err := client.GetWorkUnitsPages(params, +// func(page *lakeformation.GetWorkUnitsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *LakeFormation) GetWorkUnitsPages(input *GetWorkUnitsInput, fn func(*GetWorkUnitsOutput, bool) bool) error { + return c.GetWorkUnitsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateResourceRequest generates a "aws/request.Request" representing the -// client's request for the UpdateResource operation. The "output" return +// GetWorkUnitsPagesWithContext same as GetWorkUnitsPages 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 *LakeFormation) GetWorkUnitsPagesWithContext(ctx aws.Context, input *GetWorkUnitsInput, fn func(*GetWorkUnitsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetWorkUnitsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetWorkUnitsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetWorkUnitsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opGrantPermissions = "GrantPermissions" + +// GrantPermissionsRequest generates a "aws/request.Request" representing the +// client's request for the GrantPermissions 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 UpdateResource for more information on using the UpdateResource +// See GrantPermissions for more information on using the GrantPermissions // 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 UpdateResourceRequest method. -// req, resp := client.UpdateResourceRequest(params) +// // Example sending a request using the GrantPermissionsRequest method. +// req, resp := client.GrantPermissionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateResource -func (c *LakeFormation) UpdateResourceRequest(input *UpdateResourceInput) (req *request.Request, output *UpdateResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GrantPermissions +func (c *LakeFormation) GrantPermissionsRequest(input *GrantPermissionsInput) (req *request.Request, output *GrantPermissionsOutput) { op := &request.Operation{ - Name: opUpdateResource, + Name: opGrantPermissions, HTTPMethod: "POST", - HTTPPath: "/", + HTTPPath: "/GrantPermissions", } if input == nil { - input = &UpdateResourceInput{} + input = &GrantPermissionsInput{} } - output = &UpdateResourceOutput{} + output = &GrantPermissionsOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// UpdateResource API operation for AWS Lake Formation. +// GrantPermissions API operation for AWS Lake Formation. // -// Updates the data access role used for vending access to the given (registered) -// resource in AWS Lake Formation. +// Grants permissions to the principal to access metadata in the Data Catalog +// and data organized in underlying data storage such as Amazon S3. +// +// For information about permissions, see Security and Access Control to Metadata +// and Data (https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.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 AWS Lake Formation's -// API operation UpdateResource for usage and error information. +// API operation GrantPermissions for usage and error information. // // Returned Error Types: -// * InvalidInputException -// The input provided was not valid. -// -// * InternalServiceException -// An internal service error occurred. -// -// * OperationTimeoutException -// The operation timed out. +// * ConcurrentModificationException +// Two processes are trying to modify a resource simultaneously. // // * EntityNotFoundException // A specified entity does not exist // -// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateResource -func (c *LakeFormation) UpdateResource(input *UpdateResourceInput) (*UpdateResourceOutput, error) { - req, out := c.UpdateResourceRequest(input) +// * InvalidInputException +// The input provided was not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/GrantPermissions +func (c *LakeFormation) GrantPermissions(input *GrantPermissionsInput) (*GrantPermissionsOutput, error) { + req, out := c.GrantPermissionsRequest(input) return out, req.Send() } -// UpdateResourceWithContext is the same as UpdateResource with the addition of +// GrantPermissionsWithContext is the same as GrantPermissions with the addition of // the ability to pass a context and additional request options. // -// See UpdateResource for details on how to use this API operation. +// See GrantPermissions 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 *LakeFormation) UpdateResourceWithContext(ctx aws.Context, input *UpdateResourceInput, opts ...request.Option) (*UpdateResourceOutput, error) { - req, out := c.UpdateResourceRequest(input) +func (c *LakeFormation) GrantPermissionsWithContext(ctx aws.Context, input *GrantPermissionsInput, opts ...request.Option) (*GrantPermissionsOutput, error) { + req, out := c.GrantPermissionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// Access to a resource was denied. -type AccessDeniedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - // A message describing the problem. - Message_ *string `locationName:"Message" type:"string"` -} +const opListDataCellsFilter = "ListDataCellsFilter" -// String returns the string representation. +// ListDataCellsFilterRequest generates a "aws/request.Request" representing the +// client's request for the ListDataCellsFilter operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccessDeniedException) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. +// 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. // -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccessDeniedException) GoString() string { - return s.String() -} - -func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { - return &AccessDeniedException{ - RespMetadata: v, +// See ListDataCellsFilter for more information on using the ListDataCellsFilter +// 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 ListDataCellsFilterRequest method. +// req, resp := client.ListDataCellsFilterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListDataCellsFilter +func (c *LakeFormation) ListDataCellsFilterRequest(input *ListDataCellsFilterInput) (req *request.Request, output *ListDataCellsFilterOutput) { + op := &request.Operation{ + Name: opListDataCellsFilter, + HTTPMethod: "POST", + HTTPPath: "/ListDataCellsFilter", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, } -} - -// Code returns the exception type name. -func (s *AccessDeniedException) Code() string { - return "AccessDeniedException" -} -// Message returns the exception's message. -func (s *AccessDeniedException) Message() string { - if s.Message_ != nil { - return *s.Message_ + if input == nil { + input = &ListDataCellsFilterInput{} } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccessDeniedException) OrigErr() error { - return nil + output = &ListDataCellsFilterOutput{} + req = c.newRequest(op, input, output) + return } -func (s *AccessDeniedException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// ListDataCellsFilter API operation for AWS Lake Formation. +// +// Lists all the data cell filters on a table. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lake Formation's +// API operation ListDataCellsFilter for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input provided was not valid. +// +// * OperationTimeoutException +// The operation timed out. +// +// * InternalServiceException +// An internal service error occurred. +// +// * AccessDeniedException +// Access to a resource was denied. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListDataCellsFilter +func (c *LakeFormation) ListDataCellsFilter(input *ListDataCellsFilterInput) (*ListDataCellsFilterOutput, error) { + req, out := c.ListDataCellsFilterRequest(input) + return out, req.Send() } -// Status code returns the HTTP status code for the request's response error. -func (s *AccessDeniedException) StatusCode() int { - return s.RespMetadata.StatusCode +// ListDataCellsFilterWithContext is the same as ListDataCellsFilter with the addition of +// the ability to pass a context and additional request options. +// +// See ListDataCellsFilter 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 *LakeFormation) ListDataCellsFilterWithContext(ctx aws.Context, input *ListDataCellsFilterInput, opts ...request.Option) (*ListDataCellsFilterOutput, error) { + req, out := c.ListDataCellsFilterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } -// RequestID returns the service's response RequestID for request. -func (s *AccessDeniedException) RequestID() string { - return s.RespMetadata.RequestID +// ListDataCellsFilterPages iterates over the pages of a ListDataCellsFilter operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDataCellsFilter 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 ListDataCellsFilter operation. +// pageNum := 0 +// err := client.ListDataCellsFilterPages(params, +// func(page *lakeformation.ListDataCellsFilterOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *LakeFormation) ListDataCellsFilterPages(input *ListDataCellsFilterInput, fn func(*ListDataCellsFilterOutput, bool) bool) error { + return c.ListDataCellsFilterPagesWithContext(aws.BackgroundContext(), input, fn) } -type AddLFTagsToResourceInput struct { +// ListDataCellsFilterPagesWithContext same as ListDataCellsFilterPages 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 *LakeFormation) ListDataCellsFilterPagesWithContext(ctx aws.Context, input *ListDataCellsFilterInput, fn func(*ListDataCellsFilterOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDataCellsFilterInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDataCellsFilterRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDataCellsFilterOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListLFTags = "ListLFTags" + +// ListLFTagsRequest generates a "aws/request.Request" representing the +// client's request for the ListLFTags 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 ListLFTags for more information on using the ListLFTags +// 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 ListLFTagsRequest method. +// req, resp := client.ListLFTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListLFTags +func (c *LakeFormation) ListLFTagsRequest(input *ListLFTagsInput) (req *request.Request, output *ListLFTagsOutput) { + op := &request.Operation{ + Name: opListLFTags, + HTTPMethod: "POST", + HTTPPath: "/ListLFTags", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListLFTagsInput{} + } + + output = &ListLFTagsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListLFTags API operation for AWS Lake Formation. +// +// Lists LF-tags that the requester has permission to view. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lake Formation's +// API operation ListLFTags for usage and error information. +// +// Returned Error Types: +// * EntityNotFoundException +// A specified entity does not exist +// +// * InvalidInputException +// The input provided was not valid. +// +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * AccessDeniedException +// Access to a resource was denied. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListLFTags +func (c *LakeFormation) ListLFTags(input *ListLFTagsInput) (*ListLFTagsOutput, error) { + req, out := c.ListLFTagsRequest(input) + return out, req.Send() +} + +// ListLFTagsWithContext is the same as ListLFTags with the addition of +// the ability to pass a context and additional request options. +// +// See ListLFTags 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 *LakeFormation) ListLFTagsWithContext(ctx aws.Context, input *ListLFTagsInput, opts ...request.Option) (*ListLFTagsOutput, error) { + req, out := c.ListLFTagsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListLFTagsPages iterates over the pages of a ListLFTags operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListLFTags 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 ListLFTags operation. +// pageNum := 0 +// err := client.ListLFTagsPages(params, +// func(page *lakeformation.ListLFTagsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *LakeFormation) ListLFTagsPages(input *ListLFTagsInput, fn func(*ListLFTagsOutput, bool) bool) error { + return c.ListLFTagsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListLFTagsPagesWithContext same as ListLFTagsPages 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 *LakeFormation) ListLFTagsPagesWithContext(ctx aws.Context, input *ListLFTagsInput, fn func(*ListLFTagsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListLFTagsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListLFTagsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListLFTagsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListPermissions = "ListPermissions" + +// ListPermissionsRequest generates a "aws/request.Request" representing the +// client's request for the ListPermissions 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 ListPermissions for more information on using the ListPermissions +// 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 ListPermissionsRequest method. +// req, resp := client.ListPermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListPermissions +func (c *LakeFormation) ListPermissionsRequest(input *ListPermissionsInput) (req *request.Request, output *ListPermissionsOutput) { + op := &request.Operation{ + Name: opListPermissions, + HTTPMethod: "POST", + HTTPPath: "/ListPermissions", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPermissionsInput{} + } + + output = &ListPermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPermissions API operation for AWS Lake Formation. +// +// Returns a list of the principal permissions on the resource, filtered by +// the permissions of the caller. For example, if you are granted an ALTER permission, +// you are able to see only the principal permissions for ALTER. +// +// This operation returns only those permissions that have been explicitly granted. +// +// For information about permissions, see Security and Access Control to Metadata +// and Data (https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.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 AWS Lake Formation's +// API operation ListPermissions for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input provided was not valid. +// +// * OperationTimeoutException +// The operation timed out. +// +// * InternalServiceException +// An internal service error occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListPermissions +func (c *LakeFormation) ListPermissions(input *ListPermissionsInput) (*ListPermissionsOutput, error) { + req, out := c.ListPermissionsRequest(input) + return out, req.Send() +} + +// ListPermissionsWithContext is the same as ListPermissions with the addition of +// the ability to pass a context and additional request options. +// +// See ListPermissions 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 *LakeFormation) ListPermissionsWithContext(ctx aws.Context, input *ListPermissionsInput, opts ...request.Option) (*ListPermissionsOutput, error) { + req, out := c.ListPermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListPermissionsPages iterates over the pages of a ListPermissions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPermissions 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 ListPermissions operation. +// pageNum := 0 +// err := client.ListPermissionsPages(params, +// func(page *lakeformation.ListPermissionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *LakeFormation) ListPermissionsPages(input *ListPermissionsInput, fn func(*ListPermissionsOutput, bool) bool) error { + return c.ListPermissionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPermissionsPagesWithContext same as ListPermissionsPages 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 *LakeFormation) ListPermissionsPagesWithContext(ctx aws.Context, input *ListPermissionsInput, fn func(*ListPermissionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPermissionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPermissionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPermissionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListResources = "ListResources" + +// ListResourcesRequest generates a "aws/request.Request" representing the +// client's request for the ListResources 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 ListResources for more information on using the ListResources +// 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 ListResourcesRequest method. +// req, resp := client.ListResourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListResources +func (c *LakeFormation) ListResourcesRequest(input *ListResourcesInput) (req *request.Request, output *ListResourcesOutput) { + op := &request.Operation{ + Name: opListResources, + HTTPMethod: "POST", + HTTPPath: "/ListResources", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListResourcesInput{} + } + + output = &ListResourcesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListResources API operation for AWS Lake Formation. +// +// Lists the resources registered to be managed by the Data Catalog. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lake Formation's +// API operation ListResources for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input provided was not valid. +// +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListResources +func (c *LakeFormation) ListResources(input *ListResourcesInput) (*ListResourcesOutput, error) { + req, out := c.ListResourcesRequest(input) + return out, req.Send() +} + +// ListResourcesWithContext is the same as ListResources with the addition of +// the ability to pass a context and additional request options. +// +// See ListResources 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 *LakeFormation) ListResourcesWithContext(ctx aws.Context, input *ListResourcesInput, opts ...request.Option) (*ListResourcesOutput, error) { + req, out := c.ListResourcesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListResourcesPages iterates over the pages of a ListResources operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListResources 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 ListResources operation. +// pageNum := 0 +// err := client.ListResourcesPages(params, +// func(page *lakeformation.ListResourcesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *LakeFormation) ListResourcesPages(input *ListResourcesInput, fn func(*ListResourcesOutput, bool) bool) error { + return c.ListResourcesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListResourcesPagesWithContext same as ListResourcesPages 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 *LakeFormation) ListResourcesPagesWithContext(ctx aws.Context, input *ListResourcesInput, fn func(*ListResourcesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListResourcesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListResourcesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListResourcesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTableStorageOptimizers = "ListTableStorageOptimizers" + +// ListTableStorageOptimizersRequest generates a "aws/request.Request" representing the +// client's request for the ListTableStorageOptimizers 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 ListTableStorageOptimizers for more information on using the ListTableStorageOptimizers +// 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 ListTableStorageOptimizersRequest method. +// req, resp := client.ListTableStorageOptimizersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListTableStorageOptimizers +func (c *LakeFormation) ListTableStorageOptimizersRequest(input *ListTableStorageOptimizersInput) (req *request.Request, output *ListTableStorageOptimizersOutput) { + op := &request.Operation{ + Name: opListTableStorageOptimizers, + HTTPMethod: "POST", + HTTPPath: "/ListTableStorageOptimizers", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTableStorageOptimizersInput{} + } + + output = &ListTableStorageOptimizersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTableStorageOptimizers API operation for AWS Lake Formation. +// +// Returns the configuration of all storage optimizers associated with a specified +// table. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lake Formation's +// API operation ListTableStorageOptimizers for usage and error information. +// +// Returned Error Types: +// * EntityNotFoundException +// A specified entity does not exist +// +// * InvalidInputException +// The input provided was not valid. +// +// * AccessDeniedException +// Access to a resource was denied. +// +// * InternalServiceException +// An internal service error occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListTableStorageOptimizers +func (c *LakeFormation) ListTableStorageOptimizers(input *ListTableStorageOptimizersInput) (*ListTableStorageOptimizersOutput, error) { + req, out := c.ListTableStorageOptimizersRequest(input) + return out, req.Send() +} + +// ListTableStorageOptimizersWithContext is the same as ListTableStorageOptimizers with the addition of +// the ability to pass a context and additional request options. +// +// See ListTableStorageOptimizers 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 *LakeFormation) ListTableStorageOptimizersWithContext(ctx aws.Context, input *ListTableStorageOptimizersInput, opts ...request.Option) (*ListTableStorageOptimizersOutput, error) { + req, out := c.ListTableStorageOptimizersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTableStorageOptimizersPages iterates over the pages of a ListTableStorageOptimizers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTableStorageOptimizers 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 ListTableStorageOptimizers operation. +// pageNum := 0 +// err := client.ListTableStorageOptimizersPages(params, +// func(page *lakeformation.ListTableStorageOptimizersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *LakeFormation) ListTableStorageOptimizersPages(input *ListTableStorageOptimizersInput, fn func(*ListTableStorageOptimizersOutput, bool) bool) error { + return c.ListTableStorageOptimizersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTableStorageOptimizersPagesWithContext same as ListTableStorageOptimizersPages 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 *LakeFormation) ListTableStorageOptimizersPagesWithContext(ctx aws.Context, input *ListTableStorageOptimizersInput, fn func(*ListTableStorageOptimizersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTableStorageOptimizersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTableStorageOptimizersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTableStorageOptimizersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTransactions = "ListTransactions" + +// ListTransactionsRequest generates a "aws/request.Request" representing the +// client's request for the ListTransactions 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 ListTransactions for more information on using the ListTransactions +// 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 ListTransactionsRequest method. +// req, resp := client.ListTransactionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListTransactions +func (c *LakeFormation) ListTransactionsRequest(input *ListTransactionsInput) (req *request.Request, output *ListTransactionsOutput) { + op := &request.Operation{ + Name: opListTransactions, + HTTPMethod: "POST", + HTTPPath: "/ListTransactions", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTransactionsInput{} + } + + output = &ListTransactionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTransactions API operation for AWS Lake Formation. +// +// Returns metadata about transactions and their status. To prevent the response +// from growing indefinitely, only uncommitted transactions and those available +// for time-travel queries are returned. +// +// This operation can help you identify uncommitted transactions or to get information +// about transactions. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lake Formation's +// API operation ListTransactions for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input provided was not valid. +// +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/ListTransactions +func (c *LakeFormation) ListTransactions(input *ListTransactionsInput) (*ListTransactionsOutput, error) { + req, out := c.ListTransactionsRequest(input) + return out, req.Send() +} + +// ListTransactionsWithContext is the same as ListTransactions with the addition of +// the ability to pass a context and additional request options. +// +// See ListTransactions 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 *LakeFormation) ListTransactionsWithContext(ctx aws.Context, input *ListTransactionsInput, opts ...request.Option) (*ListTransactionsOutput, error) { + req, out := c.ListTransactionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTransactionsPages iterates over the pages of a ListTransactions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTransactions 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 ListTransactions operation. +// pageNum := 0 +// err := client.ListTransactionsPages(params, +// func(page *lakeformation.ListTransactionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *LakeFormation) ListTransactionsPages(input *ListTransactionsInput, fn func(*ListTransactionsOutput, bool) bool) error { + return c.ListTransactionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTransactionsPagesWithContext same as ListTransactionsPages 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 *LakeFormation) ListTransactionsPagesWithContext(ctx aws.Context, input *ListTransactionsInput, fn func(*ListTransactionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTransactionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTransactionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTransactionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opPutDataLakeSettings = "PutDataLakeSettings" + +// PutDataLakeSettingsRequest generates a "aws/request.Request" representing the +// client's request for the PutDataLakeSettings 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 PutDataLakeSettings for more information on using the PutDataLakeSettings +// 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 PutDataLakeSettingsRequest method. +// req, resp := client.PutDataLakeSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PutDataLakeSettings +func (c *LakeFormation) PutDataLakeSettingsRequest(input *PutDataLakeSettingsInput) (req *request.Request, output *PutDataLakeSettingsOutput) { + op := &request.Operation{ + Name: opPutDataLakeSettings, + HTTPMethod: "POST", + HTTPPath: "/PutDataLakeSettings", + } + + if input == nil { + input = &PutDataLakeSettingsInput{} + } + + output = &PutDataLakeSettingsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutDataLakeSettings API operation for AWS Lake Formation. +// +// Sets the list of data lake administrators who have admin privileges on all +// resources managed by Lake Formation. For more information on admin privileges, +// see Granting Lake Formation Permissions (https://docs.aws.amazon.com/lake-formation/latest/dg/lake-formation-permissions.html). +// +// This API replaces the current list of data lake admins with the new list +// being passed. To add an admin, fetch the current list and add the new admin +// to that list and pass that list in this API. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lake Formation's +// API operation PutDataLakeSettings for usage and error information. +// +// Returned Error Types: +// * InternalServiceException +// An internal service error occurred. +// +// * InvalidInputException +// The input provided was not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/PutDataLakeSettings +func (c *LakeFormation) PutDataLakeSettings(input *PutDataLakeSettingsInput) (*PutDataLakeSettingsOutput, error) { + req, out := c.PutDataLakeSettingsRequest(input) + return out, req.Send() +} + +// PutDataLakeSettingsWithContext is the same as PutDataLakeSettings with the addition of +// the ability to pass a context and additional request options. +// +// See PutDataLakeSettings 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 *LakeFormation) PutDataLakeSettingsWithContext(ctx aws.Context, input *PutDataLakeSettingsInput, opts ...request.Option) (*PutDataLakeSettingsOutput, error) { + req, out := c.PutDataLakeSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRegisterResource = "RegisterResource" + +// RegisterResourceRequest generates a "aws/request.Request" representing the +// client's request for the RegisterResource 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 RegisterResource for more information on using the RegisterResource +// 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 RegisterResourceRequest method. +// req, resp := client.RegisterResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RegisterResource +func (c *LakeFormation) RegisterResourceRequest(input *RegisterResourceInput) (req *request.Request, output *RegisterResourceOutput) { + op := &request.Operation{ + Name: opRegisterResource, + HTTPMethod: "POST", + HTTPPath: "/RegisterResource", + } + + if input == nil { + input = &RegisterResourceInput{} + } + + output = &RegisterResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// RegisterResource API operation for AWS Lake Formation. +// +// Registers the resource as managed by the Data Catalog. +// +// To add or update data, Lake Formation needs read/write access to the chosen +// Amazon S3 path. Choose a role that you know has permission to do this, or +// choose the AWSServiceRoleForLakeFormationDataAccess service-linked role. +// When you register the first Amazon S3 path, the service-linked role and a +// new inline policy are created on your behalf. Lake Formation adds the first +// path to the inline policy and attaches it to the service-linked role. When +// you register subsequent paths, Lake Formation adds the path to the existing +// policy. +// +// The following request registers a new location and gives Lake Formation permission +// to use the service-linked role to access that location. +// +// ResourceArn = arn:aws:s3:::my-bucket UseServiceLinkedRole = true +// +// If UseServiceLinkedRole is not set to true, you must provide or set the RoleArn: +// +// arn:aws:iam::12345:role/my-data-access-role +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lake Formation's +// API operation RegisterResource for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input provided was not valid. +// +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * AlreadyExistsException +// A resource to be created or added already exists. +// +// * EntityNotFoundException +// A specified entity does not exist +// +// * ResourceNumberLimitExceededException +// A resource numerical limit was exceeded. +// +// * AccessDeniedException +// Access to a resource was denied. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RegisterResource +func (c *LakeFormation) RegisterResource(input *RegisterResourceInput) (*RegisterResourceOutput, error) { + req, out := c.RegisterResourceRequest(input) + return out, req.Send() +} + +// RegisterResourceWithContext is the same as RegisterResource with the addition of +// the ability to pass a context and additional request options. +// +// See RegisterResource 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 *LakeFormation) RegisterResourceWithContext(ctx aws.Context, input *RegisterResourceInput, opts ...request.Option) (*RegisterResourceOutput, error) { + req, out := c.RegisterResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRemoveLFTagsFromResource = "RemoveLFTagsFromResource" + +// RemoveLFTagsFromResourceRequest generates a "aws/request.Request" representing the +// client's request for the RemoveLFTagsFromResource 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 RemoveLFTagsFromResource for more information on using the RemoveLFTagsFromResource +// 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 RemoveLFTagsFromResourceRequest method. +// req, resp := client.RemoveLFTagsFromResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RemoveLFTagsFromResource +func (c *LakeFormation) RemoveLFTagsFromResourceRequest(input *RemoveLFTagsFromResourceInput) (req *request.Request, output *RemoveLFTagsFromResourceOutput) { + op := &request.Operation{ + Name: opRemoveLFTagsFromResource, + HTTPMethod: "POST", + HTTPPath: "/RemoveLFTagsFromResource", + } + + if input == nil { + input = &RemoveLFTagsFromResourceInput{} + } + + output = &RemoveLFTagsFromResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// RemoveLFTagsFromResource API operation for AWS Lake Formation. +// +// Removes an LF-tag from the resource. Only database, table, or tableWithColumns +// resource are allowed. To tag columns, use the column inclusion list in tableWithColumns +// to specify column input. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lake Formation's +// API operation RemoveLFTagsFromResource for usage and error information. +// +// Returned Error Types: +// * EntityNotFoundException +// A specified entity does not exist +// +// * InvalidInputException +// The input provided was not valid. +// +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * GlueEncryptionException +// An encryption operation failed. +// +// * AccessDeniedException +// Access to a resource was denied. +// +// * ConcurrentModificationException +// Two processes are trying to modify a resource simultaneously. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RemoveLFTagsFromResource +func (c *LakeFormation) RemoveLFTagsFromResource(input *RemoveLFTagsFromResourceInput) (*RemoveLFTagsFromResourceOutput, error) { + req, out := c.RemoveLFTagsFromResourceRequest(input) + return out, req.Send() +} + +// RemoveLFTagsFromResourceWithContext is the same as RemoveLFTagsFromResource with the addition of +// the ability to pass a context and additional request options. +// +// See RemoveLFTagsFromResource 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 *LakeFormation) RemoveLFTagsFromResourceWithContext(ctx aws.Context, input *RemoveLFTagsFromResourceInput, opts ...request.Option) (*RemoveLFTagsFromResourceOutput, error) { + req, out := c.RemoveLFTagsFromResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opRevokePermissions = "RevokePermissions" + +// RevokePermissionsRequest generates a "aws/request.Request" representing the +// client's request for the RevokePermissions 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 RevokePermissions for more information on using the RevokePermissions +// 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 RevokePermissionsRequest method. +// req, resp := client.RevokePermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RevokePermissions +func (c *LakeFormation) RevokePermissionsRequest(input *RevokePermissionsInput) (req *request.Request, output *RevokePermissionsOutput) { + op := &request.Operation{ + Name: opRevokePermissions, + HTTPMethod: "POST", + HTTPPath: "/RevokePermissions", + } + + if input == nil { + input = &RevokePermissionsInput{} + } + + output = &RevokePermissionsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// RevokePermissions API operation for AWS Lake Formation. +// +// Revokes permissions to the principal to access metadata in the Data Catalog +// and data organized in underlying data storage such as Amazon S3. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lake Formation's +// API operation RevokePermissions for usage and error information. +// +// Returned Error Types: +// * ConcurrentModificationException +// Two processes are trying to modify a resource simultaneously. +// +// * EntityNotFoundException +// A specified entity does not exist +// +// * InvalidInputException +// The input provided was not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/RevokePermissions +func (c *LakeFormation) RevokePermissions(input *RevokePermissionsInput) (*RevokePermissionsOutput, error) { + req, out := c.RevokePermissionsRequest(input) + return out, req.Send() +} + +// RevokePermissionsWithContext is the same as RevokePermissions with the addition of +// the ability to pass a context and additional request options. +// +// See RevokePermissions 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 *LakeFormation) RevokePermissionsWithContext(ctx aws.Context, input *RevokePermissionsInput, opts ...request.Option) (*RevokePermissionsOutput, error) { + req, out := c.RevokePermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opSearchDatabasesByLFTags = "SearchDatabasesByLFTags" + +// SearchDatabasesByLFTagsRequest generates a "aws/request.Request" representing the +// client's request for the SearchDatabasesByLFTags 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 SearchDatabasesByLFTags for more information on using the SearchDatabasesByLFTags +// 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 SearchDatabasesByLFTagsRequest method. +// req, resp := client.SearchDatabasesByLFTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchDatabasesByLFTags +func (c *LakeFormation) SearchDatabasesByLFTagsRequest(input *SearchDatabasesByLFTagsInput) (req *request.Request, output *SearchDatabasesByLFTagsOutput) { + op := &request.Operation{ + Name: opSearchDatabasesByLFTags, + HTTPMethod: "POST", + HTTPPath: "/SearchDatabasesByLFTags", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &SearchDatabasesByLFTagsInput{} + } + + output = &SearchDatabasesByLFTagsOutput{} + req = c.newRequest(op, input, output) + return +} + +// SearchDatabasesByLFTags API operation for AWS Lake Formation. +// +// This operation allows a search on DATABASE resources by TagCondition. This +// operation is used by admins who want to grant user permissions on certain +// TagConditions. Before making a grant, the admin can use SearchDatabasesByTags +// to find all resources where the given TagConditions are valid to verify whether +// the returned resources can be shared. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lake Formation's +// API operation SearchDatabasesByLFTags for usage and error information. +// +// Returned Error Types: +// * EntityNotFoundException +// A specified entity does not exist +// +// * InternalServiceException +// An internal service error occurred. +// +// * InvalidInputException +// The input provided was not valid. +// +// * OperationTimeoutException +// The operation timed out. +// +// * GlueEncryptionException +// An encryption operation failed. +// +// * AccessDeniedException +// Access to a resource was denied. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchDatabasesByLFTags +func (c *LakeFormation) SearchDatabasesByLFTags(input *SearchDatabasesByLFTagsInput) (*SearchDatabasesByLFTagsOutput, error) { + req, out := c.SearchDatabasesByLFTagsRequest(input) + return out, req.Send() +} + +// SearchDatabasesByLFTagsWithContext is the same as SearchDatabasesByLFTags with the addition of +// the ability to pass a context and additional request options. +// +// See SearchDatabasesByLFTags 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 *LakeFormation) SearchDatabasesByLFTagsWithContext(ctx aws.Context, input *SearchDatabasesByLFTagsInput, opts ...request.Option) (*SearchDatabasesByLFTagsOutput, error) { + req, out := c.SearchDatabasesByLFTagsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// SearchDatabasesByLFTagsPages iterates over the pages of a SearchDatabasesByLFTags operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SearchDatabasesByLFTags 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 SearchDatabasesByLFTags operation. +// pageNum := 0 +// err := client.SearchDatabasesByLFTagsPages(params, +// func(page *lakeformation.SearchDatabasesByLFTagsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *LakeFormation) SearchDatabasesByLFTagsPages(input *SearchDatabasesByLFTagsInput, fn func(*SearchDatabasesByLFTagsOutput, bool) bool) error { + return c.SearchDatabasesByLFTagsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// SearchDatabasesByLFTagsPagesWithContext same as SearchDatabasesByLFTagsPages 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 *LakeFormation) SearchDatabasesByLFTagsPagesWithContext(ctx aws.Context, input *SearchDatabasesByLFTagsInput, fn func(*SearchDatabasesByLFTagsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *SearchDatabasesByLFTagsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.SearchDatabasesByLFTagsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*SearchDatabasesByLFTagsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opSearchTablesByLFTags = "SearchTablesByLFTags" + +// SearchTablesByLFTagsRequest generates a "aws/request.Request" representing the +// client's request for the SearchTablesByLFTags 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 SearchTablesByLFTags for more information on using the SearchTablesByLFTags +// 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 SearchTablesByLFTagsRequest method. +// req, resp := client.SearchTablesByLFTagsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchTablesByLFTags +func (c *LakeFormation) SearchTablesByLFTagsRequest(input *SearchTablesByLFTagsInput) (req *request.Request, output *SearchTablesByLFTagsOutput) { + op := &request.Operation{ + Name: opSearchTablesByLFTags, + HTTPMethod: "POST", + HTTPPath: "/SearchTablesByLFTags", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &SearchTablesByLFTagsInput{} + } + + output = &SearchTablesByLFTagsOutput{} + req = c.newRequest(op, input, output) + return +} + +// SearchTablesByLFTags API operation for AWS Lake Formation. +// +// This operation allows a search on TABLE resources by LFTags. This will be +// used by admins who want to grant user permissions on certain LF-tags. Before +// making a grant, the admin can use SearchTablesByLFTags to find all resources +// where the given LFTags are valid to verify whether the returned resources +// can be shared. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lake Formation's +// API operation SearchTablesByLFTags for usage and error information. +// +// Returned Error Types: +// * EntityNotFoundException +// A specified entity does not exist +// +// * InternalServiceException +// An internal service error occurred. +// +// * InvalidInputException +// The input provided was not valid. +// +// * OperationTimeoutException +// The operation timed out. +// +// * GlueEncryptionException +// An encryption operation failed. +// +// * AccessDeniedException +// Access to a resource was denied. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/SearchTablesByLFTags +func (c *LakeFormation) SearchTablesByLFTags(input *SearchTablesByLFTagsInput) (*SearchTablesByLFTagsOutput, error) { + req, out := c.SearchTablesByLFTagsRequest(input) + return out, req.Send() +} + +// SearchTablesByLFTagsWithContext is the same as SearchTablesByLFTags with the addition of +// the ability to pass a context and additional request options. +// +// See SearchTablesByLFTags 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 *LakeFormation) SearchTablesByLFTagsWithContext(ctx aws.Context, input *SearchTablesByLFTagsInput, opts ...request.Option) (*SearchTablesByLFTagsOutput, error) { + req, out := c.SearchTablesByLFTagsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// SearchTablesByLFTagsPages iterates over the pages of a SearchTablesByLFTags operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SearchTablesByLFTags 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 SearchTablesByLFTags operation. +// pageNum := 0 +// err := client.SearchTablesByLFTagsPages(params, +// func(page *lakeformation.SearchTablesByLFTagsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *LakeFormation) SearchTablesByLFTagsPages(input *SearchTablesByLFTagsInput, fn func(*SearchTablesByLFTagsOutput, bool) bool) error { + return c.SearchTablesByLFTagsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// SearchTablesByLFTagsPagesWithContext same as SearchTablesByLFTagsPages 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 *LakeFormation) SearchTablesByLFTagsPagesWithContext(ctx aws.Context, input *SearchTablesByLFTagsInput, fn func(*SearchTablesByLFTagsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *SearchTablesByLFTagsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.SearchTablesByLFTagsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*SearchTablesByLFTagsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opStartQueryPlanning = "StartQueryPlanning" + +// StartQueryPlanningRequest generates a "aws/request.Request" representing the +// client's request for the StartQueryPlanning 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 StartQueryPlanning for more information on using the StartQueryPlanning +// 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 StartQueryPlanningRequest method. +// req, resp := client.StartQueryPlanningRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/StartQueryPlanning +func (c *LakeFormation) StartQueryPlanningRequest(input *StartQueryPlanningInput) (req *request.Request, output *StartQueryPlanningOutput) { + op := &request.Operation{ + Name: opStartQueryPlanning, + HTTPMethod: "POST", + HTTPPath: "/StartQueryPlanning", + } + + if input == nil { + input = &StartQueryPlanningInput{} + } + + output = &StartQueryPlanningOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("query-", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// StartQueryPlanning API operation for AWS Lake Formation. +// +// Submits a request to process a query statement. +// +// This operation generates work units that can be retrieved with the GetWorkUnits +// operation as soon as the query state is WORKUNITS_AVAILABLE or FINISHED. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lake Formation's +// API operation StartQueryPlanning for usage and error information. +// +// Returned Error Types: +// * InternalServiceException +// An internal service error occurred. +// +// * InvalidInputException +// The input provided was not valid. +// +// * AccessDeniedException +// Access to a resource was denied. +// +// * ThrottledException +// Contains details about an error where the query request was throttled. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/StartQueryPlanning +func (c *LakeFormation) StartQueryPlanning(input *StartQueryPlanningInput) (*StartQueryPlanningOutput, error) { + req, out := c.StartQueryPlanningRequest(input) + return out, req.Send() +} + +// StartQueryPlanningWithContext is the same as StartQueryPlanning with the addition of +// the ability to pass a context and additional request options. +// +// See StartQueryPlanning 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 *LakeFormation) StartQueryPlanningWithContext(ctx aws.Context, input *StartQueryPlanningInput, opts ...request.Option) (*StartQueryPlanningOutput, error) { + req, out := c.StartQueryPlanningRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartTransaction = "StartTransaction" + +// StartTransactionRequest generates a "aws/request.Request" representing the +// client's request for the StartTransaction 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 StartTransaction for more information on using the StartTransaction +// 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 StartTransactionRequest method. +// req, resp := client.StartTransactionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/StartTransaction +func (c *LakeFormation) StartTransactionRequest(input *StartTransactionInput) (req *request.Request, output *StartTransactionOutput) { + op := &request.Operation{ + Name: opStartTransaction, + HTTPMethod: "POST", + HTTPPath: "/StartTransaction", + } + + if input == nil { + input = &StartTransactionInput{} + } + + output = &StartTransactionOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartTransaction API operation for AWS Lake Formation. +// +// Starts a new transaction and returns its transaction ID. Transaction IDs +// are opaque objects that you can use to identify a transaction. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lake Formation's +// API operation StartTransaction for usage and error information. +// +// Returned Error Types: +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/StartTransaction +func (c *LakeFormation) StartTransaction(input *StartTransactionInput) (*StartTransactionOutput, error) { + req, out := c.StartTransactionRequest(input) + return out, req.Send() +} + +// StartTransactionWithContext is the same as StartTransaction with the addition of +// the ability to pass a context and additional request options. +// +// See StartTransaction 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 *LakeFormation) StartTransactionWithContext(ctx aws.Context, input *StartTransactionInput, opts ...request.Option) (*StartTransactionOutput, error) { + req, out := c.StartTransactionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateLFTag = "UpdateLFTag" + +// UpdateLFTagRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLFTag 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 UpdateLFTag for more information on using the UpdateLFTag +// 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 UpdateLFTagRequest method. +// req, resp := client.UpdateLFTagRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateLFTag +func (c *LakeFormation) UpdateLFTagRequest(input *UpdateLFTagInput) (req *request.Request, output *UpdateLFTagOutput) { + op := &request.Operation{ + Name: opUpdateLFTag, + HTTPMethod: "POST", + HTTPPath: "/UpdateLFTag", + } + + if input == nil { + input = &UpdateLFTagInput{} + } + + output = &UpdateLFTagOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateLFTag API operation for AWS Lake Formation. +// +// Updates the list of possible values for the specified LF-tag key. If the +// LF-tag does not exist, the operation throws an EntityNotFoundException. The +// values in the delete key values will be deleted from list of possible values. +// If any value in the delete key values is attached to a resource, then API +// errors out with a 400 Exception - "Update not allowed". Untag the attribute +// before deleting the LF-tag key's value. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lake Formation's +// API operation UpdateLFTag for usage and error information. +// +// Returned Error Types: +// * EntityNotFoundException +// A specified entity does not exist +// +// * InvalidInputException +// The input provided was not valid. +// +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * ConcurrentModificationException +// Two processes are trying to modify a resource simultaneously. +// +// * AccessDeniedException +// Access to a resource was denied. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateLFTag +func (c *LakeFormation) UpdateLFTag(input *UpdateLFTagInput) (*UpdateLFTagOutput, error) { + req, out := c.UpdateLFTagRequest(input) + return out, req.Send() +} + +// UpdateLFTagWithContext is the same as UpdateLFTag with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateLFTag 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 *LakeFormation) UpdateLFTagWithContext(ctx aws.Context, input *UpdateLFTagInput, opts ...request.Option) (*UpdateLFTagOutput, error) { + req, out := c.UpdateLFTagRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateResource = "UpdateResource" + +// UpdateResourceRequest generates a "aws/request.Request" representing the +// client's request for the UpdateResource 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 UpdateResource for more information on using the UpdateResource +// 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 UpdateResourceRequest method. +// req, resp := client.UpdateResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateResource +func (c *LakeFormation) UpdateResourceRequest(input *UpdateResourceInput) (req *request.Request, output *UpdateResourceOutput) { + op := &request.Operation{ + Name: opUpdateResource, + HTTPMethod: "POST", + HTTPPath: "/UpdateResource", + } + + if input == nil { + input = &UpdateResourceInput{} + } + + output = &UpdateResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateResource API operation for AWS Lake Formation. +// +// Updates the data access role used for vending access to the given (registered) +// resource in Lake Formation. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lake Formation's +// API operation UpdateResource for usage and error information. +// +// Returned Error Types: +// * InvalidInputException +// The input provided was not valid. +// +// * InternalServiceException +// An internal service error occurred. +// +// * OperationTimeoutException +// The operation timed out. +// +// * EntityNotFoundException +// A specified entity does not exist +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateResource +func (c *LakeFormation) UpdateResource(input *UpdateResourceInput) (*UpdateResourceOutput, error) { + req, out := c.UpdateResourceRequest(input) + return out, req.Send() +} + +// UpdateResourceWithContext is the same as UpdateResource with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateResource 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 *LakeFormation) UpdateResourceWithContext(ctx aws.Context, input *UpdateResourceInput, opts ...request.Option) (*UpdateResourceOutput, error) { + req, out := c.UpdateResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTableObjects = "UpdateTableObjects" + +// UpdateTableObjectsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTableObjects 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 UpdateTableObjects for more information on using the UpdateTableObjects +// 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 UpdateTableObjectsRequest method. +// req, resp := client.UpdateTableObjectsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateTableObjects +func (c *LakeFormation) UpdateTableObjectsRequest(input *UpdateTableObjectsInput) (req *request.Request, output *UpdateTableObjectsOutput) { + op := &request.Operation{ + Name: opUpdateTableObjects, + HTTPMethod: "POST", + HTTPPath: "/UpdateTableObjects", + } + + if input == nil { + input = &UpdateTableObjectsInput{} + } + + output = &UpdateTableObjectsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UpdateTableObjects API operation for AWS Lake Formation. +// +// Updates the manifest of Amazon S3 objects that make up the specified governed +// table. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lake Formation's +// API operation UpdateTableObjects for usage and error information. +// +// Returned Error Types: +// * InternalServiceException +// An internal service error occurred. +// +// * InvalidInputException +// The input provided was not valid. +// +// * OperationTimeoutException +// The operation timed out. +// +// * EntityNotFoundException +// A specified entity does not exist +// +// * TransactionCommittedException +// Contains details about an error where the specified transaction has already +// been committed and cannot be used for UpdateTableObjects. +// +// * TransactionCanceledException +// Contains details about an error related to a transaction that was cancelled. +// +// * TransactionCommitInProgressException +// Contains details about an error related to a transaction commit that was +// in progress. +// +// * ResourceNotReadyException +// Contains details about an error related to a resource which is not ready +// for a transaction. +// +// * ConcurrentModificationException +// Two processes are trying to modify a resource simultaneously. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateTableObjects +func (c *LakeFormation) UpdateTableObjects(input *UpdateTableObjectsInput) (*UpdateTableObjectsOutput, error) { + req, out := c.UpdateTableObjectsRequest(input) + return out, req.Send() +} + +// UpdateTableObjectsWithContext is the same as UpdateTableObjects with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTableObjects 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 *LakeFormation) UpdateTableObjectsWithContext(ctx aws.Context, input *UpdateTableObjectsInput, opts ...request.Option) (*UpdateTableObjectsOutput, error) { + req, out := c.UpdateTableObjectsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTableStorageOptimizer = "UpdateTableStorageOptimizer" + +// UpdateTableStorageOptimizerRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTableStorageOptimizer 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 UpdateTableStorageOptimizer for more information on using the UpdateTableStorageOptimizer +// 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 UpdateTableStorageOptimizerRequest method. +// req, resp := client.UpdateTableStorageOptimizerRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateTableStorageOptimizer +func (c *LakeFormation) UpdateTableStorageOptimizerRequest(input *UpdateTableStorageOptimizerInput) (req *request.Request, output *UpdateTableStorageOptimizerOutput) { + op := &request.Operation{ + Name: opUpdateTableStorageOptimizer, + HTTPMethod: "POST", + HTTPPath: "/UpdateTableStorageOptimizer", + } + + if input == nil { + input = &UpdateTableStorageOptimizerInput{} + } + + output = &UpdateTableStorageOptimizerOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateTableStorageOptimizer API operation for AWS Lake Formation. +// +// Updates the configuration of the storage optimizers for a table. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Lake Formation's +// API operation UpdateTableStorageOptimizer for usage and error information. +// +// Returned Error Types: +// * EntityNotFoundException +// A specified entity does not exist +// +// * InvalidInputException +// The input provided was not valid. +// +// * AccessDeniedException +// Access to a resource was denied. +// +// * InternalServiceException +// An internal service error occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31/UpdateTableStorageOptimizer +func (c *LakeFormation) UpdateTableStorageOptimizer(input *UpdateTableStorageOptimizerInput) (*UpdateTableStorageOptimizerOutput, error) { + req, out := c.UpdateTableStorageOptimizerRequest(input) + return out, req.Send() +} + +// UpdateTableStorageOptimizerWithContext is the same as UpdateTableStorageOptimizer with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTableStorageOptimizer 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 *LakeFormation) UpdateTableStorageOptimizerWithContext(ctx aws.Context, input *UpdateTableStorageOptimizerInput, opts ...request.Option) (*UpdateTableStorageOptimizerOutput, error) { + req, out := c.UpdateTableStorageOptimizerRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Access to a resource was denied. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A message describing the problem. + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +type AddLFTagsToResourceInput struct { + _ struct{} `type:"structure"` + + // The identifier for the Data Catalog. By default, the account ID. The Data + // Catalog is the persistent metadata store. It contains database definitions, + // table definitions, and other control information to manage your Lake Formation + // environment. + CatalogId *string `min:"1" type:"string"` + + // The LF-tags to attach to the resource. + // + // LFTags is a required field + LFTags []*LFTagPair `min:"1" type:"list" required:"true"` + + // The database, table, or column resource to which to attach an LF-tag. + // + // Resource is a required field + Resource *Resource `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 AddLFTagsToResourceInput) 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 AddLFTagsToResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddLFTagsToResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddLFTagsToResourceInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.LFTags == nil { + invalidParams.Add(request.NewErrParamRequired("LFTags")) + } + if s.LFTags != nil && len(s.LFTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LFTags", 1)) + } + if s.Resource == nil { + invalidParams.Add(request.NewErrParamRequired("Resource")) + } + if s.LFTags != nil { + for i, v := range s.LFTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LFTags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Resource != nil { + if err := s.Resource.Validate(); err != nil { + invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *AddLFTagsToResourceInput) SetCatalogId(v string) *AddLFTagsToResourceInput { + s.CatalogId = &v + return s +} + +// SetLFTags sets the LFTags field's value. +func (s *AddLFTagsToResourceInput) SetLFTags(v []*LFTagPair) *AddLFTagsToResourceInput { + s.LFTags = v + return s +} + +// SetResource sets the Resource field's value. +func (s *AddLFTagsToResourceInput) SetResource(v *Resource) *AddLFTagsToResourceInput { + s.Resource = v + return s +} + +type AddLFTagsToResourceOutput struct { + _ struct{} `type:"structure"` + + // A list of failures to tag the resource. + Failures []*LFTagError `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 AddLFTagsToResourceOutput) 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 AddLFTagsToResourceOutput) GoString() string { + return s.String() +} + +// SetFailures sets the Failures field's value. +func (s *AddLFTagsToResourceOutput) SetFailures(v []*LFTagError) *AddLFTagsToResourceOutput { + s.Failures = v + return s +} + +// A new object to add to the governed table. +type AddObjectInput_ struct { + _ struct{} `type:"structure"` + + // The Amazon S3 ETag of the object. Returned by GetTableObjects for validation + // and used to identify changes to the underlying data. + // + // ETag is a required field + ETag *string `min:"1" type:"string" required:"true"` + + // A list of partition values for the object. A value must be specified for + // each partition key associated with the table. + // + // The supported data types are integer, long, date(yyyy-MM-dd), timestamp(yyyy-MM-dd + // HH:mm:ssXXX or yyyy-MM-dd HH:mm:ss"), string and decimal. + PartitionValues []*string `min:"1" type:"list"` + + // The size of the Amazon S3 object in bytes. + // + // Size is a required field + Size *int64 `type:"long" required:"true"` + + // The Amazon S3 location of the object. + // + // Uri is a required field + Uri *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 AddObjectInput_) 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 AddObjectInput_) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddObjectInput_) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddObjectInput_"} + if s.ETag == nil { + invalidParams.Add(request.NewErrParamRequired("ETag")) + } + if s.ETag != nil && len(*s.ETag) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ETag", 1)) + } + if s.PartitionValues != nil && len(s.PartitionValues) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PartitionValues", 1)) + } + if s.Size == nil { + invalidParams.Add(request.NewErrParamRequired("Size")) + } + if s.Uri == nil { + invalidParams.Add(request.NewErrParamRequired("Uri")) + } + if s.Uri != nil && len(*s.Uri) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Uri", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetETag sets the ETag field's value. +func (s *AddObjectInput_) SetETag(v string) *AddObjectInput_ { + s.ETag = &v + return s +} + +// SetPartitionValues sets the PartitionValues field's value. +func (s *AddObjectInput_) SetPartitionValues(v []*string) *AddObjectInput_ { + s.PartitionValues = v + return s +} + +// SetSize sets the Size field's value. +func (s *AddObjectInput_) SetSize(v int64) *AddObjectInput_ { + s.Size = &v + return s +} + +// SetUri sets the Uri field's value. +func (s *AddObjectInput_) SetUri(v string) *AddObjectInput_ { + s.Uri = &v + return s +} + +// A structure that you pass to indicate you want all rows in a filter. +type AllRowsWildcard 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 AllRowsWildcard) 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 AllRowsWildcard) GoString() string { + return s.String() +} + +// A resource to be created or added already exists. +type AlreadyExistsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A message describing the problem. + 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 AlreadyExistsException) 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 AlreadyExistsException) GoString() string { + return s.String() +} + +func newErrorAlreadyExistsException(v protocol.ResponseMetadata) error { + return &AlreadyExistsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AlreadyExistsException) Code() string { + return "AlreadyExistsException" +} + +// Message returns the exception's message. +func (s *AlreadyExistsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AlreadyExistsException) OrigErr() error { + return nil +} + +func (s *AlreadyExistsException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AlreadyExistsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AlreadyExistsException) RequestID() string { + return s.RespMetadata.RequestID +} + +type BatchGrantPermissionsInput struct { + _ struct{} `type:"structure"` + + // The identifier for the Data Catalog. By default, the account ID. The Data + // Catalog is the persistent metadata store. It contains database definitions, + // table definitions, and other control information to manage your Lake Formation + // environment. + CatalogId *string `min:"1" type:"string"` + + // A list of up to 20 entries for resource permissions to be granted by batch + // operation to the principal. + // + // Entries is a required field + Entries []*BatchPermissionsRequestEntry `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGrantPermissionsInput) 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 BatchGrantPermissionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGrantPermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGrantPermissionsInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.Entries == nil { + invalidParams.Add(request.NewErrParamRequired("Entries")) + } + if s.Entries != nil { + for i, v := range s.Entries { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *BatchGrantPermissionsInput) SetCatalogId(v string) *BatchGrantPermissionsInput { + s.CatalogId = &v + return s +} + +// SetEntries sets the Entries field's value. +func (s *BatchGrantPermissionsInput) SetEntries(v []*BatchPermissionsRequestEntry) *BatchGrantPermissionsInput { + s.Entries = v + return s +} + +type BatchGrantPermissionsOutput struct { + _ struct{} `type:"structure"` + + // A list of failures to grant permissions to the resources. + Failures []*BatchPermissionsFailureEntry `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 BatchGrantPermissionsOutput) 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 BatchGrantPermissionsOutput) GoString() string { + return s.String() +} + +// SetFailures sets the Failures field's value. +func (s *BatchGrantPermissionsOutput) SetFailures(v []*BatchPermissionsFailureEntry) *BatchGrantPermissionsOutput { + s.Failures = v + return s +} + +// A list of failures when performing a batch grant or batch revoke operation. +type BatchPermissionsFailureEntry struct { + _ struct{} `type:"structure"` + + // An error message that applies to the failure of the entry. + Error *ErrorDetail `type:"structure"` + + // An identifier for an entry of the batch request. + RequestEntry *BatchPermissionsRequestEntry `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 BatchPermissionsFailureEntry) 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 BatchPermissionsFailureEntry) GoString() string { + return s.String() +} + +// SetError sets the Error field's value. +func (s *BatchPermissionsFailureEntry) SetError(v *ErrorDetail) *BatchPermissionsFailureEntry { + s.Error = v + return s +} + +// SetRequestEntry sets the RequestEntry field's value. +func (s *BatchPermissionsFailureEntry) SetRequestEntry(v *BatchPermissionsRequestEntry) *BatchPermissionsFailureEntry { + s.RequestEntry = v + return s +} + +// A permission to a resource granted by batch operation to the principal. +type BatchPermissionsRequestEntry struct { + _ struct{} `type:"structure"` + + // A unique identifier for the batch permissions request entry. + // + // Id is a required field + Id *string `min:"1" type:"string" required:"true"` + + // The permissions to be granted. + Permissions []*string `type:"list"` + + // Indicates if the option to pass permissions is granted. + PermissionsWithGrantOption []*string `type:"list"` + + // The principal to be granted a permission. + Principal *DataLakePrincipal `type:"structure"` + + // The resource to which the principal is to be granted a permission. + Resource *Resource `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 BatchPermissionsRequestEntry) 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 BatchPermissionsRequestEntry) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchPermissionsRequestEntry) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchPermissionsRequestEntry"} + if s.Id == nil { + invalidParams.Add(request.NewErrParamRequired("Id")) + } + if s.Id != nil && len(*s.Id) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + } + if s.Principal != nil { + if err := s.Principal.Validate(); err != nil { + invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) + } + } + if s.Resource != nil { + if err := s.Resource.Validate(); err != nil { + invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetId sets the Id field's value. +func (s *BatchPermissionsRequestEntry) SetId(v string) *BatchPermissionsRequestEntry { + s.Id = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *BatchPermissionsRequestEntry) SetPermissions(v []*string) *BatchPermissionsRequestEntry { + s.Permissions = v + return s +} + +// SetPermissionsWithGrantOption sets the PermissionsWithGrantOption field's value. +func (s *BatchPermissionsRequestEntry) SetPermissionsWithGrantOption(v []*string) *BatchPermissionsRequestEntry { + s.PermissionsWithGrantOption = v + return s +} + +// SetPrincipal sets the Principal field's value. +func (s *BatchPermissionsRequestEntry) SetPrincipal(v *DataLakePrincipal) *BatchPermissionsRequestEntry { + s.Principal = v + return s +} + +// SetResource sets the Resource field's value. +func (s *BatchPermissionsRequestEntry) SetResource(v *Resource) *BatchPermissionsRequestEntry { + s.Resource = v + return s +} + +type BatchRevokePermissionsInput struct { + _ struct{} `type:"structure"` + + // The identifier for the Data Catalog. By default, the account ID. The Data + // Catalog is the persistent metadata store. It contains database definitions, + // table definitions, and other control information to manage your Lake Formation + // environment. + CatalogId *string `min:"1" type:"string"` + + // A list of up to 20 entries for resource permissions to be revoked by batch + // operation to the principal. + // + // Entries is a required field + Entries []*BatchPermissionsRequestEntry `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchRevokePermissionsInput) 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 BatchRevokePermissionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchRevokePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchRevokePermissionsInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.Entries == nil { + invalidParams.Add(request.NewErrParamRequired("Entries")) + } + if s.Entries != nil { + for i, v := range s.Entries { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *BatchRevokePermissionsInput) SetCatalogId(v string) *BatchRevokePermissionsInput { + s.CatalogId = &v + return s +} + +// SetEntries sets the Entries field's value. +func (s *BatchRevokePermissionsInput) SetEntries(v []*BatchPermissionsRequestEntry) *BatchRevokePermissionsInput { + s.Entries = v + return s +} + +type BatchRevokePermissionsOutput struct { + _ struct{} `type:"structure"` + + // A list of failures to revoke permissions to the resources. + Failures []*BatchPermissionsFailureEntry `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 BatchRevokePermissionsOutput) 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 BatchRevokePermissionsOutput) GoString() string { + return s.String() +} + +// SetFailures sets the Failures field's value. +func (s *BatchRevokePermissionsOutput) SetFailures(v []*BatchPermissionsFailureEntry) *BatchRevokePermissionsOutput { + s.Failures = v + return s +} + +type CancelTransactionInput struct { + _ struct{} `type:"structure"` + + // The transaction to cancel. + // + // TransactionId is a required field + TransactionId *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 CancelTransactionInput) 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 CancelTransactionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CancelTransactionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CancelTransactionInput"} + if s.TransactionId == nil { + invalidParams.Add(request.NewErrParamRequired("TransactionId")) + } + if s.TransactionId != nil && len(*s.TransactionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TransactionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTransactionId sets the TransactionId field's value. +func (s *CancelTransactionInput) SetTransactionId(v string) *CancelTransactionInput { + s.TransactionId = &v + return s +} + +type CancelTransactionOutput 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 CancelTransactionOutput) 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 CancelTransactionOutput) GoString() string { + return s.String() +} + +// A structure for the catalog object. +type CatalogResource 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 CatalogResource) 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 CatalogResource) GoString() string { + return s.String() +} + +// A structure containing the name of a column resource and the LF-tags attached +// to it. +type ColumnLFTag struct { + _ struct{} `type:"structure"` + + // The LF-tags attached to a column resource. + LFTags []*LFTagPair `min:"1" type:"list"` + + // The name of a column resource. + Name *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 ColumnLFTag) 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 ColumnLFTag) GoString() string { + return s.String() +} + +// SetLFTags sets the LFTags field's value. +func (s *ColumnLFTag) SetLFTags(v []*LFTagPair) *ColumnLFTag { + s.LFTags = v + return s +} + +// SetName sets the Name field's value. +func (s *ColumnLFTag) SetName(v string) *ColumnLFTag { + s.Name = &v + return s +} + +// A wildcard object, consisting of an optional list of excluded column names +// or indexes. +type ColumnWildcard struct { + _ struct{} `type:"structure"` + + // Excludes column names. Any column with this name will be excluded. + ExcludedColumnNames []*string `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 ColumnWildcard) 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 ColumnWildcard) GoString() string { + return s.String() +} + +// SetExcludedColumnNames sets the ExcludedColumnNames field's value. +func (s *ColumnWildcard) SetExcludedColumnNames(v []*string) *ColumnWildcard { + s.ExcludedColumnNames = v + return s +} + +type CommitTransactionInput struct { + _ struct{} `type:"structure"` + + // The transaction to commit. + // + // TransactionId is a required field + TransactionId *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 CommitTransactionInput) 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 CommitTransactionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CommitTransactionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CommitTransactionInput"} + if s.TransactionId == nil { + invalidParams.Add(request.NewErrParamRequired("TransactionId")) + } + if s.TransactionId != nil && len(*s.TransactionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TransactionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTransactionId sets the TransactionId field's value. +func (s *CommitTransactionInput) SetTransactionId(v string) *CommitTransactionInput { + s.TransactionId = &v + return s +} + +type CommitTransactionOutput struct { + _ struct{} `type:"structure"` + + // The status of the transaction. + TransactionStatus *string `type:"string" enum:"TransactionStatus"` +} + +// 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 CommitTransactionOutput) 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 CommitTransactionOutput) GoString() string { + return s.String() +} + +// SetTransactionStatus sets the TransactionStatus field's value. +func (s *CommitTransactionOutput) SetTransactionStatus(v string) *CommitTransactionOutput { + s.TransactionStatus = &v + return s +} + +// Two processes are trying to modify a resource simultaneously. +type ConcurrentModificationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A message describing the problem. + 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 ConcurrentModificationException) 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 ConcurrentModificationException) GoString() string { + return s.String() +} + +func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error { + return &ConcurrentModificationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConcurrentModificationException) Code() string { + return "ConcurrentModificationException" +} + +// Message returns the exception's message. +func (s *ConcurrentModificationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConcurrentModificationException) OrigErr() error { + return nil +} + +func (s *ConcurrentModificationException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConcurrentModificationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConcurrentModificationException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateDataCellsFilterInput struct { + _ struct{} `type:"structure"` + + // A DataCellsFilter structure containing information about the data cells filter. + // + // TableData is a required field + TableData *DataCellsFilter `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 CreateDataCellsFilterInput) 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 CreateDataCellsFilterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateDataCellsFilterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateDataCellsFilterInput"} + if s.TableData == nil { + invalidParams.Add(request.NewErrParamRequired("TableData")) + } + if s.TableData != nil { + if err := s.TableData.Validate(); err != nil { + invalidParams.AddNested("TableData", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTableData sets the TableData field's value. +func (s *CreateDataCellsFilterInput) SetTableData(v *DataCellsFilter) *CreateDataCellsFilterInput { + s.TableData = v + return s +} + +type CreateDataCellsFilterOutput 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 CreateDataCellsFilterOutput) 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 CreateDataCellsFilterOutput) GoString() string { + return s.String() +} + +type CreateLFTagInput struct { + _ struct{} `type:"structure"` + + // The identifier for the Data Catalog. By default, the account ID. The Data + // Catalog is the persistent metadata store. It contains database definitions, + // table definitions, and other control information to manage your Lake Formation + // environment. + CatalogId *string `min:"1" type:"string"` + + // The key-name for the LF-tag. + // + // TagKey is a required field + TagKey *string `min:"1" type:"string" required:"true"` + + // A list of possible values an attribute can take. + // + // TagValues is a required field + TagValues []*string `min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateLFTagInput) 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 CreateLFTagInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateLFTagInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLFTagInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.TagKey == nil { + invalidParams.Add(request.NewErrParamRequired("TagKey")) + } + if s.TagKey != nil && len(*s.TagKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) + } + if s.TagValues == nil { + invalidParams.Add(request.NewErrParamRequired("TagValues")) + } + if s.TagValues != nil && len(s.TagValues) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagValues", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *CreateLFTagInput) SetCatalogId(v string) *CreateLFTagInput { + s.CatalogId = &v + return s +} + +// SetTagKey sets the TagKey field's value. +func (s *CreateLFTagInput) SetTagKey(v string) *CreateLFTagInput { + s.TagKey = &v + return s +} + +// SetTagValues sets the TagValues field's value. +func (s *CreateLFTagInput) SetTagValues(v []*string) *CreateLFTagInput { + s.TagValues = v + return s +} + +type CreateLFTagOutput 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 CreateLFTagOutput) 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 CreateLFTagOutput) GoString() string { + return s.String() +} + +// A structure that describes certain columns on certain rows. +type DataCellsFilter struct { + _ struct{} `type:"structure"` + + // A list of column names. + ColumnNames []*string `type:"list"` + + // A wildcard with exclusions. + ColumnWildcard *ColumnWildcard `type:"structure"` + + // A database in the Glue Data Catalog. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The name given by the user to the data filter cell. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // A PartiQL predicate. + RowFilter *RowFilter `type:"structure"` + + // The ID of the catalog to which the table belongs. + // + // TableCatalogId is a required field + TableCatalogId *string `min:"1" type:"string" required:"true"` + + // A table in the database. + // + // TableName is a required field + TableName *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 DataCellsFilter) 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 DataCellsFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataCellsFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataCellsFilter"} + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.TableCatalogId == nil { + invalidParams.Add(request.NewErrParamRequired("TableCatalogId")) + } + if s.TableCatalogId != nil && len(*s.TableCatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableCatalogId", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColumnNames sets the ColumnNames field's value. +func (s *DataCellsFilter) SetColumnNames(v []*string) *DataCellsFilter { + s.ColumnNames = v + return s +} + +// SetColumnWildcard sets the ColumnWildcard field's value. +func (s *DataCellsFilter) SetColumnWildcard(v *ColumnWildcard) *DataCellsFilter { + s.ColumnWildcard = v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *DataCellsFilter) SetDatabaseName(v string) *DataCellsFilter { + s.DatabaseName = &v + return s +} + +// SetName sets the Name field's value. +func (s *DataCellsFilter) SetName(v string) *DataCellsFilter { + s.Name = &v + return s +} + +// SetRowFilter sets the RowFilter field's value. +func (s *DataCellsFilter) SetRowFilter(v *RowFilter) *DataCellsFilter { + s.RowFilter = v + return s +} + +// SetTableCatalogId sets the TableCatalogId field's value. +func (s *DataCellsFilter) SetTableCatalogId(v string) *DataCellsFilter { + s.TableCatalogId = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *DataCellsFilter) SetTableName(v string) *DataCellsFilter { + s.TableName = &v + return s +} + +// A structure for a data cells filter resource. +type DataCellsFilterResource struct { + _ struct{} `type:"structure"` + + // A database in the Glue Data Catalog. + DatabaseName *string `min:"1" type:"string"` + + // The name of the data cells filter. + Name *string `min:"1" type:"string"` + + // The ID of the catalog to which the table belongs. + TableCatalogId *string `min:"1" type:"string"` + + // The name of the table. + TableName *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 DataCellsFilterResource) 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 DataCellsFilterResource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataCellsFilterResource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataCellsFilterResource"} + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.TableCatalogId != nil && len(*s.TableCatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableCatalogId", 1)) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *DataCellsFilterResource) SetDatabaseName(v string) *DataCellsFilterResource { + s.DatabaseName = &v + return s +} + +// SetName sets the Name field's value. +func (s *DataCellsFilterResource) SetName(v string) *DataCellsFilterResource { + s.Name = &v + return s +} + +// SetTableCatalogId sets the TableCatalogId field's value. +func (s *DataCellsFilterResource) SetTableCatalogId(v string) *DataCellsFilterResource { + s.TableCatalogId = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *DataCellsFilterResource) SetTableName(v string) *DataCellsFilterResource { + s.TableName = &v + return s +} + +// The AWS Lake Formation principal. Supported principals are IAM users or IAM +// roles. +type DataLakePrincipal struct { + _ struct{} `type:"structure"` + + // An identifier for the Lake Formation principal. + DataLakePrincipalIdentifier *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 DataLakePrincipal) 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 DataLakePrincipal) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataLakePrincipal) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataLakePrincipal"} + if s.DataLakePrincipalIdentifier != nil && len(*s.DataLakePrincipalIdentifier) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataLakePrincipalIdentifier", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataLakePrincipalIdentifier sets the DataLakePrincipalIdentifier field's value. +func (s *DataLakePrincipal) SetDataLakePrincipalIdentifier(v string) *DataLakePrincipal { + s.DataLakePrincipalIdentifier = &v + return s +} + +// A structure representing a list of Lake Formation principals designated as +// data lake administrators and lists of principal permission entries for default +// create database and default create table permissions. +type DataLakeSettings struct { + _ struct{} `type:"structure"` + + // Specifies whether access control on newly created database is managed by + // Lake Formation permissions or exclusively by IAM permissions. You can override + // this default setting when you create a database. + // + // A null value indicates access control by Lake Formation permissions. A value + // that assigns ALL to IAM_ALLOWED_PRINCIPALS indicates access control by IAM + // permissions. This is referred to as the setting "Use only IAM access control," + // and is for backward compatibility with the Glue permission model implemented + // by IAM permissions. + // + // The only permitted values are an empty array or an array that contains a + // single JSON object that grants ALL to IAM_ALLOWED_PRINCIPALS. + // + // For more information, see Changing the Default Security Settings for Your + // Data Lake (https://docs.aws.amazon.com/lake-formation/latest/dg/change-settings.html). + CreateDatabaseDefaultPermissions []*PrincipalPermissions `type:"list"` + + // Specifies whether access control on newly created table is managed by Lake + // Formation permissions or exclusively by IAM permissions. + // + // A null value indicates access control by Lake Formation permissions. A value + // that assigns ALL to IAM_ALLOWED_PRINCIPALS indicates access control by IAM + // permissions. This is referred to as the setting "Use only IAM access control," + // and is for backward compatibility with the Glue permission model implemented + // by IAM permissions. + // + // The only permitted values are an empty array or an array that contains a + // single JSON object that grants ALL to IAM_ALLOWED_PRINCIPALS. + // + // For more information, see Changing the Default Security Settings for Your + // Data Lake (https://docs.aws.amazon.com/lake-formation/latest/dg/change-settings.html). + CreateTableDefaultPermissions []*PrincipalPermissions `type:"list"` + + // A list of Lake Formation principals. Supported principals are IAM users or + // IAM roles. + DataLakeAdmins []*DataLakePrincipal `type:"list"` + + // A list of the resource-owning account IDs that the caller's account can use + // to share their user access details (user ARNs). The user ARNs can be logged + // in the resource owner's CloudTrail log. + // + // You may want to specify this property when you are in a high-trust boundary, + // such as the same team or company. + TrustedResourceOwners []*string `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 DataLakeSettings) 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 DataLakeSettings) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataLakeSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataLakeSettings"} + if s.CreateDatabaseDefaultPermissions != nil { + for i, v := range s.CreateDatabaseDefaultPermissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CreateDatabaseDefaultPermissions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.CreateTableDefaultPermissions != nil { + for i, v := range s.CreateTableDefaultPermissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CreateTableDefaultPermissions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.DataLakeAdmins != nil { + for i, v := range s.DataLakeAdmins { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataLakeAdmins", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreateDatabaseDefaultPermissions sets the CreateDatabaseDefaultPermissions field's value. +func (s *DataLakeSettings) SetCreateDatabaseDefaultPermissions(v []*PrincipalPermissions) *DataLakeSettings { + s.CreateDatabaseDefaultPermissions = v + return s +} + +// SetCreateTableDefaultPermissions sets the CreateTableDefaultPermissions field's value. +func (s *DataLakeSettings) SetCreateTableDefaultPermissions(v []*PrincipalPermissions) *DataLakeSettings { + s.CreateTableDefaultPermissions = v + return s +} + +// SetDataLakeAdmins sets the DataLakeAdmins field's value. +func (s *DataLakeSettings) SetDataLakeAdmins(v []*DataLakePrincipal) *DataLakeSettings { + s.DataLakeAdmins = v + return s +} + +// SetTrustedResourceOwners sets the TrustedResourceOwners field's value. +func (s *DataLakeSettings) SetTrustedResourceOwners(v []*string) *DataLakeSettings { + s.TrustedResourceOwners = v + return s +} + +// A structure for a data location object where permissions are granted or revoked. +type DataLocationResource struct { + _ struct{} `type:"structure"` + + // The identifier for the Data Catalog where the location is registered with + // Lake Formation. By default, it is the account ID of the caller. + CatalogId *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) that uniquely identifies the data location + // resource. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataLocationResource) 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 DataLocationResource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataLocationResource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataLocationResource"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *DataLocationResource) SetCatalogId(v string) *DataLocationResource { + s.CatalogId = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *DataLocationResource) SetResourceArn(v string) *DataLocationResource { + s.ResourceArn = &v + return s +} + +// A structure for the database object. +type DatabaseResource struct { + _ struct{} `type:"structure"` + + // The identifier for the Data Catalog. By default, it is the account ID of + // the caller. + CatalogId *string `min:"1" type:"string"` + + // The name of the database resource. Unique to the Data Catalog. + // + // Name is a required field + Name *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 DatabaseResource) 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 DatabaseResource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DatabaseResource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DatabaseResource"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *DatabaseResource) SetCatalogId(v string) *DatabaseResource { + s.CatalogId = &v + return s +} + +// SetName sets the Name field's value. +func (s *DatabaseResource) SetName(v string) *DatabaseResource { + s.Name = &v + return s +} + +type DeleteDataCellsFilterInput struct { + _ struct{} `type:"structure"` + + // A database in the Glue Data Catalog. + DatabaseName *string `min:"1" type:"string"` + + // The name given by the user to the data filter cell. + Name *string `min:"1" type:"string"` + + // The ID of the catalog to which the table belongs. + TableCatalogId *string `min:"1" type:"string"` + + // A table in the database. + TableName *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 DeleteDataCellsFilterInput) 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 DeleteDataCellsFilterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDataCellsFilterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDataCellsFilterInput"} + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.TableCatalogId != nil && len(*s.TableCatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableCatalogId", 1)) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *DeleteDataCellsFilterInput) SetDatabaseName(v string) *DeleteDataCellsFilterInput { + s.DatabaseName = &v + return s +} + +// SetName sets the Name field's value. +func (s *DeleteDataCellsFilterInput) SetName(v string) *DeleteDataCellsFilterInput { + s.Name = &v + return s +} + +// SetTableCatalogId sets the TableCatalogId field's value. +func (s *DeleteDataCellsFilterInput) SetTableCatalogId(v string) *DeleteDataCellsFilterInput { + s.TableCatalogId = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *DeleteDataCellsFilterInput) SetTableName(v string) *DeleteDataCellsFilterInput { + s.TableName = &v + return s +} + +type DeleteDataCellsFilterOutput 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 DeleteDataCellsFilterOutput) 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 DeleteDataCellsFilterOutput) GoString() string { + return s.String() +} + +type DeleteLFTagInput struct { + _ struct{} `type:"structure"` + + // The identifier for the Data Catalog. By default, the account ID. The Data + // Catalog is the persistent metadata store. It contains database definitions, + // table definitions, and other control information to manage your Lake Formation + // environment. + CatalogId *string `min:"1" type:"string"` + + // The key-name for the LF-tag to delete. + // + // TagKey is a required field + TagKey *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 DeleteLFTagInput) 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 DeleteLFTagInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteLFTagInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteLFTagInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.TagKey == nil { + invalidParams.Add(request.NewErrParamRequired("TagKey")) + } + if s.TagKey != nil && len(*s.TagKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *DeleteLFTagInput) SetCatalogId(v string) *DeleteLFTagInput { + s.CatalogId = &v + return s +} + +// SetTagKey sets the TagKey field's value. +func (s *DeleteLFTagInput) SetTagKey(v string) *DeleteLFTagInput { + s.TagKey = &v + return s +} + +type DeleteLFTagOutput 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 DeleteLFTagOutput) 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 DeleteLFTagOutput) GoString() string { + return s.String() +} + +// An object to delete from the governed table. +type DeleteObjectInput_ struct { + _ struct{} `type:"structure"` + + // The Amazon S3 ETag of the object. Returned by GetTableObjects for validation + // and used to identify changes to the underlying data. + ETag *string `min:"1" type:"string"` + + // A list of partition values for the object. A value must be specified for + // each partition key associated with the governed table. + PartitionValues []*string `min:"1" type:"list"` + + // The Amazon S3 location of the object to delete. + // + // Uri is a required field + Uri *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 DeleteObjectInput_) 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 DeleteObjectInput_) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteObjectInput_) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteObjectInput_"} + if s.ETag != nil && len(*s.ETag) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ETag", 1)) + } + if s.PartitionValues != nil && len(s.PartitionValues) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PartitionValues", 1)) + } + if s.Uri == nil { + invalidParams.Add(request.NewErrParamRequired("Uri")) + } + if s.Uri != nil && len(*s.Uri) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Uri", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetETag sets the ETag field's value. +func (s *DeleteObjectInput_) SetETag(v string) *DeleteObjectInput_ { + s.ETag = &v + return s +} + +// SetPartitionValues sets the PartitionValues field's value. +func (s *DeleteObjectInput_) SetPartitionValues(v []*string) *DeleteObjectInput_ { + s.PartitionValues = v + return s +} + +// SetUri sets the Uri field's value. +func (s *DeleteObjectInput_) SetUri(v string) *DeleteObjectInput_ { + s.Uri = &v + return s +} + +type DeleteObjectsOnCancelInput struct { + _ struct{} `type:"structure"` + + // The Glue data catalog that contains the governed table. Defaults to the current + // account ID. + CatalogId *string `min:"1" type:"string"` + + // The database that contains the governed table. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // A list of VirtualObject structures, which indicates the Amazon S3 objects + // to be deleted if the transaction cancels. + // + // Objects is a required field + Objects []*VirtualObject `min:"1" type:"list" required:"true"` + + // The name of the governed table. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` + + // ID of the transaction that the writes occur in. + // + // TransactionId is a required field + TransactionId *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 DeleteObjectsOnCancelInput) 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 DeleteObjectsOnCancelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteObjectsOnCancelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteObjectsOnCancelInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.Objects == nil { + invalidParams.Add(request.NewErrParamRequired("Objects")) + } + if s.Objects != nil && len(s.Objects) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Objects", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.TransactionId == nil { + invalidParams.Add(request.NewErrParamRequired("TransactionId")) + } + if s.TransactionId != nil && len(*s.TransactionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TransactionId", 1)) + } + if s.Objects != nil { + for i, v := range s.Objects { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Objects", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *DeleteObjectsOnCancelInput) SetCatalogId(v string) *DeleteObjectsOnCancelInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *DeleteObjectsOnCancelInput) SetDatabaseName(v string) *DeleteObjectsOnCancelInput { + s.DatabaseName = &v + return s +} + +// SetObjects sets the Objects field's value. +func (s *DeleteObjectsOnCancelInput) SetObjects(v []*VirtualObject) *DeleteObjectsOnCancelInput { + s.Objects = v + return s +} + +// SetTableName sets the TableName field's value. +func (s *DeleteObjectsOnCancelInput) SetTableName(v string) *DeleteObjectsOnCancelInput { + s.TableName = &v + return s +} + +// SetTransactionId sets the TransactionId field's value. +func (s *DeleteObjectsOnCancelInput) SetTransactionId(v string) *DeleteObjectsOnCancelInput { + s.TransactionId = &v + return s +} + +type DeleteObjectsOnCancelOutput 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 DeleteObjectsOnCancelOutput) 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 DeleteObjectsOnCancelOutput) GoString() string { + return s.String() +} + +type DeregisterResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource that you want to deregister. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeregisterResourceInput) 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 DeregisterResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeregisterResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeregisterResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *DeregisterResourceInput) SetResourceArn(v string) *DeregisterResourceInput { + s.ResourceArn = &v + return s +} + +type DeregisterResourceOutput 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 DeregisterResourceOutput) 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 DeregisterResourceOutput) GoString() string { + return s.String() +} + +type DescribeResourceInput struct { + _ struct{} `type:"structure"` + + // The resource ARN. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeResourceInput) 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 DescribeResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *DescribeResourceInput) SetResourceArn(v string) *DescribeResourceInput { + s.ResourceArn = &v + return s +} + +type DescribeResourceOutput struct { + _ struct{} `type:"structure"` + + // A structure containing information about an Lake Formation resource. + ResourceInfo *ResourceInfo `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 DescribeResourceOutput) 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 DescribeResourceOutput) GoString() string { + return s.String() +} + +// SetResourceInfo sets the ResourceInfo field's value. +func (s *DescribeResourceOutput) SetResourceInfo(v *ResourceInfo) *DescribeResourceOutput { + s.ResourceInfo = v + return s +} + +type DescribeTransactionInput struct { + _ struct{} `type:"structure"` + + // The transaction for which to return status. + // + // TransactionId is a required field + TransactionId *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 DescribeTransactionInput) 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 DescribeTransactionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeTransactionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeTransactionInput"} + if s.TransactionId == nil { + invalidParams.Add(request.NewErrParamRequired("TransactionId")) + } + if s.TransactionId != nil && len(*s.TransactionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TransactionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTransactionId sets the TransactionId field's value. +func (s *DescribeTransactionInput) SetTransactionId(v string) *DescribeTransactionInput { + s.TransactionId = &v + return s +} + +type DescribeTransactionOutput struct { + _ struct{} `type:"structure"` + + // Returns a TransactionDescription object containing information about the + // transaction. + TransactionDescription *TransactionDescription `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 DescribeTransactionOutput) 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 DescribeTransactionOutput) GoString() string { + return s.String() +} + +// SetTransactionDescription sets the TransactionDescription field's value. +func (s *DescribeTransactionOutput) SetTransactionDescription(v *TransactionDescription) *DescribeTransactionOutput { + s.TransactionDescription = v + return s +} + +// A structure containing the additional details to be returned in the AdditionalDetails +// attribute of PrincipalResourcePermissions. +// +// If a catalog resource is shared through Resource Access Manager (RAM), then +// there will exist a corresponding RAM resource share ARN. +type DetailsMap struct { + _ struct{} `type:"structure"` + + // A resource share ARN for a catalog resource shared through RAM. + ResourceShare []*string `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 DetailsMap) 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 DetailsMap) GoString() string { + return s.String() +} + +// SetResourceShare sets the ResourceShare field's value. +func (s *DetailsMap) SetResourceShare(v []*string) *DetailsMap { + s.ResourceShare = v + return s +} + +// A specified entity does not exist +type EntityNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A message describing the problem. + 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 EntityNotFoundException) 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 EntityNotFoundException) GoString() string { + return s.String() +} + +func newErrorEntityNotFoundException(v protocol.ResponseMetadata) error { + return &EntityNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *EntityNotFoundException) Code() string { + return "EntityNotFoundException" +} + +// Message returns the exception's message. +func (s *EntityNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *EntityNotFoundException) OrigErr() error { + return nil +} + +func (s *EntityNotFoundException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *EntityNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *EntityNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Contains details about an error. +type ErrorDetail struct { + _ struct{} `type:"structure"` + + // The code associated with this error. + ErrorCode *string `min:"1" type:"string"` + + // A message describing the error. + ErrorMessage *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ErrorDetail) 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 ErrorDetail) GoString() string { + return s.String() +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *ErrorDetail) SetErrorCode(v string) *ErrorDetail { + s.ErrorCode = &v + return s +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *ErrorDetail) SetErrorMessage(v string) *ErrorDetail { + s.ErrorMessage = &v + return s +} + +// Statistics related to the processing of a query statement. +type ExecutionStatistics struct { + _ struct{} `type:"structure"` + + // The average time the request took to be executed. + AverageExecutionTimeMillis *int64 `type:"long"` + + // The amount of data that was scanned in bytes. + DataScannedBytes *int64 `type:"long"` + + // The number of work units executed. + WorkUnitsExecutedCount *int64 `type:"long"` +} + +// 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 ExecutionStatistics) 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 ExecutionStatistics) GoString() string { + return s.String() +} + +// SetAverageExecutionTimeMillis sets the AverageExecutionTimeMillis field's value. +func (s *ExecutionStatistics) SetAverageExecutionTimeMillis(v int64) *ExecutionStatistics { + s.AverageExecutionTimeMillis = &v + return s +} + +// SetDataScannedBytes sets the DataScannedBytes field's value. +func (s *ExecutionStatistics) SetDataScannedBytes(v int64) *ExecutionStatistics { + s.DataScannedBytes = &v + return s +} + +// SetWorkUnitsExecutedCount sets the WorkUnitsExecutedCount field's value. +func (s *ExecutionStatistics) SetWorkUnitsExecutedCount(v int64) *ExecutionStatistics { + s.WorkUnitsExecutedCount = &v + return s +} + +// Contains details about an error where the query request expired. +type ExpiredException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A message describing the error. + 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 ExpiredException) 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 ExpiredException) GoString() string { + return s.String() +} + +func newErrorExpiredException(v protocol.ResponseMetadata) error { + return &ExpiredException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ExpiredException) Code() string { + return "ExpiredException" +} + +// Message returns the exception's message. +func (s *ExpiredException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ExpiredException) OrigErr() error { + return nil +} + +func (s *ExpiredException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ExpiredException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ExpiredException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ExtendTransactionInput struct { + _ struct{} `type:"structure"` + + // The transaction to extend. + TransactionId *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 ExtendTransactionInput) 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 ExtendTransactionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ExtendTransactionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ExtendTransactionInput"} + if s.TransactionId != nil && len(*s.TransactionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TransactionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTransactionId sets the TransactionId field's value. +func (s *ExtendTransactionInput) SetTransactionId(v string) *ExtendTransactionInput { + s.TransactionId = &v + return s +} + +type ExtendTransactionOutput 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 ExtendTransactionOutput) 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 ExtendTransactionOutput) GoString() string { + return s.String() +} + +// This structure describes the filtering of columns in a table based on a filter +// condition. +type FilterCondition struct { + _ struct{} `type:"structure"` + + // The comparison operator used in the filter condition. + ComparisonOperator *string `type:"string" enum:"ComparisonOperator"` + + // The field to filter in the filter condition. + Field *string `type:"string" enum:"FieldNameString"` + + // A string with values used in evaluating the filter condition. + StringValueList []*string `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 FilterCondition) 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 FilterCondition) GoString() string { + return s.String() +} + +// SetComparisonOperator sets the ComparisonOperator field's value. +func (s *FilterCondition) SetComparisonOperator(v string) *FilterCondition { + s.ComparisonOperator = &v + return s +} + +// SetField sets the Field field's value. +func (s *FilterCondition) SetField(v string) *FilterCondition { + s.Field = &v + return s +} + +// SetStringValueList sets the StringValueList field's value. +func (s *FilterCondition) SetStringValueList(v []*string) *FilterCondition { + s.StringValueList = v + return s +} + +type GetDataLakeSettingsInput struct { + _ struct{} `type:"structure"` + + // The identifier for the Data Catalog. By default, the account ID. The Data + // Catalog is the persistent metadata store. It contains database definitions, + // table definitions, and other control information to manage your Lake Formation + // environment. + CatalogId *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 GetDataLakeSettingsInput) 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 GetDataLakeSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetDataLakeSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDataLakeSettingsInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetDataLakeSettingsInput) SetCatalogId(v string) *GetDataLakeSettingsInput { + s.CatalogId = &v + return s +} + +type GetDataLakeSettingsOutput struct { + _ struct{} `type:"structure"` + + // A structure representing a list of Lake Formation principals designated as + // data lake administrators. + DataLakeSettings *DataLakeSettings `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 GetDataLakeSettingsOutput) 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 GetDataLakeSettingsOutput) GoString() string { + return s.String() +} + +// SetDataLakeSettings sets the DataLakeSettings field's value. +func (s *GetDataLakeSettingsOutput) SetDataLakeSettings(v *DataLakeSettings) *GetDataLakeSettingsOutput { + s.DataLakeSettings = v + return s +} + +type GetEffectivePermissionsForPathInput struct { + _ struct{} `type:"structure"` + + // The identifier for the Data Catalog. By default, the account ID. The Data + // Catalog is the persistent metadata store. It contains database definitions, + // table definitions, and other control information to manage your Lake Formation + // environment. + CatalogId *string `min:"1" type:"string"` + + // The maximum number of results to return. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is not the first call to retrieve this list. + NextToken *string `type:"string"` + + // The Amazon Resource Name (ARN) of the resource for which you want to get + // permissions. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetEffectivePermissionsForPathInput) 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 GetEffectivePermissionsForPathInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetEffectivePermissionsForPathInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetEffectivePermissionsForPathInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetEffectivePermissionsForPathInput) SetCatalogId(v string) *GetEffectivePermissionsForPathInput { + s.CatalogId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetEffectivePermissionsForPathInput) SetMaxResults(v int64) *GetEffectivePermissionsForPathInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetEffectivePermissionsForPathInput) SetNextToken(v string) *GetEffectivePermissionsForPathInput { + s.NextToken = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *GetEffectivePermissionsForPathInput) SetResourceArn(v string) *GetEffectivePermissionsForPathInput { + s.ResourceArn = &v + return s +} + +type GetEffectivePermissionsForPathOutput struct { + _ struct{} `type:"structure"` + + // A continuation token, if this is not the first call to retrieve this list. + NextToken *string `type:"string"` + + // A list of the permissions for the specified table or database resource located + // at the path in Amazon S3. + Permissions []*PrincipalResourcePermissions `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 GetEffectivePermissionsForPathOutput) 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 GetEffectivePermissionsForPathOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetEffectivePermissionsForPathOutput) SetNextToken(v string) *GetEffectivePermissionsForPathOutput { + s.NextToken = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *GetEffectivePermissionsForPathOutput) SetPermissions(v []*PrincipalResourcePermissions) *GetEffectivePermissionsForPathOutput { + s.Permissions = v + return s +} + +type GetLFTagInput struct { + _ struct{} `type:"structure"` + + // The identifier for the Data Catalog. By default, the account ID. The Data + // Catalog is the persistent metadata store. It contains database definitions, + // table definitions, and other control information to manage your Lake Formation + // environment. + CatalogId *string `min:"1" type:"string"` + + // The key-name for the LF-tag. + // + // TagKey is a required field + TagKey *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 GetLFTagInput) 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 GetLFTagInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetLFTagInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetLFTagInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.TagKey == nil { + invalidParams.Add(request.NewErrParamRequired("TagKey")) + } + if s.TagKey != nil && len(*s.TagKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetLFTagInput) SetCatalogId(v string) *GetLFTagInput { + s.CatalogId = &v + return s +} + +// SetTagKey sets the TagKey field's value. +func (s *GetLFTagInput) SetTagKey(v string) *GetLFTagInput { + s.TagKey = &v + return s +} + +type GetLFTagOutput struct { + _ struct{} `type:"structure"` + + // The identifier for the Data Catalog. By default, the account ID. The Data + // Catalog is the persistent metadata store. It contains database definitions, + // table definitions, and other control information to manage your Lake Formation + // environment. + CatalogId *string `min:"1" type:"string"` + + // The key-name for the LF-tag. + TagKey *string `min:"1" type:"string"` + + // A list of possible values an attribute can take. + TagValues []*string `min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetLFTagOutput) 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 GetLFTagOutput) GoString() string { + return s.String() +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetLFTagOutput) SetCatalogId(v string) *GetLFTagOutput { + s.CatalogId = &v + return s +} + +// SetTagKey sets the TagKey field's value. +func (s *GetLFTagOutput) SetTagKey(v string) *GetLFTagOutput { + s.TagKey = &v + return s +} + +// SetTagValues sets the TagValues field's value. +func (s *GetLFTagOutput) SetTagValues(v []*string) *GetLFTagOutput { + s.TagValues = v + return s +} + +type GetQueryStateInput struct { + _ struct{} `type:"structure"` + + // The ID of the plan query operation. + // + // QueryId is a required field + QueryId *string `min:"36" 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 GetQueryStateInput) 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 GetQueryStateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetQueryStateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetQueryStateInput"} + if s.QueryId == nil { + invalidParams.Add(request.NewErrParamRequired("QueryId")) + } + if s.QueryId != nil && len(*s.QueryId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("QueryId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetQueryId sets the QueryId field's value. +func (s *GetQueryStateInput) SetQueryId(v string) *GetQueryStateInput { + s.QueryId = &v + return s +} + +// A structure for the output. +type GetQueryStateOutput struct { + _ struct{} `type:"structure"` + + // An error message when the operation fails. + Error *string `type:"string"` + + // The state of a query previously submitted. The possible states are: + // + // * PENDING: the query is pending. + // + // * WORKUNITS_AVAILABLE: some work units are ready for retrieval and execution. + // + // * FINISHED: the query planning finished successfully, and all work units + // are ready for retrieval and execution. + // + // * ERROR: an error occurred with the query, such as an invalid query ID + // or a backend error. + // + // State is a required field + State *string `type:"string" required:"true" enum:"QueryStateString"` +} + +// 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 GetQueryStateOutput) 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 GetQueryStateOutput) GoString() string { + return s.String() +} + +// SetError sets the Error field's value. +func (s *GetQueryStateOutput) SetError(v string) *GetQueryStateOutput { + s.Error = &v + return s +} + +// SetState sets the State field's value. +func (s *GetQueryStateOutput) SetState(v string) *GetQueryStateOutput { + s.State = &v + return s +} + +type GetQueryStatisticsInput struct { + _ struct{} `type:"structure"` + + // The ID of the plan query operation. + // + // QueryId is a required field + QueryId *string `min:"36" 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 GetQueryStatisticsInput) 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 GetQueryStatisticsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetQueryStatisticsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetQueryStatisticsInput"} + if s.QueryId == nil { + invalidParams.Add(request.NewErrParamRequired("QueryId")) + } + if s.QueryId != nil && len(*s.QueryId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("QueryId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetQueryId sets the QueryId field's value. +func (s *GetQueryStatisticsInput) SetQueryId(v string) *GetQueryStatisticsInput { + s.QueryId = &v + return s +} + +type GetQueryStatisticsOutput struct { + _ struct{} `type:"structure"` + + // An ExecutionStatistics structure containing execution statistics. + ExecutionStatistics *ExecutionStatistics `type:"structure"` + + // A PlanningStatistics structure containing query planning statistics. + PlanningStatistics *PlanningStatistics `type:"structure"` + + // The time that the query was submitted. + QuerySubmissionTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetQueryStatisticsOutput) 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 GetQueryStatisticsOutput) GoString() string { + return s.String() +} + +// SetExecutionStatistics sets the ExecutionStatistics field's value. +func (s *GetQueryStatisticsOutput) SetExecutionStatistics(v *ExecutionStatistics) *GetQueryStatisticsOutput { + s.ExecutionStatistics = v + return s +} + +// SetPlanningStatistics sets the PlanningStatistics field's value. +func (s *GetQueryStatisticsOutput) SetPlanningStatistics(v *PlanningStatistics) *GetQueryStatisticsOutput { + s.PlanningStatistics = v + return s +} + +// SetQuerySubmissionTime sets the QuerySubmissionTime field's value. +func (s *GetQueryStatisticsOutput) SetQuerySubmissionTime(v time.Time) *GetQueryStatisticsOutput { + s.QuerySubmissionTime = &v + return s +} + +type GetResourceLFTagsInput struct { + _ struct{} `type:"structure"` + + // The identifier for the Data Catalog. By default, the account ID. The Data + // Catalog is the persistent metadata store. It contains database definitions, + // table definitions, and other control information to manage your Lake Formation + // environment. + CatalogId *string `min:"1" type:"string"` + + // The database, table, or column resource for which you want to return LF-tags. + // + // Resource is a required field + Resource *Resource `type:"structure" required:"true"` + + // Indicates whether to show the assigned LF-tags. + ShowAssignedLFTags *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetResourceLFTagsInput) 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 GetResourceLFTagsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetResourceLFTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetResourceLFTagsInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.Resource == nil { + invalidParams.Add(request.NewErrParamRequired("Resource")) + } + if s.Resource != nil { + if err := s.Resource.Validate(); err != nil { + invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetResourceLFTagsInput) SetCatalogId(v string) *GetResourceLFTagsInput { + s.CatalogId = &v + return s +} + +// SetResource sets the Resource field's value. +func (s *GetResourceLFTagsInput) SetResource(v *Resource) *GetResourceLFTagsInput { + s.Resource = v + return s +} + +// SetShowAssignedLFTags sets the ShowAssignedLFTags field's value. +func (s *GetResourceLFTagsInput) SetShowAssignedLFTags(v bool) *GetResourceLFTagsInput { + s.ShowAssignedLFTags = &v + return s +} + +type GetResourceLFTagsOutput struct { + _ struct{} `type:"structure"` + + // A list of LF-tags applied to a database resource. + LFTagOnDatabase []*LFTagPair `min:"1" type:"list"` + + // A list of LF-tags applied to a column resource. + LFTagsOnColumns []*ColumnLFTag `type:"list"` + + // A list of LF-tags applied to a table resource. + LFTagsOnTable []*LFTagPair `min:"1" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetResourceLFTagsOutput) 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 GetResourceLFTagsOutput) GoString() string { + return s.String() +} + +// SetLFTagOnDatabase sets the LFTagOnDatabase field's value. +func (s *GetResourceLFTagsOutput) SetLFTagOnDatabase(v []*LFTagPair) *GetResourceLFTagsOutput { + s.LFTagOnDatabase = v + return s +} + +// SetLFTagsOnColumns sets the LFTagsOnColumns field's value. +func (s *GetResourceLFTagsOutput) SetLFTagsOnColumns(v []*ColumnLFTag) *GetResourceLFTagsOutput { + s.LFTagsOnColumns = v + return s +} + +// SetLFTagsOnTable sets the LFTagsOnTable field's value. +func (s *GetResourceLFTagsOutput) SetLFTagsOnTable(v []*LFTagPair) *GetResourceLFTagsOutput { + s.LFTagsOnTable = v + return s +} + +type GetTableObjectsInput struct { + _ struct{} `type:"structure"` + + // The catalog containing the governed table. Defaults to the caller’s account. + CatalogId *string `min:"1" type:"string"` + + // The database containing the governed table. + // + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // Specifies how many values to return in a page. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token if this is not the first call to retrieve these objects. + NextToken *string `type:"string"` + + // A predicate to filter the objects returned based on the partition keys defined + // in the governed table. + // + // * The comparison operators supported are: =, >, <, >=, <= + // + // * The logical operators supported are: AND + // + // * The data types supported are integer, long, date(yyyy-MM-dd), timestamp(yyyy-MM-dd + // HH:mm:ssXXX or yyyy-MM-dd HH:mm:ss"), string and decimal. + PartitionPredicate *string `type:"string"` + + // The time as of when to read the governed table contents. If not set, the + // most recent transaction commit time is used. Cannot be specified along with + // TransactionId. + QueryAsOfTime *time.Time `type:"timestamp"` + + // The governed table for which to retrieve objects. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` + + // The transaction ID at which to read the governed table contents. If this + // transaction has aborted, an error is returned. If not set, defaults to the + // most recent committed transaction. Cannot be specified along with QueryAsOfTime. + TransactionId *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 GetTableObjectsInput) 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 GetTableObjectsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTableObjectsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTableObjectsInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.TransactionId != nil && len(*s.TransactionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TransactionId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GetTableObjectsInput) SetCatalogId(v string) *GetTableObjectsInput { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *GetTableObjectsInput) SetDatabaseName(v string) *GetTableObjectsInput { + s.DatabaseName = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetTableObjectsInput) SetMaxResults(v int64) *GetTableObjectsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetTableObjectsInput) SetNextToken(v string) *GetTableObjectsInput { + s.NextToken = &v + return s +} + +// SetPartitionPredicate sets the PartitionPredicate field's value. +func (s *GetTableObjectsInput) SetPartitionPredicate(v string) *GetTableObjectsInput { + s.PartitionPredicate = &v + return s +} + +// SetQueryAsOfTime sets the QueryAsOfTime field's value. +func (s *GetTableObjectsInput) SetQueryAsOfTime(v time.Time) *GetTableObjectsInput { + s.QueryAsOfTime = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *GetTableObjectsInput) SetTableName(v string) *GetTableObjectsInput { + s.TableName = &v + return s +} + +// SetTransactionId sets the TransactionId field's value. +func (s *GetTableObjectsInput) SetTransactionId(v string) *GetTableObjectsInput { + s.TransactionId = &v + return s +} + +type GetTableObjectsOutput struct { + _ struct{} `type:"structure"` + + // A continuation token indicating whether additional data is available. + NextToken *string `type:"string"` + + // A list of objects organized by partition keys. + Objects []*PartitionObjects `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 GetTableObjectsOutput) 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 GetTableObjectsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetTableObjectsOutput) SetNextToken(v string) *GetTableObjectsOutput { + s.NextToken = &v + return s +} + +// SetObjects sets the Objects field's value. +func (s *GetTableObjectsOutput) SetObjects(v []*PartitionObjects) *GetTableObjectsOutput { + s.Objects = v + return s +} + +type GetWorkUnitResultsInput struct { + _ struct{} `type:"structure"` + + // The ID of the plan query operation for which to get results. + // + // QueryId is a required field + QueryId *string `min:"36" type:"string" required:"true"` + + // The work unit ID for which to get results. Value generated by enumerating + // WorkUnitIdMin to WorkUnitIdMax (inclusive) from the WorkUnitRange in the + // output of GetWorkUnits. + // + // WorkUnitId is a required field + WorkUnitId *int64 `type:"long" required:"true"` + + // A work token used to query the execution service. Token output from GetWorkUnits. + // + // WorkUnitToken is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by GetWorkUnitResultsInput's + // String and GoString methods. + // + // WorkUnitToken is a required field + WorkUnitToken *string `min:"1" type:"string" required:"true" sensitive:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetWorkUnitResultsInput) 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 GetWorkUnitResultsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetWorkUnitResultsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetWorkUnitResultsInput"} + if s.QueryId == nil { + invalidParams.Add(request.NewErrParamRequired("QueryId")) + } + if s.QueryId != nil && len(*s.QueryId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("QueryId", 36)) + } + if s.WorkUnitId == nil { + invalidParams.Add(request.NewErrParamRequired("WorkUnitId")) + } + if s.WorkUnitToken == nil { + invalidParams.Add(request.NewErrParamRequired("WorkUnitToken")) + } + if s.WorkUnitToken != nil && len(*s.WorkUnitToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WorkUnitToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetQueryId sets the QueryId field's value. +func (s *GetWorkUnitResultsInput) SetQueryId(v string) *GetWorkUnitResultsInput { + s.QueryId = &v + return s +} + +// SetWorkUnitId sets the WorkUnitId field's value. +func (s *GetWorkUnitResultsInput) SetWorkUnitId(v int64) *GetWorkUnitResultsInput { + s.WorkUnitId = &v + return s +} + +// SetWorkUnitToken sets the WorkUnitToken field's value. +func (s *GetWorkUnitResultsInput) SetWorkUnitToken(v string) *GetWorkUnitResultsInput { + s.WorkUnitToken = &v + return s +} + +// A structure for the output. +type GetWorkUnitResultsOutput struct { + _ struct{} `type:"structure" payload:"ResultStream"` + + // Rows returned from the GetWorkUnitResults operation as a stream of Apache + // Arrow v1.0 messages. + ResultStream io.ReadCloser `type:"blob"` +} + +// 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 GetWorkUnitResultsOutput) 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 GetWorkUnitResultsOutput) GoString() string { + return s.String() +} + +// SetResultStream sets the ResultStream field's value. +func (s *GetWorkUnitResultsOutput) SetResultStream(v io.ReadCloser) *GetWorkUnitResultsOutput { + s.ResultStream = v + return s +} + +type GetWorkUnitsInput struct { + _ struct{} `type:"structure"` + + // A continuation token, if this is a continuation call. + NextToken *string `type:"string"` + + // The size of each page to get in the Amazon Web Services service call. This + // does not affect the number of items returned in the command's output. Setting + // a smaller page size results in more calls to the Amazon Web Services service, + // retrieving fewer items in each call. This can help prevent the Amazon Web + // Services service calls from timing out. + PageSize *int64 `type:"integer"` + + // The ID of the plan query operation. + // + // QueryId is a required field + QueryId *string `min:"36" 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 GetWorkUnitsInput) 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 GetWorkUnitsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetWorkUnitsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetWorkUnitsInput"} + if s.QueryId == nil { + invalidParams.Add(request.NewErrParamRequired("QueryId")) + } + if s.QueryId != nil && len(*s.QueryId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("QueryId", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNextToken sets the NextToken field's value. +func (s *GetWorkUnitsInput) SetNextToken(v string) *GetWorkUnitsInput { + s.NextToken = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *GetWorkUnitsInput) SetPageSize(v int64) *GetWorkUnitsInput { + s.PageSize = &v + return s +} + +// SetQueryId sets the QueryId field's value. +func (s *GetWorkUnitsInput) SetQueryId(v string) *GetWorkUnitsInput { + s.QueryId = &v + return s +} + +// A structure for the output. +type GetWorkUnitsOutput struct { + _ struct{} `type:"structure"` + + // A continuation token for paginating the returned list of tokens, returned + // if the current segment of the list is not the last. + NextToken *string `type:"string"` + + // The ID of the plan query operation. + // + // QueryId is a required field + QueryId *string `type:"string" required:"true"` + + // A WorkUnitRangeList object that specifies the valid range of work unit IDs + // for querying the execution service. + // + // WorkUnitRanges is a required field + WorkUnitRanges []*WorkUnitRange `type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetWorkUnitsOutput) 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 GetWorkUnitsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *GetWorkUnitsOutput) SetNextToken(v string) *GetWorkUnitsOutput { + s.NextToken = &v + return s +} + +// SetQueryId sets the QueryId field's value. +func (s *GetWorkUnitsOutput) SetQueryId(v string) *GetWorkUnitsOutput { + s.QueryId = &v + return s +} + +// SetWorkUnitRanges sets the WorkUnitRanges field's value. +func (s *GetWorkUnitsOutput) SetWorkUnitRanges(v []*WorkUnitRange) *GetWorkUnitsOutput { + s.WorkUnitRanges = v + return s +} + +// An encryption operation failed. +type GlueEncryptionException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A message describing the problem. + 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 GlueEncryptionException) 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 GlueEncryptionException) GoString() string { + return s.String() +} + +func newErrorGlueEncryptionException(v protocol.ResponseMetadata) error { + return &GlueEncryptionException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *GlueEncryptionException) Code() string { + return "GlueEncryptionException" +} + +// Message returns the exception's message. +func (s *GlueEncryptionException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *GlueEncryptionException) OrigErr() error { + return nil +} + +func (s *GlueEncryptionException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *GlueEncryptionException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *GlueEncryptionException) RequestID() string { + return s.RespMetadata.RequestID +} + +type GrantPermissionsInput struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, the account ID. The Data // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. + // table definitions, and other control information to manage your Lake Formation + // environment. CatalogId *string `min:"1" type:"string"` - // The tags to attach to the resource. + // The permissions granted to the principal on the resource. Lake Formation + // defines privileges to grant and revoke access to metadata in the Data Catalog + // and data organized in underlying data storage such as Amazon S3. Lake Formation + // requires that each principal be authorized to perform a specific task on + // Lake Formation resources. // - // LFTags is a required field - LFTags []*LFTagPair `min:"1" type:"list" required:"true"` + // Permissions is a required field + Permissions []*string `type:"list" required:"true"` + + // Indicates a list of the granted permissions that the principal may pass to + // other users. These permissions may only be a subset of the permissions granted + // in the Privileges. + PermissionsWithGrantOption []*string `type:"list"` + + // The principal to be granted the permissions on the resource. Supported principals + // are IAM users or IAM roles, and they are defined by their principal type + // and their ARN. + // + // Note that if you define a resource with a particular ARN, then later delete, + // and recreate a resource with that same ARN, the resource maintains the permissions + // already granted. + // + // Principal is a required field + Principal *DataLakePrincipal `type:"structure" required:"true"` - // The resource to which to attach a tag. + // The resource to which permissions are to be granted. Resources in Lake Formation + // are the Data Catalog, databases, and tables. // // Resource is a required field Resource *Resource `type:"structure" required:"true"` @@ -2392,7 +8493,7 @@ type AddLFTagsToResourceInput 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 AddLFTagsToResourceInput) String() string { +func (s GrantPermissionsInput) String() string { return awsutil.Prettify(s) } @@ -2401,33 +8502,28 @@ func (s AddLFTagsToResourceInput) 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 AddLFTagsToResourceInput) GoString() string { +func (s GrantPermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AddLFTagsToResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AddLFTagsToResourceInput"} +func (s *GrantPermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GrantPermissionsInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.LFTags == nil { - invalidParams.Add(request.NewErrParamRequired("LFTags")) + if s.Permissions == nil { + invalidParams.Add(request.NewErrParamRequired("Permissions")) } - if s.LFTags != nil && len(s.LFTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LFTags", 1)) + if s.Principal == nil { + invalidParams.Add(request.NewErrParamRequired("Principal")) } if s.Resource == nil { invalidParams.Add(request.NewErrParamRequired("Resource")) } - if s.LFTags != nil { - for i, v := range s.LFTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LFTags", i), err.(request.ErrInvalidParams)) - } + if s.Principal != nil { + if err := s.Principal.Validate(); err != nil { + invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) } } if s.Resource != nil { @@ -2443,28 +8539,37 @@ func (s *AddLFTagsToResourceInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *AddLFTagsToResourceInput) SetCatalogId(v string) *AddLFTagsToResourceInput { +func (s *GrantPermissionsInput) SetCatalogId(v string) *GrantPermissionsInput { s.CatalogId = &v return s } -// SetLFTags sets the LFTags field's value. -func (s *AddLFTagsToResourceInput) SetLFTags(v []*LFTagPair) *AddLFTagsToResourceInput { - s.LFTags = v +// SetPermissions sets the Permissions field's value. +func (s *GrantPermissionsInput) SetPermissions(v []*string) *GrantPermissionsInput { + s.Permissions = v + return s +} + +// SetPermissionsWithGrantOption sets the PermissionsWithGrantOption field's value. +func (s *GrantPermissionsInput) SetPermissionsWithGrantOption(v []*string) *GrantPermissionsInput { + s.PermissionsWithGrantOption = v + return s +} + +// SetPrincipal sets the Principal field's value. +func (s *GrantPermissionsInput) SetPrincipal(v *DataLakePrincipal) *GrantPermissionsInput { + s.Principal = v return s } // SetResource sets the Resource field's value. -func (s *AddLFTagsToResourceInput) SetResource(v *Resource) *AddLFTagsToResourceInput { +func (s *GrantPermissionsInput) SetResource(v *Resource) *GrantPermissionsInput { s.Resource = v return s } -type AddLFTagsToResourceOutput struct { +type GrantPermissionsOutput struct { _ struct{} `type:"structure"` - - // A list of failures to tag the resource. - Failures []*LFTagError `type:"list"` } // String returns the string representation. @@ -2472,7 +8577,7 @@ type AddLFTagsToResourceOutput 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 AddLFTagsToResourceOutput) String() string { +func (s GrantPermissionsOutput) String() string { return awsutil.Prettify(s) } @@ -2481,18 +8586,12 @@ func (s AddLFTagsToResourceOutput) 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 AddLFTagsToResourceOutput) GoString() string { +func (s GrantPermissionsOutput) GoString() string { return s.String() } -// SetFailures sets the Failures field's value. -func (s *AddLFTagsToResourceOutput) SetFailures(v []*LFTagError) *AddLFTagsToResourceOutput { - s.Failures = v - return s -} - -// A resource to be created or added already exists. -type AlreadyExistsException struct { +// An internal service error occurred. +type InternalServiceException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -2505,7 +8604,7 @@ type AlreadyExistsException 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 AlreadyExistsException) String() string { +func (s InternalServiceException) String() string { return awsutil.Prettify(s) } @@ -2514,23 +8613,23 @@ func (s AlreadyExistsException) 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 AlreadyExistsException) GoString() string { +func (s InternalServiceException) GoString() string { return s.String() } -func newErrorAlreadyExistsException(v protocol.ResponseMetadata) error { - return &AlreadyExistsException{ +func newErrorInternalServiceException(v protocol.ResponseMetadata) error { + return &InternalServiceException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *AlreadyExistsException) Code() string { - return "AlreadyExistsException" +func (s *InternalServiceException) Code() string { + return "InternalServiceException" } // Message returns the exception's message. -func (s *AlreadyExistsException) Message() string { +func (s *InternalServiceException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -2538,38 +8637,31 @@ func (s *AlreadyExistsException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AlreadyExistsException) OrigErr() error { +func (s *InternalServiceException) OrigErr() error { return nil } -func (s *AlreadyExistsException) Error() string { +func (s *InternalServiceException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. -func (s *AlreadyExistsException) StatusCode() int { +func (s *InternalServiceException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *AlreadyExistsException) RequestID() string { +func (s *InternalServiceException) RequestID() string { return s.RespMetadata.RequestID } -type BatchGrantPermissionsInput struct { - _ struct{} `type:"structure"` - - // The identifier for the Data Catalog. By default, the account ID. The Data - // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. - CatalogId *string `min:"1" type:"string"` +// The input provided was not valid. +type InvalidInputException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // A list of up to 20 entries for resource permissions to be granted by batch - // operation to the principal. - // - // Entries is a required field - Entries []*BatchPermissionsRequestEntry `type:"list" required:"true"` + // A message describing the problem. + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation. @@ -2577,7 +8669,7 @@ type BatchGrantPermissionsInput 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 BatchGrantPermissionsInput) String() string { +func (s InvalidInputException) String() string { return awsutil.Prettify(s) } @@ -2586,53 +8678,63 @@ func (s BatchGrantPermissionsInput) 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 BatchGrantPermissionsInput) GoString() string { +func (s InvalidInputException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGrantPermissionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGrantPermissionsInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.Entries == nil { - invalidParams.Add(request.NewErrParamRequired("Entries")) - } - if s.Entries != nil { - for i, v := range s.Entries { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) - } - } +func newErrorInvalidInputException(v protocol.ResponseMetadata) error { + return &InvalidInputException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// Code returns the exception type name. +func (s *InvalidInputException) Code() string { + return "InvalidInputException" +} + +// Message returns the exception's message. +func (s *InvalidInputException) Message() string { + if s.Message_ != nil { + return *s.Message_ } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InvalidInputException) OrigErr() error { return nil } -// SetCatalogId sets the CatalogId field's value. -func (s *BatchGrantPermissionsInput) SetCatalogId(v string) *BatchGrantPermissionsInput { - s.CatalogId = &v - return s +func (s *InvalidInputException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetEntries sets the Entries field's value. -func (s *BatchGrantPermissionsInput) SetEntries(v []*BatchPermissionsRequestEntry) *BatchGrantPermissionsInput { - s.Entries = v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *InvalidInputException) StatusCode() int { + return s.RespMetadata.StatusCode } -type BatchGrantPermissionsOutput struct { +// RequestID returns the service's response RequestID for request. +func (s *InvalidInputException) RequestID() string { + return s.RespMetadata.RequestID +} + +// A structure that allows an admin to grant user permissions on certain conditions. +// For example, granting a role access to all columns that do not have the LF-tag +// 'PII' in tables that have the LF-tag 'Prod'. +type LFTag struct { _ struct{} `type:"structure"` - // A list of failures to grant permissions to the resources. - Failures []*BatchPermissionsFailureEntry `type:"list"` + // The key-name for the LF-tag. + // + // TagKey is a required field + TagKey *string `min:"1" type:"string" required:"true"` + + // A list of possible values an attribute can take. + // + // TagValues is a required field + TagValues []*string `min:"1" type:"list" required:"true"` } // String returns the string representation. @@ -2640,7 +8742,7 @@ type BatchGrantPermissionsOutput 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 BatchGrantPermissionsOutput) String() string { +func (s LFTag) String() string { return awsutil.Prettify(s) } @@ -2649,25 +8751,54 @@ func (s BatchGrantPermissionsOutput) 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 BatchGrantPermissionsOutput) GoString() string { +func (s LFTag) GoString() string { return s.String() } -// SetFailures sets the Failures field's value. -func (s *BatchGrantPermissionsOutput) SetFailures(v []*BatchPermissionsFailureEntry) *BatchGrantPermissionsOutput { - s.Failures = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *LFTag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LFTag"} + if s.TagKey == nil { + invalidParams.Add(request.NewErrParamRequired("TagKey")) + } + if s.TagKey != nil && len(*s.TagKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) + } + if s.TagValues == nil { + invalidParams.Add(request.NewErrParamRequired("TagValues")) + } + if s.TagValues != nil && len(s.TagValues) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagValues", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTagKey sets the TagKey field's value. +func (s *LFTag) SetTagKey(v string) *LFTag { + s.TagKey = &v return s } -// A list of failures when performing a batch grant or batch revoke operation. -type BatchPermissionsFailureEntry struct { +// SetTagValues sets the TagValues field's value. +func (s *LFTag) SetTagValues(v []*string) *LFTag { + s.TagValues = v + return s +} + +// A structure containing an error related to a TagResource or UnTagResource +// operation. +type LFTagError struct { _ struct{} `type:"structure"` - // An error message that applies to the failure of the entry. + // An error that occurred with the attachment or detachment of the LF-tag. Error *ErrorDetail `type:"structure"` - // An identifier for an entry of the batch request. - RequestEntry *BatchPermissionsRequestEntry `type:"structure"` + // The key-name of the LF-tag. + LFTag *LFTagPair `type:"structure"` } // String returns the string representation. @@ -2675,7 +8806,7 @@ type BatchPermissionsFailureEntry 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 BatchPermissionsFailureEntry) String() string { +func (s LFTagError) String() string { return awsutil.Prettify(s) } @@ -2684,42 +8815,41 @@ func (s BatchPermissionsFailureEntry) 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 BatchPermissionsFailureEntry) GoString() string { +func (s LFTagError) GoString() string { return s.String() } // SetError sets the Error field's value. -func (s *BatchPermissionsFailureEntry) SetError(v *ErrorDetail) *BatchPermissionsFailureEntry { +func (s *LFTagError) SetError(v *ErrorDetail) *LFTagError { s.Error = v return s } -// SetRequestEntry sets the RequestEntry field's value. -func (s *BatchPermissionsFailureEntry) SetRequestEntry(v *BatchPermissionsRequestEntry) *BatchPermissionsFailureEntry { - s.RequestEntry = v +// SetLFTag sets the LFTag field's value. +func (s *LFTagError) SetLFTag(v *LFTagPair) *LFTagError { + s.LFTag = v return s } -// A permission to a resource granted by batch operation to the principal. -type BatchPermissionsRequestEntry struct { +// A structure containing an LF-tag key and values for a resource. +type LFTagKeyResource struct { _ struct{} `type:"structure"` - // A unique identifier for the batch permissions request entry. - // - // Id is a required field - Id *string `min:"1" type:"string" required:"true"` - - // The permissions to be granted. - Permissions []*string `type:"list"` - - // Indicates if the option to pass permissions is granted. - PermissionsWithGrantOption []*string `type:"list"` + // The identifier for the Data Catalog. By default, the account ID. The Data + // Catalog is the persistent metadata store. It contains database definitions, + // table definitions, and other control information to manage your Lake Formation + // environment. + CatalogId *string `min:"1" type:"string"` - // The principal to be granted a permission. - Principal *DataLakePrincipal `type:"structure"` + // The key-name for the LF-tag. + // + // TagKey is a required field + TagKey *string `min:"1" type:"string" required:"true"` - // The resource to which the principal is to be granted a permission. - Resource *Resource `type:"structure"` + // A list of possible values an attribute can take. + // + // TagValues is a required field + TagValues []*string `min:"1" type:"list" required:"true"` } // String returns the string representation. @@ -2727,7 +8857,7 @@ type BatchPermissionsRequestEntry 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 BatchPermissionsRequestEntry) String() string { +func (s LFTagKeyResource) String() string { return awsutil.Prettify(s) } @@ -2736,28 +8866,27 @@ func (s BatchPermissionsRequestEntry) 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 BatchPermissionsRequestEntry) GoString() string { +func (s LFTagKeyResource) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchPermissionsRequestEntry) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchPermissionsRequestEntry"} - if s.Id == nil { - invalidParams.Add(request.NewErrParamRequired("Id")) +func (s *LFTagKeyResource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LFTagKeyResource"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.Id != nil && len(*s.Id) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Id", 1)) + if s.TagKey == nil { + invalidParams.Add(request.NewErrParamRequired("TagKey")) } - if s.Principal != nil { - if err := s.Principal.Validate(); err != nil { - invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) - } + if s.TagKey != nil && len(*s.TagKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) } - if s.Resource != nil { - if err := s.Resource.Validate(); err != nil { - invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) - } + if s.TagValues == nil { + invalidParams.Add(request.NewErrParamRequired("TagValues")) + } + if s.TagValues != nil && len(s.TagValues) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagValues", 1)) } if invalidParams.Len() > 0 { @@ -2766,50 +8895,43 @@ func (s *BatchPermissionsRequestEntry) Validate() error { return nil } -// SetId sets the Id field's value. -func (s *BatchPermissionsRequestEntry) SetId(v string) *BatchPermissionsRequestEntry { - s.Id = &v - return s -} - -// SetPermissions sets the Permissions field's value. -func (s *BatchPermissionsRequestEntry) SetPermissions(v []*string) *BatchPermissionsRequestEntry { - s.Permissions = v - return s -} - -// SetPermissionsWithGrantOption sets the PermissionsWithGrantOption field's value. -func (s *BatchPermissionsRequestEntry) SetPermissionsWithGrantOption(v []*string) *BatchPermissionsRequestEntry { - s.PermissionsWithGrantOption = v +// SetCatalogId sets the CatalogId field's value. +func (s *LFTagKeyResource) SetCatalogId(v string) *LFTagKeyResource { + s.CatalogId = &v return s -} - -// SetPrincipal sets the Principal field's value. -func (s *BatchPermissionsRequestEntry) SetPrincipal(v *DataLakePrincipal) *BatchPermissionsRequestEntry { - s.Principal = v +} + +// SetTagKey sets the TagKey field's value. +func (s *LFTagKeyResource) SetTagKey(v string) *LFTagKeyResource { + s.TagKey = &v return s } -// SetResource sets the Resource field's value. -func (s *BatchPermissionsRequestEntry) SetResource(v *Resource) *BatchPermissionsRequestEntry { - s.Resource = v +// SetTagValues sets the TagValues field's value. +func (s *LFTagKeyResource) SetTagValues(v []*string) *LFTagKeyResource { + s.TagValues = v return s } -type BatchRevokePermissionsInput struct { +// A structure containing an LF-tag key-value pair. +type LFTagPair struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, the account ID. The Data // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. + // table definitions, and other control information to manage your Lake Formation + // environment. CatalogId *string `min:"1" type:"string"` - // A list of up to 20 entries for resource permissions to be revoked by batch - // operation to the principal. + // The key-name for the LF-tag. // - // Entries is a required field - Entries []*BatchPermissionsRequestEntry `type:"list" required:"true"` + // TagKey is a required field + TagKey *string `min:"1" type:"string" required:"true"` + + // A list of possible values an attribute can take. + // + // TagValues is a required field + TagValues []*string `min:"1" type:"list" required:"true"` } // String returns the string representation. @@ -2817,7 +8939,7 @@ type BatchRevokePermissionsInput 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 BatchRevokePermissionsInput) String() string { +func (s LFTagPair) String() string { return awsutil.Prettify(s) } @@ -2826,28 +8948,27 @@ func (s BatchRevokePermissionsInput) 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 BatchRevokePermissionsInput) GoString() string { +func (s LFTagPair) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchRevokePermissionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchRevokePermissionsInput"} +func (s *LFTagPair) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LFTagPair"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.Entries == nil { - invalidParams.Add(request.NewErrParamRequired("Entries")) + if s.TagKey == nil { + invalidParams.Add(request.NewErrParamRequired("TagKey")) } - if s.Entries != nil { - for i, v := range s.Entries { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Entries", i), err.(request.ErrInvalidParams)) - } - } + if s.TagKey != nil && len(*s.TagKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) + } + if s.TagValues == nil { + invalidParams.Add(request.NewErrParamRequired("TagValues")) + } + if s.TagValues != nil && len(s.TagValues) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagValues", 1)) } if invalidParams.Len() > 0 { @@ -2857,22 +8978,43 @@ func (s *BatchRevokePermissionsInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *BatchRevokePermissionsInput) SetCatalogId(v string) *BatchRevokePermissionsInput { +func (s *LFTagPair) SetCatalogId(v string) *LFTagPair { s.CatalogId = &v return s } -// SetEntries sets the Entries field's value. -func (s *BatchRevokePermissionsInput) SetEntries(v []*BatchPermissionsRequestEntry) *BatchRevokePermissionsInput { - s.Entries = v +// SetTagKey sets the TagKey field's value. +func (s *LFTagPair) SetTagKey(v string) *LFTagPair { + s.TagKey = &v return s } -type BatchRevokePermissionsOutput struct { +// SetTagValues sets the TagValues field's value. +func (s *LFTagPair) SetTagValues(v []*string) *LFTagPair { + s.TagValues = v + return s +} + +// A structure containing a list of LF-tag conditions that apply to a resource's +// LF-tag policy. +type LFTagPolicyResource struct { _ struct{} `type:"structure"` - // A list of failures to revoke permissions to the resources. - Failures []*BatchPermissionsFailureEntry `type:"list"` + // The identifier for the Data Catalog. By default, the account ID. The Data + // Catalog is the persistent metadata store. It contains database definitions, + // table definitions, and other control information to manage your Lake Formation + // environment. + CatalogId *string `min:"1" type:"string"` + + // A list of LF-tag conditions that apply to the resource's LF-tag policy. + // + // Expression is a required field + Expression []*LFTag `min:"1" type:"list" required:"true"` + + // The resource type for which the LF-tag policy applies. + // + // ResourceType is a required field + ResourceType *string `type:"string" required:"true" enum:"ResourceType"` } // String returns the string representation. @@ -2880,7 +9022,7 @@ type BatchRevokePermissionsOutput 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 BatchRevokePermissionsOutput) String() string { +func (s LFTagPolicyResource) String() string { return awsutil.Prettify(s) } @@ -2889,49 +9031,71 @@ func (s BatchRevokePermissionsOutput) 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 BatchRevokePermissionsOutput) GoString() string { +func (s LFTagPolicyResource) GoString() string { return s.String() } -// SetFailures sets the Failures field's value. -func (s *BatchRevokePermissionsOutput) SetFailures(v []*BatchPermissionsFailureEntry) *BatchRevokePermissionsOutput { - s.Failures = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *LFTagPolicyResource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LFTagPolicyResource"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.Expression == nil { + invalidParams.Add(request.NewErrParamRequired("Expression")) + } + if s.Expression != nil && len(s.Expression) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Expression", 1)) + } + if s.ResourceType == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceType")) + } + if s.Expression != nil { + for i, v := range s.Expression { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Expression", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// A structure for the catalog object. -type CatalogResource struct { - _ struct{} `type:"structure"` +// SetCatalogId sets the CatalogId field's value. +func (s *LFTagPolicyResource) SetCatalogId(v string) *LFTagPolicyResource { + s.CatalogId = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CatalogResource) String() string { - return awsutil.Prettify(s) +// SetExpression sets the Expression field's value. +func (s *LFTagPolicyResource) SetExpression(v []*LFTag) *LFTagPolicyResource { + s.Expression = v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s CatalogResource) GoString() string { - return s.String() +// SetResourceType sets the ResourceType field's value. +func (s *LFTagPolicyResource) SetResourceType(v string) *LFTagPolicyResource { + s.ResourceType = &v + return s } -// A structure containing the name of a column resource and the tags attached -// to it. -type ColumnLFTag struct { +type ListDataCellsFilterInput struct { _ struct{} `type:"structure"` - // The tags attached to a column resource. - LFTags []*LFTagPair `min:"1" type:"list"` + // The maximum size of the response. + MaxResults *int64 `min:"1" type:"integer"` - // The name of a column resource. - Name *string `min:"1" type:"string"` + // A continuation token, if this is a continuation call. + NextToken *string `type:"string"` + + // A table in the Glue Data Catalog. + Table *TableResource `type:"structure"` } // String returns the string representation. @@ -2939,7 +9103,7 @@ type ColumnLFTag 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 ColumnLFTag) String() string { +func (s ListDataCellsFilterInput) String() string { return awsutil.Prettify(s) } @@ -2948,62 +9112,54 @@ func (s ColumnLFTag) 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 ColumnLFTag) GoString() string { +func (s ListDataCellsFilterInput) GoString() string { return s.String() } -// SetLFTags sets the LFTags field's value. -func (s *ColumnLFTag) SetLFTags(v []*LFTagPair) *ColumnLFTag { - s.LFTags = v - return s -} - -// SetName sets the Name field's value. -func (s *ColumnLFTag) SetName(v string) *ColumnLFTag { - s.Name = &v - return s -} - -// A wildcard object, consisting of an optional list of excluded column names -// or indexes. -type ColumnWildcard struct { - _ struct{} `type:"structure"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDataCellsFilterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDataCellsFilterInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Table != nil { + if err := s.Table.Validate(); err != nil { + invalidParams.AddNested("Table", err.(request.ErrInvalidParams)) + } + } - // Excludes column names. Any column with this name will be excluded. - ExcludedColumnNames []*string `type:"list"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// 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 ColumnWildcard) String() string { - return awsutil.Prettify(s) +// SetMaxResults sets the MaxResults field's value. +func (s *ListDataCellsFilterInput) SetMaxResults(v int64) *ListDataCellsFilterInput { + s.MaxResults = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ColumnWildcard) GoString() string { - return s.String() +// SetNextToken sets the NextToken field's value. +func (s *ListDataCellsFilterInput) SetNextToken(v string) *ListDataCellsFilterInput { + s.NextToken = &v + return s } -// SetExcludedColumnNames sets the ExcludedColumnNames field's value. -func (s *ColumnWildcard) SetExcludedColumnNames(v []*string) *ColumnWildcard { - s.ExcludedColumnNames = v +// SetTable sets the Table field's value. +func (s *ListDataCellsFilterInput) SetTable(v *TableResource) *ListDataCellsFilterInput { + s.Table = v return s } -// Two processes are trying to modify a resource simultaneously. -type ConcurrentModificationException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +type ListDataCellsFilterOutput struct { + _ struct{} `type:"structure"` - // A message describing the problem. - Message_ *string `locationName:"Message" type:"string"` + // A list of DataCellFilter structures. + DataCellsFilters []*DataCellsFilter `type:"list"` + + // A continuation token, if not all requested data cell filters have been returned. + NextToken *string `type:"string"` } // String returns the string representation. @@ -3011,7 +9167,7 @@ type ConcurrentModificationException 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 ConcurrentModificationException) String() string { +func (s ListDataCellsFilterOutput) String() string { return awsutil.Prettify(s) } @@ -3020,66 +9176,43 @@ func (s ConcurrentModificationException) 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 ConcurrentModificationException) GoString() string { - return s.String() -} - -func newErrorConcurrentModificationException(v protocol.ResponseMetadata) error { - return &ConcurrentModificationException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *ConcurrentModificationException) Code() string { - return "ConcurrentModificationException" -} - -// Message returns the exception's message. -func (s *ConcurrentModificationException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ConcurrentModificationException) OrigErr() error { - return nil -} - -func (s *ConcurrentModificationException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +func (s ListDataCellsFilterOutput) GoString() string { + return s.String() } -// Status code returns the HTTP status code for the request's response error. -func (s *ConcurrentModificationException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetDataCellsFilters sets the DataCellsFilters field's value. +func (s *ListDataCellsFilterOutput) SetDataCellsFilters(v []*DataCellsFilter) *ListDataCellsFilterOutput { + s.DataCellsFilters = v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ConcurrentModificationException) RequestID() string { - return s.RespMetadata.RequestID +// SetNextToken sets the NextToken field's value. +func (s *ListDataCellsFilterOutput) SetNextToken(v string) *ListDataCellsFilterOutput { + s.NextToken = &v + return s } -type CreateLFTagInput struct { +type ListLFTagsInput struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, the account ID. The Data // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. + // table definitions, and other control information to manage your Lake Formation + // environment. CatalogId *string `min:"1" type:"string"` - // The key-name for the tag. - // - // TagKey is a required field - TagKey *string `min:"1" type:"string" required:"true"` + // The maximum number of results to return. + MaxResults *int64 `min:"1" type:"integer"` - // A list of possible values an attribute can take. - // - // TagValues is a required field - TagValues []*string `min:"1" type:"list" required:"true"` + // A continuation token, if this is not the first call to retrieve this list. + NextToken *string `type:"string"` + + // If resource share type is ALL, returns both in-account LF-tags and shared + // LF-tags that the requester has permission to view. If resource share type + // is FOREIGN, returns all share LF-tags that the requester can view. If no + // resource share type is passed, lists LF-tags in the given catalog ID that + // the requester has permission to view. + ResourceShareType *string `type:"string" enum:"ResourceShareType"` } // String returns the string representation. @@ -3087,7 +9220,7 @@ type CreateLFTagInput 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 CreateLFTagInput) String() string { +func (s ListLFTagsInput) String() string { return awsutil.Prettify(s) } @@ -3096,27 +9229,18 @@ func (s CreateLFTagInput) 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 CreateLFTagInput) GoString() string { +func (s ListLFTagsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateLFTagInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateLFTagInput"} +func (s *ListLFTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListLFTagsInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.TagKey == nil { - invalidParams.Add(request.NewErrParamRequired("TagKey")) - } - if s.TagKey != nil && len(*s.TagKey) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) - } - if s.TagValues == nil { - invalidParams.Add(request.NewErrParamRequired("TagValues")) - } - if s.TagValues != nil && len(s.TagValues) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagValues", 1)) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -3126,52 +9250,37 @@ func (s *CreateLFTagInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *CreateLFTagInput) SetCatalogId(v string) *CreateLFTagInput { +func (s *ListLFTagsInput) SetCatalogId(v string) *ListLFTagsInput { s.CatalogId = &v return s } -// SetTagKey sets the TagKey field's value. -func (s *CreateLFTagInput) SetTagKey(v string) *CreateLFTagInput { - s.TagKey = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListLFTagsInput) SetMaxResults(v int64) *ListLFTagsInput { + s.MaxResults = &v return s } -// SetTagValues sets the TagValues field's value. -func (s *CreateLFTagInput) SetTagValues(v []*string) *CreateLFTagInput { - s.TagValues = v +// SetNextToken sets the NextToken field's value. +func (s *ListLFTagsInput) SetNextToken(v string) *ListLFTagsInput { + s.NextToken = &v return s } -type CreateLFTagOutput 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 CreateLFTagOutput) 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 CreateLFTagOutput) GoString() string { - return s.String() +// SetResourceShareType sets the ResourceShareType field's value. +func (s *ListLFTagsInput) SetResourceShareType(v string) *ListLFTagsInput { + s.ResourceShareType = &v + return s } -// The AWS Lake Formation principal. Supported principals are IAM users or IAM -// roles. -type DataLakePrincipal struct { +type ListLFTagsOutput struct { _ struct{} `type:"structure"` - // An identifier for the AWS Lake Formation principal. - DataLakePrincipalIdentifier *string `min:"1" type:"string"` + // A list of LF-tags that the requested has permission to view. + LFTags []*LFTagPair `min:"1" type:"list"` + + // A continuation token, present if the current list segment is not the last. + NextToken *string `type:"string"` } // String returns the string representation. @@ -3179,7 +9288,7 @@ type DataLakePrincipal 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 DataLakePrincipal) String() string { +func (s ListLFTagsOutput) String() string { return awsutil.Prettify(s) } @@ -3188,54 +9297,52 @@ func (s DataLakePrincipal) 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 DataLakePrincipal) GoString() string { +func (s ListLFTagsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DataLakePrincipal) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DataLakePrincipal"} - if s.DataLakePrincipalIdentifier != nil && len(*s.DataLakePrincipalIdentifier) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DataLakePrincipalIdentifier", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetLFTags sets the LFTags field's value. +func (s *ListLFTagsOutput) SetLFTags(v []*LFTagPair) *ListLFTagsOutput { + s.LFTags = v + return s } -// SetDataLakePrincipalIdentifier sets the DataLakePrincipalIdentifier field's value. -func (s *DataLakePrincipal) SetDataLakePrincipalIdentifier(v string) *DataLakePrincipal { - s.DataLakePrincipalIdentifier = &v +// SetNextToken sets the NextToken field's value. +func (s *ListLFTagsOutput) SetNextToken(v string) *ListLFTagsOutput { + s.NextToken = &v return s } -// A structure representing a list of AWS Lake Formation principals designated -// as data lake administrators and lists of principal permission entries for -// default create database and default create table permissions. -type DataLakeSettings struct { +type ListPermissionsInput struct { _ struct{} `type:"structure"` - // A structure representing a list of up to three principal permissions entries - // for default create database permissions. - CreateDatabaseDefaultPermissions []*PrincipalPermissions `type:"list"` + // The identifier for the Data Catalog. By default, the account ID. The Data + // Catalog is the persistent metadata store. It contains database definitions, + // table definitions, and other control information to manage your Lake Formation + // environment. + CatalogId *string `min:"1" type:"string"` - // A structure representing a list of up to three principal permissions entries - // for default create table permissions. - CreateTableDefaultPermissions []*PrincipalPermissions `type:"list"` + // Indicates that related permissions should be included in the results. + IncludeRelated *string `min:"1" type:"string"` - // A list of AWS Lake Formation principals. Supported principals are IAM users - // or IAM roles. - DataLakeAdmins []*DataLakePrincipal `type:"list"` + // The maximum number of results to return. + MaxResults *int64 `min:"1" type:"integer"` - // A list of the resource-owning account IDs that the caller's account can use - // to share their user access details (user ARNs). The user ARNs can be logged - // in the resource owner's AWS CloudTrail log. + // A continuation token, if this is not the first call to retrieve this list. + NextToken *string `type:"string"` + + // Specifies a principal to filter the permissions returned. + Principal *DataLakePrincipal `type:"structure"` + + // A resource where you will get a list of the principal permissions. // - // You may want to specify this property when you are in a high-trust boundary, - // such as the same team or company. - TrustedResourceOwners []*string `type:"list"` + // This operation does not support getting privileges on a table with columns. + // Instead, call this operation on the table, and the operation returns the + // table and the table w columns. + Resource *Resource `type:"structure"` + + // Specifies a resource type to filter the permissions returned. + ResourceType *string `type:"string" enum:"DataLakeResourceType"` } // String returns the string representation. @@ -3243,7 +9350,7 @@ type DataLakeSettings 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 DataLakeSettings) String() string { +func (s ListPermissionsInput) String() string { return awsutil.Prettify(s) } @@ -3252,41 +9359,30 @@ func (s DataLakeSettings) 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 DataLakeSettings) GoString() string { +func (s ListPermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DataLakeSettings) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DataLakeSettings"} - if s.CreateDatabaseDefaultPermissions != nil { - for i, v := range s.CreateDatabaseDefaultPermissions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CreateDatabaseDefaultPermissions", i), err.(request.ErrInvalidParams)) - } - } +func (s *ListPermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPermissionsInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.CreateTableDefaultPermissions != nil { - for i, v := range s.CreateTableDefaultPermissions { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "CreateTableDefaultPermissions", i), err.(request.ErrInvalidParams)) - } + if s.IncludeRelated != nil && len(*s.IncludeRelated) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IncludeRelated", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.Principal != nil { + if err := s.Principal.Validate(); err != nil { + invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) } } - if s.DataLakeAdmins != nil { - for i, v := range s.DataLakeAdmins { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataLakeAdmins", i), err.(request.ErrInvalidParams)) - } + if s.Resource != nil { + if err := s.Resource.Validate(); err != nil { + invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) } } @@ -3296,103 +9392,57 @@ func (s *DataLakeSettings) Validate() error { return nil } -// SetCreateDatabaseDefaultPermissions sets the CreateDatabaseDefaultPermissions field's value. -func (s *DataLakeSettings) SetCreateDatabaseDefaultPermissions(v []*PrincipalPermissions) *DataLakeSettings { - s.CreateDatabaseDefaultPermissions = v - return s -} - -// SetCreateTableDefaultPermissions sets the CreateTableDefaultPermissions field's value. -func (s *DataLakeSettings) SetCreateTableDefaultPermissions(v []*PrincipalPermissions) *DataLakeSettings { - s.CreateTableDefaultPermissions = v +// SetCatalogId sets the CatalogId field's value. +func (s *ListPermissionsInput) SetCatalogId(v string) *ListPermissionsInput { + s.CatalogId = &v return s } -// SetDataLakeAdmins sets the DataLakeAdmins field's value. -func (s *DataLakeSettings) SetDataLakeAdmins(v []*DataLakePrincipal) *DataLakeSettings { - s.DataLakeAdmins = v +// SetIncludeRelated sets the IncludeRelated field's value. +func (s *ListPermissionsInput) SetIncludeRelated(v string) *ListPermissionsInput { + s.IncludeRelated = &v return s } -// SetTrustedResourceOwners sets the TrustedResourceOwners field's value. -func (s *DataLakeSettings) SetTrustedResourceOwners(v []*string) *DataLakeSettings { - s.TrustedResourceOwners = v +// SetMaxResults sets the MaxResults field's value. +func (s *ListPermissionsInput) SetMaxResults(v int64) *ListPermissionsInput { + s.MaxResults = &v return s } -// A structure for a data location object where permissions are granted or revoked. -type DataLocationResource struct { - _ struct{} `type:"structure"` - - // The identifier for the Data Catalog where the location is registered with - // AWS Lake Formation. By default, it is the account ID of the caller. - CatalogId *string `min:"1" type:"string"` - - // The Amazon Resource Name (ARN) that uniquely identifies the data location - // resource. - // - // ResourceArn is a required field - ResourceArn *string `type:"string" required:"true"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DataLocationResource) 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 DataLocationResource) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *DataLocationResource) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DataLocationResource"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) - } +// SetNextToken sets the NextToken field's value. +func (s *ListPermissionsInput) SetNextToken(v string) *ListPermissionsInput { + s.NextToken = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetPrincipal sets the Principal field's value. +func (s *ListPermissionsInput) SetPrincipal(v *DataLakePrincipal) *ListPermissionsInput { + s.Principal = v + return s } -// SetCatalogId sets the CatalogId field's value. -func (s *DataLocationResource) SetCatalogId(v string) *DataLocationResource { - s.CatalogId = &v +// SetResource sets the Resource field's value. +func (s *ListPermissionsInput) SetResource(v *Resource) *ListPermissionsInput { + s.Resource = v return s } -// SetResourceArn sets the ResourceArn field's value. -func (s *DataLocationResource) SetResourceArn(v string) *DataLocationResource { - s.ResourceArn = &v +// SetResourceType sets the ResourceType field's value. +func (s *ListPermissionsInput) SetResourceType(v string) *ListPermissionsInput { + s.ResourceType = &v return s } -// A structure for the database object. -type DatabaseResource struct { +type ListPermissionsOutput struct { _ struct{} `type:"structure"` - // The identifier for the Data Catalog. By default, it is the account ID of - // the caller. - CatalogId *string `min:"1" type:"string"` + // A continuation token, if this is not the first call to retrieve this list. + NextToken *string `type:"string"` - // The name of the database resource. Unique to the Data Catalog. - // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // A list of principals and their permissions on the resource for the specified + // principal and resource types. + PrincipalResourcePermissions []*PrincipalResourcePermissions `type:"list"` } // String returns the string representation. @@ -3400,7 +9450,7 @@ type DatabaseResource 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 DatabaseResource) String() string { +func (s ListPermissionsOutput) String() string { return awsutil.Prettify(s) } @@ -3409,54 +9459,34 @@ func (s DatabaseResource) 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 DatabaseResource) GoString() string { +func (s ListPermissionsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DatabaseResource) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DatabaseResource"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetCatalogId sets the CatalogId field's value. -func (s *DatabaseResource) SetCatalogId(v string) *DatabaseResource { - s.CatalogId = &v +// SetNextToken sets the NextToken field's value. +func (s *ListPermissionsOutput) SetNextToken(v string) *ListPermissionsOutput { + s.NextToken = &v return s } -// SetName sets the Name field's value. -func (s *DatabaseResource) SetName(v string) *DatabaseResource { - s.Name = &v +// SetPrincipalResourcePermissions sets the PrincipalResourcePermissions field's value. +func (s *ListPermissionsOutput) SetPrincipalResourcePermissions(v []*PrincipalResourcePermissions) *ListPermissionsOutput { + s.PrincipalResourcePermissions = v return s } -type DeleteLFTagInput struct { +type ListResourcesInput struct { _ struct{} `type:"structure"` - // The identifier for the Data Catalog. By default, the account ID. The Data - // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. - CatalogId *string `min:"1" type:"string"` + // Any applicable row-level and/or column-level filtering conditions for the + // resources. + FilterConditionList []*FilterCondition `min:"1" type:"list"` - // The key-name for the tag to delete. - // - // TagKey is a required field - TagKey *string `min:"1" type:"string" required:"true"` + // The maximum number of resource results. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is not the first call to retrieve these resources. + NextToken *string `type:"string"` } // String returns the string representation. @@ -3464,7 +9494,7 @@ type DeleteLFTagInput 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 DeleteLFTagInput) String() string { +func (s ListResourcesInput) String() string { return awsutil.Prettify(s) } @@ -3473,21 +9503,18 @@ func (s DeleteLFTagInput) 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 DeleteLFTagInput) GoString() string { +func (s ListResourcesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteLFTagInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteLFTagInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.TagKey == nil { - invalidParams.Add(request.NewErrParamRequired("TagKey")) +func (s *ListResourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListResourcesInput"} + if s.FilterConditionList != nil && len(s.FilterConditionList) < 1 { + invalidParams.Add(request.NewErrParamMinLen("FilterConditionList", 1)) } - if s.TagKey != nil && len(*s.TagKey) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -3496,20 +9523,32 @@ func (s *DeleteLFTagInput) Validate() error { return nil } -// SetCatalogId sets the CatalogId field's value. -func (s *DeleteLFTagInput) SetCatalogId(v string) *DeleteLFTagInput { - s.CatalogId = &v +// SetFilterConditionList sets the FilterConditionList field's value. +func (s *ListResourcesInput) SetFilterConditionList(v []*FilterCondition) *ListResourcesInput { + s.FilterConditionList = v return s } -// SetTagKey sets the TagKey field's value. -func (s *DeleteLFTagInput) SetTagKey(v string) *DeleteLFTagInput { - s.TagKey = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListResourcesInput) SetMaxResults(v int64) *ListResourcesInput { + s.MaxResults = &v return s } -type DeleteLFTagOutput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListResourcesInput) SetNextToken(v string) *ListResourcesInput { + s.NextToken = &v + return s +} + +type ListResourcesOutput struct { _ struct{} `type:"structure"` + + // A continuation token, if this is not the first call to retrieve these resources. + NextToken *string `type:"string"` + + // A summary of the data lake resources. + ResourceInfoList []*ResourceInfo `type:"list"` } // String returns the string representation. @@ -3517,7 +9556,7 @@ type DeleteLFTagOutput 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 DeleteLFTagOutput) String() string { +func (s ListResourcesOutput) String() string { return awsutil.Prettify(s) } @@ -3526,17 +9565,46 @@ func (s DeleteLFTagOutput) 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 DeleteLFTagOutput) GoString() string { +func (s ListResourcesOutput) GoString() string { return s.String() } -type DeregisterResourceInput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListResourcesOutput) SetNextToken(v string) *ListResourcesOutput { + s.NextToken = &v + return s +} + +// SetResourceInfoList sets the ResourceInfoList field's value. +func (s *ListResourcesOutput) SetResourceInfoList(v []*ResourceInfo) *ListResourcesOutput { + s.ResourceInfoList = v + return s +} + +type ListTableStorageOptimizersInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the resource that you want to deregister. + // The Catalog ID of the table. + CatalogId *string `min:"1" type:"string"` + + // Name of the database where the table is present. // - // ResourceArn is a required field - ResourceArn *string `type:"string" required:"true"` + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` + + // The number of storage optimizers to return on each call. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is a continuation call. + NextToken *string `type:"string"` + + // The specific type of storage optimizers to list. The supported value is compaction. + StorageOptimizerType *string `type:"string" enum:"OptimizerType"` + + // Name of the table. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -3544,7 +9612,7 @@ type DeregisterResourceInput 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 DeregisterResourceInput) String() string { +func (s ListTableStorageOptimizersInput) String() string { return awsutil.Prettify(s) } @@ -3553,15 +9621,30 @@ func (s DeregisterResourceInput) 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 DeregisterResourceInput) GoString() string { +func (s ListTableStorageOptimizersInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeregisterResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeregisterResourceInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) +func (s *ListTableStorageOptimizersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTableStorageOptimizersInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -3570,41 +9653,51 @@ func (s *DeregisterResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *DeregisterResourceInput) SetResourceArn(v string) *DeregisterResourceInput { - s.ResourceArn = &v +// SetCatalogId sets the CatalogId field's value. +func (s *ListTableStorageOptimizersInput) SetCatalogId(v string) *ListTableStorageOptimizersInput { + s.CatalogId = &v return s } -type DeregisterResourceOutput struct { - _ struct{} `type:"structure"` +// SetDatabaseName sets the DatabaseName field's value. +func (s *ListTableStorageOptimizersInput) SetDatabaseName(v string) *ListTableStorageOptimizersInput { + s.DatabaseName = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeregisterResourceOutput) String() string { - return awsutil.Prettify(s) +// SetMaxResults sets the MaxResults field's value. +func (s *ListTableStorageOptimizersInput) SetMaxResults(v int64) *ListTableStorageOptimizersInput { + s.MaxResults = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s DeregisterResourceOutput) GoString() string { - return s.String() +// SetNextToken sets the NextToken field's value. +func (s *ListTableStorageOptimizersInput) SetNextToken(v string) *ListTableStorageOptimizersInput { + s.NextToken = &v + return s } -type DescribeResourceInput struct { +// SetStorageOptimizerType sets the StorageOptimizerType field's value. +func (s *ListTableStorageOptimizersInput) SetStorageOptimizerType(v string) *ListTableStorageOptimizersInput { + s.StorageOptimizerType = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *ListTableStorageOptimizersInput) SetTableName(v string) *ListTableStorageOptimizersInput { + s.TableName = &v + return s +} + +type ListTableStorageOptimizersOutput struct { _ struct{} `type:"structure"` - // The resource ARN. - // - // ResourceArn is a required field - ResourceArn *string `type:"string" required:"true"` + // A continuation token for paginating the returned list of tokens, returned + // if the current segment of the list is not the last. + NextToken *string `type:"string"` + + // A list of the storage optimizers associated with a table. + StorageOptimizerList []*StorageOptimizer `type:"list"` } // String returns the string representation. @@ -3612,7 +9705,7 @@ type DescribeResourceInput 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 DescribeResourceInput) String() string { +func (s ListTableStorageOptimizersOutput) String() string { return awsutil.Prettify(s) } @@ -3621,34 +9714,38 @@ func (s DescribeResourceInput) 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 DescribeResourceInput) GoString() string { +func (s ListTableStorageOptimizersOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeResourceInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetNextToken sets the NextToken field's value. +func (s *ListTableStorageOptimizersOutput) SetNextToken(v string) *ListTableStorageOptimizersOutput { + s.NextToken = &v + return s } -// SetResourceArn sets the ResourceArn field's value. -func (s *DescribeResourceInput) SetResourceArn(v string) *DescribeResourceInput { - s.ResourceArn = &v +// SetStorageOptimizerList sets the StorageOptimizerList field's value. +func (s *ListTableStorageOptimizersOutput) SetStorageOptimizerList(v []*StorageOptimizer) *ListTableStorageOptimizersOutput { + s.StorageOptimizerList = v return s } -type DescribeResourceOutput struct { +type ListTransactionsInput struct { _ struct{} `type:"structure"` - // A structure containing information about an AWS Lake Formation resource. - ResourceInfo *ResourceInfo `type:"structure"` + // The catalog for which to list transactions. Defaults to the account ID of + // the caller. + CatalogId *string `min:"1" type:"string"` + + // The maximum number of transactions to return in a single call. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token if this is not the first call to retrieve transactions. + NextToken *string `type:"string"` + + // A filter indicating the status of transactions to return. Options are ALL + // | COMPLETED | COMMITTED | ABORTED | ACTIVE. The default is ALL. + StatusFilter *string `type:"string" enum:"TransactionStatusFilter"` } // String returns the string representation. @@ -3656,7 +9753,7 @@ type DescribeResourceOutput 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 DescribeResourceOutput) String() string { +func (s ListTransactionsInput) String() string { return awsutil.Prettify(s) } @@ -3665,27 +9762,59 @@ func (s DescribeResourceOutput) 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 DescribeResourceOutput) GoString() string { +func (s ListTransactionsInput) GoString() string { return s.String() } -// SetResourceInfo sets the ResourceInfo field's value. -func (s *DescribeResourceOutput) SetResourceInfo(v *ResourceInfo) *DescribeResourceOutput { - s.ResourceInfo = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTransactionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTransactionsInput"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *ListTransactionsInput) SetCatalogId(v string) *ListTransactionsInput { + s.CatalogId = &v return s } -// A structure containing the additional details to be returned in the AdditionalDetails -// attribute of PrincipalResourcePermissions. -// -// If a catalog resource is shared through AWS Resource Access Manager (AWS -// RAM), then there will exist a corresponding RAM resource share ARN. -type DetailsMap struct { +// SetMaxResults sets the MaxResults field's value. +func (s *ListTransactionsInput) SetMaxResults(v int64) *ListTransactionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTransactionsInput) SetNextToken(v string) *ListTransactionsInput { + s.NextToken = &v + return s +} + +// SetStatusFilter sets the StatusFilter field's value. +func (s *ListTransactionsInput) SetStatusFilter(v string) *ListTransactionsInput { + s.StatusFilter = &v + return s +} + +type ListTransactionsOutput struct { _ struct{} `type:"structure"` - // A resource share ARN for a catalog resource shared through AWS Resource Access - // Manager (AWS RAM). - ResourceShare []*string `type:"list"` + // A continuation token indicating whether additional data is available. + NextToken *string `type:"string"` + + // A list of transactions. The record for each transaction is a TransactionDescription + // object. + Transactions []*TransactionDescription `type:"list"` } // String returns the string representation. @@ -3693,7 +9822,7 @@ type DetailsMap 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 DetailsMap) String() string { +func (s ListTransactionsOutput) String() string { return awsutil.Prettify(s) } @@ -3702,18 +9831,24 @@ func (s DetailsMap) 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 DetailsMap) GoString() string { +func (s ListTransactionsOutput) GoString() string { return s.String() } -// SetResourceShare sets the ResourceShare field's value. -func (s *DetailsMap) SetResourceShare(v []*string) *DetailsMap { - s.ResourceShare = v +// SetNextToken sets the NextToken field's value. +func (s *ListTransactionsOutput) SetNextToken(v string) *ListTransactionsOutput { + s.NextToken = &v return s } -// A specified entity does not exist -type EntityNotFoundException struct { +// SetTransactions sets the Transactions field's value. +func (s *ListTransactionsOutput) SetTransactions(v []*TransactionDescription) *ListTransactionsOutput { + s.Transactions = v + return s +} + +// The operation timed out. +type OperationTimeoutException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -3726,7 +9861,7 @@ type EntityNotFoundException 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 EntityNotFoundException) String() string { +func (s OperationTimeoutException) String() string { return awsutil.Prettify(s) } @@ -3735,23 +9870,23 @@ func (s EntityNotFoundException) 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 EntityNotFoundException) GoString() string { +func (s OperationTimeoutException) GoString() string { return s.String() } -func newErrorEntityNotFoundException(v protocol.ResponseMetadata) error { - return &EntityNotFoundException{ +func newErrorOperationTimeoutException(v protocol.ResponseMetadata) error { + return &OperationTimeoutException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *EntityNotFoundException) Code() string { - return "EntityNotFoundException" +func (s *OperationTimeoutException) Code() string { + return "OperationTimeoutException" } // Message returns the exception's message. -func (s *EntityNotFoundException) Message() string { +func (s *OperationTimeoutException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -3759,33 +9894,33 @@ func (s *EntityNotFoundException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *EntityNotFoundException) OrigErr() error { +func (s *OperationTimeoutException) OrigErr() error { return nil } -func (s *EntityNotFoundException) Error() string { +func (s *OperationTimeoutException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. -func (s *EntityNotFoundException) StatusCode() int { +func (s *OperationTimeoutException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *EntityNotFoundException) RequestID() string { +func (s *OperationTimeoutException) RequestID() string { return s.RespMetadata.RequestID } -// Contains details about an error. -type ErrorDetail struct { +// A structure containing a list of partition values and table objects. +type PartitionObjects struct { _ struct{} `type:"structure"` - // The code associated with this error. - ErrorCode *string `min:"1" type:"string"` + // A list of table objects + Objects []*TableObject `type:"list"` - // A message describing the error. - ErrorMessage *string `type:"string"` + // A list of partition values. + PartitionValues []*string `min:"1" type:"list"` } // String returns the string representation. @@ -3793,7 +9928,7 @@ type ErrorDetail 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 ErrorDetail) String() string { +func (s PartitionObjects) String() string { return awsutil.Prettify(s) } @@ -3802,35 +9937,37 @@ func (s ErrorDetail) 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 ErrorDetail) GoString() string { +func (s PartitionObjects) GoString() string { return s.String() } -// SetErrorCode sets the ErrorCode field's value. -func (s *ErrorDetail) SetErrorCode(v string) *ErrorDetail { - s.ErrorCode = &v +// SetObjects sets the Objects field's value. +func (s *PartitionObjects) SetObjects(v []*TableObject) *PartitionObjects { + s.Objects = v return s } -// SetErrorMessage sets the ErrorMessage field's value. -func (s *ErrorDetail) SetErrorMessage(v string) *ErrorDetail { - s.ErrorMessage = &v +// SetPartitionValues sets the PartitionValues field's value. +func (s *PartitionObjects) SetPartitionValues(v []*string) *PartitionObjects { + s.PartitionValues = v return s } -// This structure describes the filtering of columns in a table based on a filter -// condition. -type FilterCondition struct { +// Statistics related to the processing of a query statement. +type PlanningStatistics struct { _ struct{} `type:"structure"` - // The comparison operator used in the filter condition. - ComparisonOperator *string `type:"string" enum:"ComparisonOperator"` + // An estimate of the data that was scanned in bytes. + EstimatedDataToScanBytes *int64 `type:"long"` - // The field to filter in the filter condition. - Field *string `type:"string" enum:"FieldNameString"` + // The time that it took to process the request. + PlanningTimeMillis *int64 `type:"long"` - // A string with values used in evaluating the filter condition. - StringValueList []*string `type:"list"` + // The time the request was in queue to be processed. + QueueTimeMillis *int64 `type:"long"` + + // The number of work units generated. + WorkUnitsGeneratedCount *int64 `type:"long"` } // String returns the string representation. @@ -3838,7 +9975,7 @@ type FilterCondition 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 FilterCondition) String() string { +func (s PlanningStatistics) String() string { return awsutil.Prettify(s) } @@ -3847,127 +9984,43 @@ func (s FilterCondition) 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 FilterCondition) GoString() string { +func (s PlanningStatistics) GoString() string { return s.String() } -// SetComparisonOperator sets the ComparisonOperator field's value. -func (s *FilterCondition) SetComparisonOperator(v string) *FilterCondition { - s.ComparisonOperator = &v - return s -} - -// SetField sets the Field field's value. -func (s *FilterCondition) SetField(v string) *FilterCondition { - s.Field = &v +// SetEstimatedDataToScanBytes sets the EstimatedDataToScanBytes field's value. +func (s *PlanningStatistics) SetEstimatedDataToScanBytes(v int64) *PlanningStatistics { + s.EstimatedDataToScanBytes = &v return s } -// SetStringValueList sets the StringValueList field's value. -func (s *FilterCondition) SetStringValueList(v []*string) *FilterCondition { - s.StringValueList = v +// SetPlanningTimeMillis sets the PlanningTimeMillis field's value. +func (s *PlanningStatistics) SetPlanningTimeMillis(v int64) *PlanningStatistics { + s.PlanningTimeMillis = &v return s } -type GetDataLakeSettingsInput struct { - _ struct{} `type:"structure"` - - // The identifier for the Data Catalog. By default, the account ID. The Data - // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. - CatalogId *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 GetDataLakeSettingsInput) 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 GetDataLakeSettingsInput) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *GetDataLakeSettingsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetDataLakeSettingsInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetCatalogId sets the CatalogId field's value. -func (s *GetDataLakeSettingsInput) SetCatalogId(v string) *GetDataLakeSettingsInput { - s.CatalogId = &v +// SetQueueTimeMillis sets the QueueTimeMillis field's value. +func (s *PlanningStatistics) SetQueueTimeMillis(v int64) *PlanningStatistics { + s.QueueTimeMillis = &v return s } -type GetDataLakeSettingsOutput struct { - _ struct{} `type:"structure"` - - // A structure representing a list of AWS Lake Formation principals designated - // as data lake administrators. - DataLakeSettings *DataLakeSettings `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 GetDataLakeSettingsOutput) 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 GetDataLakeSettingsOutput) GoString() string { - return s.String() -} - -// SetDataLakeSettings sets the DataLakeSettings field's value. -func (s *GetDataLakeSettingsOutput) SetDataLakeSettings(v *DataLakeSettings) *GetDataLakeSettingsOutput { - s.DataLakeSettings = v +// SetWorkUnitsGeneratedCount sets the WorkUnitsGeneratedCount field's value. +func (s *PlanningStatistics) SetWorkUnitsGeneratedCount(v int64) *PlanningStatistics { + s.WorkUnitsGeneratedCount = &v return s } -type GetEffectivePermissionsForPathInput struct { +// Permissions granted to a principal. +type PrincipalPermissions struct { _ struct{} `type:"structure"` - // The identifier for the Data Catalog. By default, the account ID. The Data - // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. - CatalogId *string `min:"1" type:"string"` - - // The maximum number of results to return. - MaxResults *int64 `min:"1" type:"integer"` - - // A continuation token, if this is not the first call to retrieve this list. - NextToken *string `type:"string"` + // The permissions that are granted to the principal. + Permissions []*string `type:"list"` - // The Amazon Resource Name (ARN) of the resource for which you want to get - // permissions. - // - // ResourceArn is a required field - ResourceArn *string `type:"string" required:"true"` + // The principal who is granted permissions. + Principal *DataLakePrincipal `type:"structure"` } // String returns the string representation. @@ -3975,7 +10028,7 @@ type GetEffectivePermissionsForPathInput 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 GetEffectivePermissionsForPathInput) String() string { +func (s PrincipalPermissions) String() string { return awsutil.Prettify(s) } @@ -3984,21 +10037,17 @@ func (s GetEffectivePermissionsForPathInput) 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 GetEffectivePermissionsForPathInput) GoString() string { +func (s PrincipalPermissions) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetEffectivePermissionsForPathInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetEffectivePermissionsForPathInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) +func (s *PrincipalPermissions) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PrincipalPermissions"} + if s.Principal != nil { + if err := s.Principal.Validate(); err != nil { + invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -4007,39 +10056,38 @@ func (s *GetEffectivePermissionsForPathInput) Validate() error { return nil } -// SetCatalogId sets the CatalogId field's value. -func (s *GetEffectivePermissionsForPathInput) SetCatalogId(v string) *GetEffectivePermissionsForPathInput { - s.CatalogId = &v +// SetPermissions sets the Permissions field's value. +func (s *PrincipalPermissions) SetPermissions(v []*string) *PrincipalPermissions { + s.Permissions = v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *GetEffectivePermissionsForPathInput) SetMaxResults(v int64) *GetEffectivePermissionsForPathInput { - s.MaxResults = &v +// SetPrincipal sets the Principal field's value. +func (s *PrincipalPermissions) SetPrincipal(v *DataLakePrincipal) *PrincipalPermissions { + s.Principal = v return s } -// SetNextToken sets the NextToken field's value. -func (s *GetEffectivePermissionsForPathInput) SetNextToken(v string) *GetEffectivePermissionsForPathInput { - s.NextToken = &v - return s -} +// The permissions granted or revoked on a resource. +type PrincipalResourcePermissions struct { + _ struct{} `type:"structure"` -// SetResourceArn sets the ResourceArn field's value. -func (s *GetEffectivePermissionsForPathInput) SetResourceArn(v string) *GetEffectivePermissionsForPathInput { - s.ResourceArn = &v - return s -} + // This attribute can be used to return any additional details of PrincipalResourcePermissions. + // Currently returns only as a RAM resource share ARN. + AdditionalDetails *DetailsMap `type:"structure"` + + // The permissions to be granted or revoked on the resource. + Permissions []*string `type:"list"` -type GetEffectivePermissionsForPathOutput struct { - _ struct{} `type:"structure"` + // Indicates whether to grant the ability to grant permissions (as a subset + // of permissions granted). + PermissionsWithGrantOption []*string `type:"list"` - // A continuation token, if this is not the first call to retrieve this list. - NextToken *string `type:"string"` + // The Data Lake principal to be granted or revoked permissions. + Principal *DataLakePrincipal `type:"structure"` - // A list of the permissions for the specified table or database resource located - // at the path in Amazon S3. - Permissions []*PrincipalResourcePermissions `type:"list"` + // The resource where permissions are to be granted or revoked. + Resource *Resource `type:"structure"` } // String returns the string representation. @@ -4047,7 +10095,7 @@ type GetEffectivePermissionsForPathOutput 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 GetEffectivePermissionsForPathOutput) String() string { +func (s PrincipalResourcePermissions) String() string { return awsutil.Prettify(s) } @@ -4056,35 +10104,54 @@ func (s GetEffectivePermissionsForPathOutput) 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 GetEffectivePermissionsForPathOutput) GoString() string { +func (s PrincipalResourcePermissions) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *GetEffectivePermissionsForPathOutput) SetNextToken(v string) *GetEffectivePermissionsForPathOutput { - s.NextToken = &v +// SetAdditionalDetails sets the AdditionalDetails field's value. +func (s *PrincipalResourcePermissions) SetAdditionalDetails(v *DetailsMap) *PrincipalResourcePermissions { + s.AdditionalDetails = v return s } // SetPermissions sets the Permissions field's value. -func (s *GetEffectivePermissionsForPathOutput) SetPermissions(v []*PrincipalResourcePermissions) *GetEffectivePermissionsForPathOutput { +func (s *PrincipalResourcePermissions) SetPermissions(v []*string) *PrincipalResourcePermissions { s.Permissions = v return s } -type GetLFTagInput struct { +// SetPermissionsWithGrantOption sets the PermissionsWithGrantOption field's value. +func (s *PrincipalResourcePermissions) SetPermissionsWithGrantOption(v []*string) *PrincipalResourcePermissions { + s.PermissionsWithGrantOption = v + return s +} + +// SetPrincipal sets the Principal field's value. +func (s *PrincipalResourcePermissions) SetPrincipal(v *DataLakePrincipal) *PrincipalResourcePermissions { + s.Principal = v + return s +} + +// SetResource sets the Resource field's value. +func (s *PrincipalResourcePermissions) SetResource(v *Resource) *PrincipalResourcePermissions { + s.Resource = v + return s +} + +type PutDataLakeSettingsInput struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, the account ID. The Data // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. + // table definitions, and other control information to manage your Lake Formation + // environment. CatalogId *string `min:"1" type:"string"` - // The key-name for the tag. + // A structure representing a list of Lake Formation principals designated as + // data lake administrators. // - // TagKey is a required field - TagKey *string `min:"1" type:"string" required:"true"` + // DataLakeSettings is a required field + DataLakeSettings *DataLakeSettings `type:"structure" required:"true"` } // String returns the string representation. @@ -4092,7 +10159,7 @@ type GetLFTagInput 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 GetLFTagInput) String() string { +func (s PutDataLakeSettingsInput) String() string { return awsutil.Prettify(s) } @@ -4101,21 +10168,23 @@ func (s GetLFTagInput) 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 GetLFTagInput) GoString() string { +func (s PutDataLakeSettingsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetLFTagInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetLFTagInput"} +func (s *PutDataLakeSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutDataLakeSettingsInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.TagKey == nil { - invalidParams.Add(request.NewErrParamRequired("TagKey")) + if s.DataLakeSettings == nil { + invalidParams.Add(request.NewErrParamRequired("DataLakeSettings")) } - if s.TagKey != nil && len(*s.TagKey) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) + if s.DataLakeSettings != nil { + if err := s.DataLakeSettings.Validate(); err != nil { + invalidParams.AddNested("DataLakeSettings", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -4125,31 +10194,19 @@ func (s *GetLFTagInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *GetLFTagInput) SetCatalogId(v string) *GetLFTagInput { +func (s *PutDataLakeSettingsInput) SetCatalogId(v string) *PutDataLakeSettingsInput { s.CatalogId = &v return s } -// SetTagKey sets the TagKey field's value. -func (s *GetLFTagInput) SetTagKey(v string) *GetLFTagInput { - s.TagKey = &v +// SetDataLakeSettings sets the DataLakeSettings field's value. +func (s *PutDataLakeSettingsInput) SetDataLakeSettings(v *DataLakeSettings) *PutDataLakeSettingsInput { + s.DataLakeSettings = v return s } -type GetLFTagOutput struct { +type PutDataLakeSettingsOutput struct { _ struct{} `type:"structure"` - - // The identifier for the Data Catalog. By default, the account ID. The Data - // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. - CatalogId *string `min:"1" type:"string"` - - // The key-name for the tag. - TagKey *string `min:"1" type:"string"` - - // A list of possible values an attribute can take. - TagValues []*string `min:"1" type:"list"` } // String returns the string representation. @@ -4157,7 +10214,7 @@ type GetLFTagOutput 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 GetLFTagOutput) String() string { +func (s PutDataLakeSettingsOutput) String() string { return awsutil.Prettify(s) } @@ -4166,44 +10223,36 @@ func (s GetLFTagOutput) 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 GetLFTagOutput) GoString() string { +func (s PutDataLakeSettingsOutput) GoString() string { return s.String() } -// SetCatalogId sets the CatalogId field's value. -func (s *GetLFTagOutput) SetCatalogId(v string) *GetLFTagOutput { - s.CatalogId = &v - return s -} - -// SetTagKey sets the TagKey field's value. -func (s *GetLFTagOutput) SetTagKey(v string) *GetLFTagOutput { - s.TagKey = &v - return s -} - -// SetTagValues sets the TagValues field's value. -func (s *GetLFTagOutput) SetTagValues(v []*string) *GetLFTagOutput { - s.TagValues = v - return s -} - -type GetResourceLFTagsInput struct { +// A structure containing information about the query plan. +type QueryPlanningContext struct { _ struct{} `type:"structure"` - // The identifier for the Data Catalog. By default, the account ID. The Data - // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. + // The ID of the Data Catalog where the partition in question resides. If none + // is provided, the Amazon Web Services account ID is used by default. CatalogId *string `min:"1" type:"string"` - // The resource for which you want to return tags. + // The database containing the table. // - // Resource is a required field - Resource *Resource `type:"structure" required:"true"` + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` - // Indicates whether to show the assigned tags. - ShowAssignedLFTags *bool `type:"boolean"` + // The time as of when to read the table contents. If not set, the most recent + // transaction commit time will be used. Cannot be specified along with TransactionId. + QueryAsOfTime *time.Time `type:"timestamp"` + + // A map consisting of key-value pairs. + QueryParameters map[string]*string `type:"map"` + + // The transaction ID at which to read the table contents. If this transaction + // is not committed, the read will be treated as part of that transaction and + // will see its writes. If this transaction has aborted, an error will be returned. + // If not set, defaults to the most recent committed transaction. Cannot be + // specified along with QueryAsOfTime. + TransactionId *string `min:"1" type:"string"` } // String returns the string representation. @@ -4211,7 +10260,7 @@ type GetResourceLFTagsInput 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 GetResourceLFTagsInput) String() string { +func (s QueryPlanningContext) String() string { return awsutil.Prettify(s) } @@ -4220,23 +10269,24 @@ func (s GetResourceLFTagsInput) 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 GetResourceLFTagsInput) GoString() string { +func (s QueryPlanningContext) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetResourceLFTagsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetResourceLFTagsInput"} +func (s *QueryPlanningContext) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "QueryPlanningContext"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.Resource == nil { - invalidParams.Add(request.NewErrParamRequired("Resource")) + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) } - if s.Resource != nil { - if err := s.Resource.Validate(); err != nil { - invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) - } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.TransactionId != nil && len(*s.TransactionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TransactionId", 1)) } if invalidParams.Len() > 0 { @@ -4246,34 +10296,52 @@ func (s *GetResourceLFTagsInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *GetResourceLFTagsInput) SetCatalogId(v string) *GetResourceLFTagsInput { +func (s *QueryPlanningContext) SetCatalogId(v string) *QueryPlanningContext { s.CatalogId = &v return s } -// SetResource sets the Resource field's value. -func (s *GetResourceLFTagsInput) SetResource(v *Resource) *GetResourceLFTagsInput { - s.Resource = v +// SetDatabaseName sets the DatabaseName field's value. +func (s *QueryPlanningContext) SetDatabaseName(v string) *QueryPlanningContext { + s.DatabaseName = &v return s } -// SetShowAssignedLFTags sets the ShowAssignedLFTags field's value. -func (s *GetResourceLFTagsInput) SetShowAssignedLFTags(v bool) *GetResourceLFTagsInput { - s.ShowAssignedLFTags = &v +// SetQueryAsOfTime sets the QueryAsOfTime field's value. +func (s *QueryPlanningContext) SetQueryAsOfTime(v time.Time) *QueryPlanningContext { + s.QueryAsOfTime = &v return s } -type GetResourceLFTagsOutput struct { +// SetQueryParameters sets the QueryParameters field's value. +func (s *QueryPlanningContext) SetQueryParameters(v map[string]*string) *QueryPlanningContext { + s.QueryParameters = v + return s +} + +// SetTransactionId sets the TransactionId field's value. +func (s *QueryPlanningContext) SetTransactionId(v string) *QueryPlanningContext { + s.TransactionId = &v + return s +} + +type RegisterResourceInput struct { _ struct{} `type:"structure"` - // A list of tags applied to a database resource. - LFTagOnDatabase []*LFTagPair `min:"1" type:"list"` + // The Amazon Resource Name (ARN) of the resource that you want to register. + // + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` - // A list of tags applied to a column resource. - LFTagsOnColumns []*ColumnLFTag `type:"list"` + // The identifier for the role that registers the resource. + RoleArn *string `type:"string"` - // A list of tags applied to a table resource. - LFTagsOnTable []*LFTagPair `min:"1" type:"list"` + // Designates an Identity and Access Management (IAM) service-linked role by + // registering this role with the Data Catalog. A service-linked role is a unique + // type of IAM role that is linked directly to Lake Formation. + // + // For more information, see Using Service-Linked Roles for Lake Formation (https://docs-aws.amazon.com/lake-formation/latest/dg/service-linked-roles.html). + UseServiceLinkedRole *bool `type:"boolean"` } // String returns the string representation. @@ -4281,7 +10349,7 @@ type GetResourceLFTagsOutput 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 GetResourceLFTagsOutput) String() string { +func (s RegisterResourceInput) String() string { return awsutil.Prettify(s) } @@ -4290,35 +10358,43 @@ func (s GetResourceLFTagsOutput) 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 GetResourceLFTagsOutput) GoString() string { +func (s RegisterResourceInput) GoString() string { return s.String() } -// SetLFTagOnDatabase sets the LFTagOnDatabase field's value. -func (s *GetResourceLFTagsOutput) SetLFTagOnDatabase(v []*LFTagPair) *GetResourceLFTagsOutput { - s.LFTagOnDatabase = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *RegisterResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RegisterResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetLFTagsOnColumns sets the LFTagsOnColumns field's value. -func (s *GetResourceLFTagsOutput) SetLFTagsOnColumns(v []*ColumnLFTag) *GetResourceLFTagsOutput { - s.LFTagsOnColumns = v +// SetResourceArn sets the ResourceArn field's value. +func (s *RegisterResourceInput) SetResourceArn(v string) *RegisterResourceInput { + s.ResourceArn = &v return s } -// SetLFTagsOnTable sets the LFTagsOnTable field's value. -func (s *GetResourceLFTagsOutput) SetLFTagsOnTable(v []*LFTagPair) *GetResourceLFTagsOutput { - s.LFTagsOnTable = v +// SetRoleArn sets the RoleArn field's value. +func (s *RegisterResourceInput) SetRoleArn(v string) *RegisterResourceInput { + s.RoleArn = &v return s } -// An encryption operation failed. -type GlueEncryptionException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetUseServiceLinkedRole sets the UseServiceLinkedRole field's value. +func (s *RegisterResourceInput) SetUseServiceLinkedRole(v bool) *RegisterResourceInput { + s.UseServiceLinkedRole = &v + return s +} - // A message describing the problem. - Message_ *string `locationName:"Message" type:"string"` +type RegisterResourceOutput struct { + _ struct{} `type:"structure"` } // String returns the string representation. @@ -4326,93 +10402,34 @@ type GlueEncryptionException 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 GlueEncryptionException) String() string { +func (s RegisterResourceOutput) 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 GlueEncryptionException) GoString() string { - return s.String() -} - -func newErrorGlueEncryptionException(v protocol.ResponseMetadata) error { - return &GlueEncryptionException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *GlueEncryptionException) Code() string { - return "GlueEncryptionException" -} - -// Message returns the exception's message. -func (s *GlueEncryptionException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *GlueEncryptionException) OrigErr() error { - return nil -} - -func (s *GlueEncryptionException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *GlueEncryptionException) StatusCode() int { - return s.RespMetadata.StatusCode -} - -// RequestID returns the service's response RequestID for request. -func (s *GlueEncryptionException) RequestID() string { - return s.RespMetadata.RequestID -} - -type GrantPermissionsInput struct { +// 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 RegisterResourceOutput) GoString() string { + return s.String() +} + +type RemoveLFTagsFromResourceInput struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, the account ID. The Data // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. + // table definitions, and other control information to manage your Lake Formation + // environment. CatalogId *string `min:"1" type:"string"` - // The permissions granted to the principal on the resource. AWS Lake Formation - // defines privileges to grant and revoke access to metadata in the Data Catalog - // and data organized in underlying data storage such as Amazon S3. AWS Lake - // Formation requires that each principal be authorized to perform a specific - // task on AWS Lake Formation resources. - // - // Permissions is a required field - Permissions []*string `type:"list" required:"true"` - - // Indicates a list of the granted permissions that the principal may pass to - // other users. These permissions may only be a subset of the permissions granted - // in the Privileges. - PermissionsWithGrantOption []*string `type:"list"` - - // The principal to be granted the permissions on the resource. Supported principals - // are IAM users or IAM roles, and they are defined by their principal type - // and their ARN. + // The LF-tags to be removed from the resource. // - // Note that if you define a resource with a particular ARN, then later delete, - // and recreate a resource with that same ARN, the resource maintains the permissions - // already granted. - // - // Principal is a required field - Principal *DataLakePrincipal `type:"structure" required:"true"` + // LFTags is a required field + LFTags []*LFTagPair `min:"1" type:"list" required:"true"` - // The resource to which permissions are to be granted. Resources in AWS Lake - // Formation are the Data Catalog, databases, and tables. + // The database, table, or column resource where you want to remove an LF-tag. // // Resource is a required field Resource *Resource `type:"structure" required:"true"` @@ -4423,7 +10440,7 @@ type GrantPermissionsInput 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 GrantPermissionsInput) String() string { +func (s RemoveLFTagsFromResourceInput) String() string { return awsutil.Prettify(s) } @@ -4432,28 +10449,33 @@ func (s GrantPermissionsInput) 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 GrantPermissionsInput) GoString() string { +func (s RemoveLFTagsFromResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GrantPermissionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GrantPermissionsInput"} +func (s *RemoveLFTagsFromResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RemoveLFTagsFromResourceInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.Permissions == nil { - invalidParams.Add(request.NewErrParamRequired("Permissions")) + if s.LFTags == nil { + invalidParams.Add(request.NewErrParamRequired("LFTags")) } - if s.Principal == nil { - invalidParams.Add(request.NewErrParamRequired("Principal")) + if s.LFTags != nil && len(s.LFTags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LFTags", 1)) } if s.Resource == nil { invalidParams.Add(request.NewErrParamRequired("Resource")) } - if s.Principal != nil { - if err := s.Principal.Validate(); err != nil { - invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) + if s.LFTags != nil { + for i, v := range s.LFTags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LFTags", i), err.(request.ErrInvalidParams)) + } } } if s.Resource != nil { @@ -4469,37 +10491,28 @@ func (s *GrantPermissionsInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *GrantPermissionsInput) SetCatalogId(v string) *GrantPermissionsInput { +func (s *RemoveLFTagsFromResourceInput) SetCatalogId(v string) *RemoveLFTagsFromResourceInput { s.CatalogId = &v return s } -// SetPermissions sets the Permissions field's value. -func (s *GrantPermissionsInput) SetPermissions(v []*string) *GrantPermissionsInput { - s.Permissions = v - return s -} - -// SetPermissionsWithGrantOption sets the PermissionsWithGrantOption field's value. -func (s *GrantPermissionsInput) SetPermissionsWithGrantOption(v []*string) *GrantPermissionsInput { - s.PermissionsWithGrantOption = v - return s -} - -// SetPrincipal sets the Principal field's value. -func (s *GrantPermissionsInput) SetPrincipal(v *DataLakePrincipal) *GrantPermissionsInput { - s.Principal = v +// SetLFTags sets the LFTags field's value. +func (s *RemoveLFTagsFromResourceInput) SetLFTags(v []*LFTagPair) *RemoveLFTagsFromResourceInput { + s.LFTags = v return s } // SetResource sets the Resource field's value. -func (s *GrantPermissionsInput) SetResource(v *Resource) *GrantPermissionsInput { +func (s *RemoveLFTagsFromResourceInput) SetResource(v *Resource) *RemoveLFTagsFromResourceInput { s.Resource = v return s } -type GrantPermissionsOutput struct { +type RemoveLFTagsFromResourceOutput struct { _ struct{} `type:"structure"` + + // A list of failures to untag a resource. + Failures []*LFTagError `type:"list"` } // String returns the string representation. @@ -4507,7 +10520,7 @@ type GrantPermissionsOutput 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 GrantPermissionsOutput) String() string { +func (s RemoveLFTagsFromResourceOutput) String() string { return awsutil.Prettify(s) } @@ -4516,17 +10529,51 @@ func (s GrantPermissionsOutput) 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 GrantPermissionsOutput) GoString() string { +func (s RemoveLFTagsFromResourceOutput) GoString() string { return s.String() } -// An internal service error occurred. -type InternalServiceException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetFailures sets the Failures field's value. +func (s *RemoveLFTagsFromResourceOutput) SetFailures(v []*LFTagError) *RemoveLFTagsFromResourceOutput { + s.Failures = v + return s +} - // A message describing the problem. - Message_ *string `locationName:"Message" type:"string"` +// A structure for the resource. +type Resource struct { + _ struct{} `type:"structure"` + + // The identifier for the Data Catalog. By default, the account ID. The Data + // Catalog is the persistent metadata store. It contains database definitions, + // table definitions, and other control information to manage your Lake Formation + // environment. + Catalog *CatalogResource `type:"structure"` + + // A data cell filter. + DataCellsFilter *DataCellsFilterResource `type:"structure"` + + // The location of an Amazon S3 path where permissions are granted or revoked. + DataLocation *DataLocationResource `type:"structure"` + + // The database for the resource. Unique to the Data Catalog. A database is + // a set of associated table definitions organized into a logical group. You + // can Grant and Revoke database permissions to a principal. + Database *DatabaseResource `type:"structure"` + + // The LF-tag key and values attached to a resource. + LFTag *LFTagKeyResource `type:"structure"` + + // A list of LF-tag conditions that define a resource's LF-tag policy. + LFTagPolicy *LFTagPolicyResource `type:"structure"` + + // The table for the resource. A table is a metadata definition that represents + // your data. You can Grant and Revoke table privileges to a principal. + Table *TableResource `type:"structure"` + + // The table with columns for the resource. A principal with permissions to + // this resource can select metadata from the columns of a table in the Data + // Catalog and the underlying data in Amazon S3. + TableWithColumns *TableWithColumnsResource `type:"structure"` } // String returns the string representation. @@ -4534,7 +10581,7 @@ type InternalServiceException 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 InternalServiceException) String() string { +func (s Resource) String() string { return awsutil.Prettify(s) } @@ -4543,54 +10590,160 @@ func (s InternalServiceException) 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 InternalServiceException) GoString() string { +func (s Resource) GoString() string { return s.String() } -func newErrorInternalServiceException(v protocol.ResponseMetadata) error { - return &InternalServiceException{ - RespMetadata: v, +// Validate inspects the fields of the type to determine if they are valid. +func (s *Resource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Resource"} + if s.DataCellsFilter != nil { + if err := s.DataCellsFilter.Validate(); err != nil { + invalidParams.AddNested("DataCellsFilter", err.(request.ErrInvalidParams)) + } + } + if s.DataLocation != nil { + if err := s.DataLocation.Validate(); err != nil { + invalidParams.AddNested("DataLocation", err.(request.ErrInvalidParams)) + } + } + if s.Database != nil { + if err := s.Database.Validate(); err != nil { + invalidParams.AddNested("Database", err.(request.ErrInvalidParams)) + } + } + if s.LFTag != nil { + if err := s.LFTag.Validate(); err != nil { + invalidParams.AddNested("LFTag", err.(request.ErrInvalidParams)) + } + } + if s.LFTagPolicy != nil { + if err := s.LFTagPolicy.Validate(); err != nil { + invalidParams.AddNested("LFTagPolicy", err.(request.ErrInvalidParams)) + } + } + if s.Table != nil { + if err := s.Table.Validate(); err != nil { + invalidParams.AddNested("Table", err.(request.ErrInvalidParams)) + } + } + if s.TableWithColumns != nil { + if err := s.TableWithColumns.Validate(); err != nil { + invalidParams.AddNested("TableWithColumns", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams } + return nil } -// Code returns the exception type name. -func (s *InternalServiceException) Code() string { - return "InternalServiceException" +// SetCatalog sets the Catalog field's value. +func (s *Resource) SetCatalog(v *CatalogResource) *Resource { + s.Catalog = v + return s } -// Message returns the exception's message. -func (s *InternalServiceException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetDataCellsFilter sets the DataCellsFilter field's value. +func (s *Resource) SetDataCellsFilter(v *DataCellsFilterResource) *Resource { + s.DataCellsFilter = v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InternalServiceException) OrigErr() error { - return nil +// SetDataLocation sets the DataLocation field's value. +func (s *Resource) SetDataLocation(v *DataLocationResource) *Resource { + s.DataLocation = v + return s +} + +// SetDatabase sets the Database field's value. +func (s *Resource) SetDatabase(v *DatabaseResource) *Resource { + s.Database = v + return s +} + +// SetLFTag sets the LFTag field's value. +func (s *Resource) SetLFTag(v *LFTagKeyResource) *Resource { + s.LFTag = v + return s +} + +// SetLFTagPolicy sets the LFTagPolicy field's value. +func (s *Resource) SetLFTagPolicy(v *LFTagPolicyResource) *Resource { + s.LFTagPolicy = v + return s +} + +// SetTable sets the Table field's value. +func (s *Resource) SetTable(v *TableResource) *Resource { + s.Table = v + return s +} + +// SetTableWithColumns sets the TableWithColumns field's value. +func (s *Resource) SetTableWithColumns(v *TableWithColumnsResource) *Resource { + s.TableWithColumns = v + return s +} + +// A structure containing information about an Lake Formation resource. +type ResourceInfo struct { + _ struct{} `type:"structure"` + + // The date and time the resource was last modified. + LastModified *time.Time `type:"timestamp"` + + // The Amazon Resource Name (ARN) of the resource. + ResourceArn *string `type:"string"` + + // The IAM role that registered a resource. + RoleArn *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceInfo) 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 ResourceInfo) GoString() string { + return s.String() } -func (s *InternalServiceException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +// SetLastModified sets the LastModified field's value. +func (s *ResourceInfo) SetLastModified(v time.Time) *ResourceInfo { + s.LastModified = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *InternalServiceException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetResourceArn sets the ResourceArn field's value. +func (s *ResourceInfo) SetResourceArn(v string) *ResourceInfo { + s.ResourceArn = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InternalServiceException) RequestID() string { - return s.RespMetadata.RequestID +// SetRoleArn sets the RoleArn field's value. +func (s *ResourceInfo) SetRoleArn(v string) *ResourceInfo { + s.RoleArn = &v + return s } -// The input provided was not valid. -type InvalidInputException struct { +// Contains details about an error related to a resource which is not ready +// for a transaction. +type ResourceNotReadyException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // A message describing the problem. + // A message describing the error. Message_ *string `locationName:"Message" type:"string"` } @@ -4599,7 +10752,7 @@ type InvalidInputException 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 InvalidInputException) String() string { +func (s ResourceNotReadyException) String() string { return awsutil.Prettify(s) } @@ -4608,23 +10761,23 @@ func (s InvalidInputException) 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 InvalidInputException) GoString() string { +func (s ResourceNotReadyException) GoString() string { return s.String() } -func newErrorInvalidInputException(v protocol.ResponseMetadata) error { - return &InvalidInputException{ +func newErrorResourceNotReadyException(v protocol.ResponseMetadata) error { + return &ResourceNotReadyException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *InvalidInputException) Code() string { - return "InvalidInputException" +func (s *ResourceNotReadyException) Code() string { + return "ResourceNotReadyException" } // Message returns the exception's message. -func (s *InvalidInputException) Message() string { +func (s *ResourceNotReadyException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -4632,39 +10785,31 @@ func (s *InvalidInputException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InvalidInputException) OrigErr() error { +func (s *ResourceNotReadyException) OrigErr() error { return nil } -func (s *InvalidInputException) Error() string { +func (s *ResourceNotReadyException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. -func (s *InvalidInputException) StatusCode() int { +func (s *ResourceNotReadyException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *InvalidInputException) RequestID() string { +func (s *ResourceNotReadyException) RequestID() string { return s.RespMetadata.RequestID } -// A structure that allows an admin to grant user permissions on certain conditions. -// For example, granting a role access to all columns not tagged 'PII' of tables -// tagged 'Prod'. -type LFTag struct { - _ struct{} `type:"structure"` - - // The key-name for the tag. - // - // TagKey is a required field - TagKey *string `min:"1" type:"string" required:"true"` +// A resource numerical limit was exceeded. +type ResourceNumberLimitExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // A list of possible values an attribute can take. - // - // TagValues is a required field - TagValues []*string `min:"1" type:"list" required:"true"` + // A message describing the problem. + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation. @@ -4672,7 +10817,7 @@ type LFTag 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 LFTag) String() string { +func (s ResourceNumberLimitExceededException) String() string { return awsutil.Prettify(s) } @@ -4681,105 +10826,76 @@ func (s LFTag) 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 LFTag) GoString() string { +func (s ResourceNumberLimitExceededException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *LFTag) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LFTag"} - if s.TagKey == nil { - invalidParams.Add(request.NewErrParamRequired("TagKey")) - } - if s.TagKey != nil && len(*s.TagKey) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) - } - if s.TagValues == nil { - invalidParams.Add(request.NewErrParamRequired("TagValues")) - } - if s.TagValues != nil && len(s.TagValues) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagValues", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams +func newErrorResourceNumberLimitExceededException(v protocol.ResponseMetadata) error { + return &ResourceNumberLimitExceededException{ + RespMetadata: v, } - return nil } -// SetTagKey sets the TagKey field's value. -func (s *LFTag) SetTagKey(v string) *LFTag { - s.TagKey = &v - return s -} - -// SetTagValues sets the TagValues field's value. -func (s *LFTag) SetTagValues(v []*string) *LFTag { - s.TagValues = v - return s +// Code returns the exception type name. +func (s *ResourceNumberLimitExceededException) Code() string { + return "ResourceNumberLimitExceededException" } -// A structure containing an error related to a TagResource or UnTagResource -// operation. -type LFTagError struct { - _ struct{} `type:"structure"` - - // An error that occurred with the attachment or detachment of the tag. - Error *ErrorDetail `type:"structure"` - - // The key-name of the tag. - LFTag *LFTagPair `type:"structure"` +// Message returns the exception's message. +func (s *ResourceNumberLimitExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// 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 LFTagError) String() string { - return awsutil.Prettify(s) +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNumberLimitExceededException) OrigErr() error { + return nil } -// 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 LFTagError) GoString() string { - return s.String() +func (s *ResourceNumberLimitExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetError sets the Error field's value. -func (s *LFTagError) SetError(v *ErrorDetail) *LFTagError { - s.Error = v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNumberLimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetLFTag sets the LFTag field's value. -func (s *LFTagError) SetLFTag(v *LFTagPair) *LFTagError { - s.LFTag = v - return s +// RequestID returns the service's response RequestID for request. +func (s *ResourceNumberLimitExceededException) RequestID() string { + return s.RespMetadata.RequestID } -// A structure containing a tag key and values for a resource. -type LFTagKeyResource struct { +type RevokePermissionsInput struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, the account ID. The Data // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. + // table definitions, and other control information to manage your Lake Formation + // environment. CatalogId *string `min:"1" type:"string"` - // The key-name for the tag. + // The permissions revoked to the principal on the resource. For information + // about permissions, see Security and Access Control to Metadata and Data (https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.html). // - // TagKey is a required field - TagKey *string `min:"1" type:"string" required:"true"` + // Permissions is a required field + Permissions []*string `type:"list" required:"true"` - // A list of possible values an attribute can take. + // Indicates a list of permissions for which to revoke the grant option allowing + // the principal to pass permissions to other principals. + PermissionsWithGrantOption []*string `type:"list"` + + // The principal to be revoked permissions on the resource. // - // TagValues is a required field - TagValues []*string `min:"1" type:"list" required:"true"` + // Principal is a required field + Principal *DataLakePrincipal `type:"structure" required:"true"` + + // The resource to which permissions are to be revoked. + // + // Resource is a required field + Resource *Resource `type:"structure" required:"true"` } // String returns the string representation. @@ -4787,7 +10903,7 @@ type LFTagKeyResource 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 LFTagKeyResource) String() string { +func (s RevokePermissionsInput) String() string { return awsutil.Prettify(s) } @@ -4796,27 +10912,34 @@ func (s LFTagKeyResource) 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 LFTagKeyResource) GoString() string { +func (s RevokePermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *LFTagKeyResource) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LFTagKeyResource"} +func (s *RevokePermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RevokePermissionsInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.TagKey == nil { - invalidParams.Add(request.NewErrParamRequired("TagKey")) + if s.Permissions == nil { + invalidParams.Add(request.NewErrParamRequired("Permissions")) } - if s.TagKey != nil && len(*s.TagKey) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) + if s.Principal == nil { + invalidParams.Add(request.NewErrParamRequired("Principal")) } - if s.TagValues == nil { - invalidParams.Add(request.NewErrParamRequired("TagValues")) + if s.Resource == nil { + invalidParams.Add(request.NewErrParamRequired("Resource")) } - if s.TagValues != nil && len(s.TagValues) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagValues", 1)) + if s.Principal != nil { + if err := s.Principal.Validate(); err != nil { + invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) + } + } + if s.Resource != nil { + if err := s.Resource.Validate(); err != nil { + invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -4826,42 +10949,37 @@ func (s *LFTagKeyResource) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *LFTagKeyResource) SetCatalogId(v string) *LFTagKeyResource { +func (s *RevokePermissionsInput) SetCatalogId(v string) *RevokePermissionsInput { s.CatalogId = &v return s } -// SetTagKey sets the TagKey field's value. -func (s *LFTagKeyResource) SetTagKey(v string) *LFTagKeyResource { - s.TagKey = &v +// SetPermissions sets the Permissions field's value. +func (s *RevokePermissionsInput) SetPermissions(v []*string) *RevokePermissionsInput { + s.Permissions = v return s } -// SetTagValues sets the TagValues field's value. -func (s *LFTagKeyResource) SetTagValues(v []*string) *LFTagKeyResource { - s.TagValues = v +// SetPermissionsWithGrantOption sets the PermissionsWithGrantOption field's value. +func (s *RevokePermissionsInput) SetPermissionsWithGrantOption(v []*string) *RevokePermissionsInput { + s.PermissionsWithGrantOption = v return s } -// A structure containing a tag key-value pair. -type LFTagPair struct { - _ struct{} `type:"structure"` - - // The identifier for the Data Catalog. By default, the account ID. The Data - // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. - CatalogId *string `min:"1" type:"string"` +// SetPrincipal sets the Principal field's value. +func (s *RevokePermissionsInput) SetPrincipal(v *DataLakePrincipal) *RevokePermissionsInput { + s.Principal = v + return s +} - // The key-name for the tag. - // - // TagKey is a required field - TagKey *string `min:"1" type:"string" required:"true"` +// SetResource sets the Resource field's value. +func (s *RevokePermissionsInput) SetResource(v *Resource) *RevokePermissionsInput { + s.Resource = v + return s +} - // A list of possible values an attribute can take. - // - // TagValues is a required field - TagValues []*string `min:"1" type:"list" required:"true"` +type RevokePermissionsOutput struct { + _ struct{} `type:"structure"` } // String returns the string representation. @@ -4869,7 +10987,7 @@ type LFTagPair 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 LFTagPair) String() string { +func (s RevokePermissionsOutput) String() string { return awsutil.Prettify(s) } @@ -4878,73 +10996,70 @@ func (s LFTagPair) 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 LFTagPair) GoString() string { +func (s RevokePermissionsOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *LFTagPair) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LFTagPair"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.TagKey == nil { - invalidParams.Add(request.NewErrParamRequired("TagKey")) - } - if s.TagKey != nil && len(*s.TagKey) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) - } - if s.TagValues == nil { - invalidParams.Add(request.NewErrParamRequired("TagValues")) - } - if s.TagValues != nil && len(s.TagValues) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagValues", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// A PartiQL predicate. +type RowFilter struct { + _ struct{} `type:"structure"` + + // A wildcard for all rows. + AllRowsWildcard *AllRowsWildcard `type:"structure"` + + // A filter expression. + FilterExpression *string `type:"string"` } -// SetCatalogId sets the CatalogId field's value. -func (s *LFTagPair) SetCatalogId(v string) *LFTagPair { - s.CatalogId = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RowFilter) String() string { + return awsutil.Prettify(s) } -// SetTagKey sets the TagKey field's value. -func (s *LFTagPair) SetTagKey(v string) *LFTagPair { - s.TagKey = &v +// 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 RowFilter) GoString() string { + return s.String() +} + +// SetAllRowsWildcard sets the AllRowsWildcard field's value. +func (s *RowFilter) SetAllRowsWildcard(v *AllRowsWildcard) *RowFilter { + s.AllRowsWildcard = v return s } -// SetTagValues sets the TagValues field's value. -func (s *LFTagPair) SetTagValues(v []*string) *LFTagPair { - s.TagValues = v +// SetFilterExpression sets the FilterExpression field's value. +func (s *RowFilter) SetFilterExpression(v string) *RowFilter { + s.FilterExpression = &v return s } -// A structure containing a list of tag conditions that apply to a resource's -// tag policy. -type LFTagPolicyResource struct { +type SearchDatabasesByLFTagsInput struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, the account ID. The Data // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. + // table definitions, and other control information to manage your Lake Formation + // environment. CatalogId *string `min:"1" type:"string"` - // A list of tag conditions that apply to the resource's tag policy. + // A list of conditions (LFTag structures) to search for in database resources. // // Expression is a required field Expression []*LFTag `min:"1" type:"list" required:"true"` - // The resource type for which the tag policy applies. - // - // ResourceType is a required field - ResourceType *string `type:"string" required:"true" enum:"ResourceType"` + // The maximum number of results to return. + MaxResults *int64 `min:"1" type:"integer"` + + // A continuation token, if this is not the first call to retrieve this list. + NextToken *string `type:"string"` } // String returns the string representation. @@ -4952,7 +11067,7 @@ type LFTagPolicyResource 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 LFTagPolicyResource) String() string { +func (s SearchDatabasesByLFTagsInput) String() string { return awsutil.Prettify(s) } @@ -4961,13 +11076,13 @@ func (s LFTagPolicyResource) 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 LFTagPolicyResource) GoString() string { +func (s SearchDatabasesByLFTagsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *LFTagPolicyResource) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "LFTagPolicyResource"} +func (s *SearchDatabasesByLFTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchDatabasesByLFTagsInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } @@ -4977,8 +11092,8 @@ func (s *LFTagPolicyResource) Validate() error { if s.Expression != nil && len(s.Expression) < 1 { invalidParams.Add(request.NewErrParamMinLen("Expression", 1)) } - if s.ResourceType == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceType")) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if s.Expression != nil { for i, v := range s.Expression { @@ -4998,44 +11113,88 @@ func (s *LFTagPolicyResource) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *LFTagPolicyResource) SetCatalogId(v string) *LFTagPolicyResource { +func (s *SearchDatabasesByLFTagsInput) SetCatalogId(v string) *SearchDatabasesByLFTagsInput { s.CatalogId = &v return s } // SetExpression sets the Expression field's value. -func (s *LFTagPolicyResource) SetExpression(v []*LFTag) *LFTagPolicyResource { +func (s *SearchDatabasesByLFTagsInput) SetExpression(v []*LFTag) *SearchDatabasesByLFTagsInput { s.Expression = v return s } -// SetResourceType sets the ResourceType field's value. -func (s *LFTagPolicyResource) SetResourceType(v string) *LFTagPolicyResource { - s.ResourceType = &v +// SetMaxResults sets the MaxResults field's value. +func (s *SearchDatabasesByLFTagsInput) SetMaxResults(v int64) *SearchDatabasesByLFTagsInput { + s.MaxResults = &v return s } -type ListLFTagsInput struct { +// SetNextToken sets the NextToken field's value. +func (s *SearchDatabasesByLFTagsInput) SetNextToken(v string) *SearchDatabasesByLFTagsInput { + s.NextToken = &v + return s +} + +type SearchDatabasesByLFTagsOutput struct { + _ struct{} `type:"structure"` + + // A list of databases that meet the LF-tag conditions. + DatabaseList []*TaggedDatabase `type:"list"` + + // A continuation token, present if the current list segment is not the last. + NextToken *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s SearchDatabasesByLFTagsOutput) 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 SearchDatabasesByLFTagsOutput) GoString() string { + return s.String() +} + +// SetDatabaseList sets the DatabaseList field's value. +func (s *SearchDatabasesByLFTagsOutput) SetDatabaseList(v []*TaggedDatabase) *SearchDatabasesByLFTagsOutput { + s.DatabaseList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchDatabasesByLFTagsOutput) SetNextToken(v string) *SearchDatabasesByLFTagsOutput { + s.NextToken = &v + return s +} + +type SearchTablesByLFTagsInput struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, the account ID. The Data // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. + // table definitions, and other control information to manage your Lake Formation + // environment. CatalogId *string `min:"1" type:"string"` + // A list of conditions (LFTag structures) to search for in table resources. + // + // Expression is a required field + Expression []*LFTag `min:"1" type:"list" required:"true"` + // The maximum number of results to return. MaxResults *int64 `min:"1" type:"integer"` // A continuation token, if this is not the first call to retrieve this list. NextToken *string `type:"string"` - - // If resource share type is ALL, returns both in-account tags and shared tags - // that the requester has permission to view. If resource share type is FOREIGN, - // returns all share tags that the requester can view. If no resource share - // type is passed, lists tags in the given catalog ID that the requester has - // permission to view. - ResourceShareType *string `type:"string" enum:"ResourceShareType"` } // String returns the string representation. @@ -5043,7 +11202,7 @@ type ListLFTagsInput 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 ListLFTagsInput) String() string { +func (s SearchTablesByLFTagsInput) String() string { return awsutil.Prettify(s) } @@ -5052,19 +11211,35 @@ func (s ListLFTagsInput) 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 ListLFTagsInput) GoString() string { +func (s SearchTablesByLFTagsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListLFTagsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListLFTagsInput"} +func (s *SearchTablesByLFTagsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchTablesByLFTagsInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } + if s.Expression == nil { + invalidParams.Add(request.NewErrParamRequired("Expression")) + } + if s.Expression != nil && len(s.Expression) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Expression", 1)) + } if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } + if s.Expression != nil { + for i, v := range s.Expression { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Expression", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -5073,37 +11248,37 @@ func (s *ListLFTagsInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *ListLFTagsInput) SetCatalogId(v string) *ListLFTagsInput { +func (s *SearchTablesByLFTagsInput) SetCatalogId(v string) *SearchTablesByLFTagsInput { s.CatalogId = &v return s } +// SetExpression sets the Expression field's value. +func (s *SearchTablesByLFTagsInput) SetExpression(v []*LFTag) *SearchTablesByLFTagsInput { + s.Expression = v + return s +} + // SetMaxResults sets the MaxResults field's value. -func (s *ListLFTagsInput) SetMaxResults(v int64) *ListLFTagsInput { +func (s *SearchTablesByLFTagsInput) SetMaxResults(v int64) *SearchTablesByLFTagsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListLFTagsInput) SetNextToken(v string) *ListLFTagsInput { +func (s *SearchTablesByLFTagsInput) SetNextToken(v string) *SearchTablesByLFTagsInput { s.NextToken = &v return s } -// SetResourceShareType sets the ResourceShareType field's value. -func (s *ListLFTagsInput) SetResourceShareType(v string) *ListLFTagsInput { - s.ResourceShareType = &v - return s -} - -type ListLFTagsOutput struct { +type SearchTablesByLFTagsOutput struct { _ struct{} `type:"structure"` - // A list of tags that the requested has permission to view. - LFTags []*LFTagPair `min:"1" type:"list"` - // A continuation token, present if the current list segment is not the last. NextToken *string `type:"string"` + + // A list of tables that meet the LF-tag conditions. + TableList []*TaggedTable `type:"list"` } // String returns the string representation. @@ -5111,7 +11286,7 @@ type ListLFTagsOutput 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 ListLFTagsOutput) String() string { +func (s SearchTablesByLFTagsOutput) String() string { return awsutil.Prettify(s) } @@ -5120,49 +11295,38 @@ func (s ListLFTagsOutput) 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 ListLFTagsOutput) GoString() string { +func (s SearchTablesByLFTagsOutput) GoString() string { return s.String() } -// SetLFTags sets the LFTags field's value. -func (s *ListLFTagsOutput) SetLFTags(v []*LFTagPair) *ListLFTagsOutput { - s.LFTags = v +// SetNextToken sets the NextToken field's value. +func (s *SearchTablesByLFTagsOutput) SetNextToken(v string) *SearchTablesByLFTagsOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListLFTagsOutput) SetNextToken(v string) *ListLFTagsOutput { - s.NextToken = &v +// SetTableList sets the TableList field's value. +func (s *SearchTablesByLFTagsOutput) SetTableList(v []*TaggedTable) *SearchTablesByLFTagsOutput { + s.TableList = v return s } -type ListPermissionsInput struct { +type StartQueryPlanningInput struct { _ struct{} `type:"structure"` - // The identifier for the Data Catalog. By default, the account ID. The Data - // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. - CatalogId *string `min:"1" type:"string"` - - // The maximum number of results to return. - MaxResults *int64 `min:"1" type:"integer"` - - // A continuation token, if this is not the first call to retrieve this list. - NextToken *string `type:"string"` - - // Specifies a principal to filter the permissions returned. - Principal *DataLakePrincipal `type:"structure"` - - // A resource where you will get a list of the principal permissions. + // A structure containing information about the query plan. // - // This operation does not support getting privileges on a table with columns. - // Instead, call this operation on the table, and the operation returns the - // table and the table w columns. - Resource *Resource `type:"structure"` + // QueryPlanningContext is a required field + QueryPlanningContext *QueryPlanningContext `type:"structure" required:"true"` - // Specifies a resource type to filter the permissions returned. - ResourceType *string `type:"string" enum:"DataLakeResourceType"` + // A PartiQL query statement used as an input to the planner service. + // + // QueryString is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by StartQueryPlanningInput's + // String and GoString methods. + // + // QueryString is a required field + QueryString *string `min:"1" type:"string" required:"true" sensitive:"true"` } // String returns the string representation. @@ -5170,7 +11334,7 @@ type ListPermissionsInput 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 ListPermissionsInput) String() string { +func (s StartQueryPlanningInput) String() string { return awsutil.Prettify(s) } @@ -5179,27 +11343,25 @@ func (s ListPermissionsInput) 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 ListPermissionsInput) GoString() string { +func (s StartQueryPlanningInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListPermissionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListPermissionsInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) +func (s *StartQueryPlanningInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartQueryPlanningInput"} + if s.QueryPlanningContext == nil { + invalidParams.Add(request.NewErrParamRequired("QueryPlanningContext")) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.QueryString == nil { + invalidParams.Add(request.NewErrParamRequired("QueryString")) } - if s.Principal != nil { - if err := s.Principal.Validate(); err != nil { - invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) - } + if s.QueryString != nil && len(*s.QueryString) < 1 { + invalidParams.Add(request.NewErrParamMinLen("QueryString", 1)) } - if s.Resource != nil { - if err := s.Resource.Validate(); err != nil { - invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) + if s.QueryPlanningContext != nil { + if err := s.QueryPlanningContext.Validate(); err != nil { + invalidParams.AddNested("QueryPlanningContext", err.(request.ErrInvalidParams)) } } @@ -5209,51 +11371,28 @@ func (s *ListPermissionsInput) Validate() error { return nil } -// SetCatalogId sets the CatalogId field's value. -func (s *ListPermissionsInput) SetCatalogId(v string) *ListPermissionsInput { - s.CatalogId = &v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListPermissionsInput) SetMaxResults(v int64) *ListPermissionsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListPermissionsInput) SetNextToken(v string) *ListPermissionsInput { - s.NextToken = &v - return s -} - -// SetPrincipal sets the Principal field's value. -func (s *ListPermissionsInput) SetPrincipal(v *DataLakePrincipal) *ListPermissionsInput { - s.Principal = v - return s -} - -// SetResource sets the Resource field's value. -func (s *ListPermissionsInput) SetResource(v *Resource) *ListPermissionsInput { - s.Resource = v +// SetQueryPlanningContext sets the QueryPlanningContext field's value. +func (s *StartQueryPlanningInput) SetQueryPlanningContext(v *QueryPlanningContext) *StartQueryPlanningInput { + s.QueryPlanningContext = v return s } -// SetResourceType sets the ResourceType field's value. -func (s *ListPermissionsInput) SetResourceType(v string) *ListPermissionsInput { - s.ResourceType = &v +// SetQueryString sets the QueryString field's value. +func (s *StartQueryPlanningInput) SetQueryString(v string) *StartQueryPlanningInput { + s.QueryString = &v return s } -type ListPermissionsOutput struct { - _ struct{} `type:"structure"` - - // A continuation token, if this is not the first call to retrieve this list. - NextToken *string `type:"string"` - - // A list of principals and their permissions on the resource for the specified - // principal and resource types. - PrincipalResourcePermissions []*PrincipalResourcePermissions `type:"list"` +// A structure for the output. +type StartQueryPlanningOutput struct { + _ struct{} `type:"structure"` + + // The ID of the plan query operation can be used to fetch the actual work unit + // descriptors that are produced as the result of the operation. The ID is also + // used to get the query state and as an input to the Execute operation. + // + // QueryId is a required field + QueryId *string `type:"string" required:"true"` } // String returns the string representation. @@ -5261,7 +11400,7 @@ type ListPermissionsOutput 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 ListPermissionsOutput) String() string { +func (s StartQueryPlanningOutput) String() string { return awsutil.Prettify(s) } @@ -5270,34 +11409,23 @@ func (s ListPermissionsOutput) 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 ListPermissionsOutput) GoString() string { +func (s StartQueryPlanningOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListPermissionsOutput) SetNextToken(v string) *ListPermissionsOutput { - s.NextToken = &v - return s -} - -// SetPrincipalResourcePermissions sets the PrincipalResourcePermissions field's value. -func (s *ListPermissionsOutput) SetPrincipalResourcePermissions(v []*PrincipalResourcePermissions) *ListPermissionsOutput { - s.PrincipalResourcePermissions = v +// SetQueryId sets the QueryId field's value. +func (s *StartQueryPlanningOutput) SetQueryId(v string) *StartQueryPlanningOutput { + s.QueryId = &v return s } -type ListResourcesInput struct { +type StartTransactionInput struct { _ struct{} `type:"structure"` - // Any applicable row-level and/or column-level filtering conditions for the - // resources. - FilterConditionList []*FilterCondition `min:"1" type:"list"` - - // The maximum number of resource results. - MaxResults *int64 `min:"1" type:"integer"` - - // A continuation token, if this is not the first call to retrieve these resources. - NextToken *string `type:"string"` + // Indicates whether this transaction should be read only or read and write. + // Writes made using a read-only transaction ID will be rejected. Read-only + // transactions do not need to be committed. + TransactionType *string `type:"string" enum:"TransactionType"` } // String returns the string representation. @@ -5305,7 +11433,7 @@ type ListResourcesInput 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 ListResourcesInput) String() string { +func (s StartTransactionInput) String() string { return awsutil.Prettify(s) } @@ -5314,52 +11442,21 @@ func (s ListResourcesInput) 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 ListResourcesInput) GoString() string { +func (s StartTransactionInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListResourcesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListResourcesInput"} - if s.FilterConditionList != nil && len(s.FilterConditionList) < 1 { - invalidParams.Add(request.NewErrParamMinLen("FilterConditionList", 1)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetFilterConditionList sets the FilterConditionList field's value. -func (s *ListResourcesInput) SetFilterConditionList(v []*FilterCondition) *ListResourcesInput { - s.FilterConditionList = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *ListResourcesInput) SetMaxResults(v int64) *ListResourcesInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListResourcesInput) SetNextToken(v string) *ListResourcesInput { - s.NextToken = &v +// SetTransactionType sets the TransactionType field's value. +func (s *StartTransactionInput) SetTransactionType(v string) *StartTransactionInput { + s.TransactionType = &v return s } -type ListResourcesOutput struct { +type StartTransactionOutput struct { _ struct{} `type:"structure"` - // A continuation token, if this is not the first call to retrieve these resources. - NextToken *string `type:"string"` - - // A summary of the data lake resources. - ResourceInfoList []*ResourceInfo `type:"list"` + // An opaque identifier for the transaction. + TransactionId *string `min:"1" type:"string"` } // String returns the string representation. @@ -5367,7 +11464,7 @@ type ListResourcesOutput 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 ListResourcesOutput) String() string { +func (s StartTransactionOutput) String() string { return awsutil.Prettify(s) } @@ -5376,28 +11473,22 @@ func (s ListResourcesOutput) 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 ListResourcesOutput) GoString() string { +func (s StartTransactionOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListResourcesOutput) SetNextToken(v string) *ListResourcesOutput { - s.NextToken = &v - return s -} - -// SetResourceInfoList sets the ResourceInfoList field's value. -func (s *ListResourcesOutput) SetResourceInfoList(v []*ResourceInfo) *ListResourcesOutput { - s.ResourceInfoList = v +// SetTransactionId sets the TransactionId field's value. +func (s *StartTransactionOutput) SetTransactionId(v string) *StartTransactionOutput { + s.TransactionId = &v return s } -// The operation timed out. -type OperationTimeoutException struct { +// Contains details about an error related to statistics not being ready. +type StatisticsNotReadyYetException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // A message describing the problem. + // A message describing the error. Message_ *string `locationName:"Message" type:"string"` } @@ -5406,7 +11497,7 @@ type OperationTimeoutException 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 OperationTimeoutException) String() string { +func (s StatisticsNotReadyYetException) String() string { return awsutil.Prettify(s) } @@ -5415,23 +11506,23 @@ func (s OperationTimeoutException) 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 OperationTimeoutException) GoString() string { +func (s StatisticsNotReadyYetException) GoString() string { return s.String() } -func newErrorOperationTimeoutException(v protocol.ResponseMetadata) error { - return &OperationTimeoutException{ +func newErrorStatisticsNotReadyYetException(v protocol.ResponseMetadata) error { + return &StatisticsNotReadyYetException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *OperationTimeoutException) Code() string { - return "OperationTimeoutException" +func (s *StatisticsNotReadyYetException) Code() string { + return "StatisticsNotReadyYetException" } // Message returns the exception's message. -func (s *OperationTimeoutException) Message() string { +func (s *StatisticsNotReadyYetException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -5439,100 +11530,49 @@ func (s *OperationTimeoutException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *OperationTimeoutException) OrigErr() error { +func (s *StatisticsNotReadyYetException) OrigErr() error { return nil } -func (s *OperationTimeoutException) Error() string { +func (s *StatisticsNotReadyYetException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. -func (s *OperationTimeoutException) StatusCode() int { +func (s *StatisticsNotReadyYetException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *OperationTimeoutException) RequestID() string { +func (s *StatisticsNotReadyYetException) RequestID() string { return s.RespMetadata.RequestID } -// Permissions granted to a principal. -type PrincipalPermissions struct { - _ struct{} `type:"structure"` - - // The permissions that are granted to the principal. - Permissions []*string `type:"list"` - - // The principal who is granted permissions. - Principal *DataLakePrincipal `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 PrincipalPermissions) 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 PrincipalPermissions) GoString() string { - return s.String() -} - -// Validate inspects the fields of the type to determine if they are valid. -func (s *PrincipalPermissions) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PrincipalPermissions"} - if s.Principal != nil { - if err := s.Principal.Validate(); err != nil { - invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetPermissions sets the Permissions field's value. -func (s *PrincipalPermissions) SetPermissions(v []*string) *PrincipalPermissions { - s.Permissions = v - return s -} - -// SetPrincipal sets the Principal field's value. -func (s *PrincipalPermissions) SetPrincipal(v *DataLakePrincipal) *PrincipalPermissions { - s.Principal = v - return s -} - -// The permissions granted or revoked on a resource. -type PrincipalResourcePermissions struct { +// A structure describing the configuration and details of a storage optimizer. +type StorageOptimizer struct { _ struct{} `type:"structure"` - // This attribute can be used to return any additional details of PrincipalResourcePermissions. - // Currently returns only as a RAM resource share ARN. - AdditionalDetails *DetailsMap `type:"structure"` + // A map of the storage optimizer configuration. Currently contains only one + // key-value pair: is_enabled indicates true or false for acceleration. + Config map[string]*string `type:"map"` - // The permissions to be granted or revoked on the resource. - Permissions []*string `type:"list"` + // A message that contains information about any error (if present). + // + // When an acceleration result has an enabled status, the error message is empty. + // + // When an acceleration result has a disabled status, the message describes + // an error or simply indicates "disabled by the user". + ErrorMessage *string `type:"string"` - // Indicates whether to grant the ability to grant permissions (as a subset - // of permissions granted). - PermissionsWithGrantOption []*string `type:"list"` + // When an acceleration result has an enabled status, contains the details of + // the last job run. + LastRunDetails *string `type:"string"` - // The Data Lake principal to be granted or revoked permissions. - Principal *DataLakePrincipal `type:"structure"` + // The specific type of storage optimizer. The supported value is compaction. + StorageOptimizerType *string `type:"string" enum:"OptimizerType"` - // The resource where permissions are to be granted or revoked. - Resource *Resource `type:"structure"` + // A message that contains information about any warnings (if present). + Warnings *string `type:"string"` } // String returns the string representation. @@ -5540,7 +11580,7 @@ type PrincipalResourcePermissions 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 PrincipalResourcePermissions) String() string { +func (s StorageOptimizer) String() string { return awsutil.Prettify(s) } @@ -5549,54 +11589,53 @@ func (s PrincipalResourcePermissions) 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 PrincipalResourcePermissions) GoString() string { +func (s StorageOptimizer) GoString() string { return s.String() } -// SetAdditionalDetails sets the AdditionalDetails field's value. -func (s *PrincipalResourcePermissions) SetAdditionalDetails(v *DetailsMap) *PrincipalResourcePermissions { - s.AdditionalDetails = v +// SetConfig sets the Config field's value. +func (s *StorageOptimizer) SetConfig(v map[string]*string) *StorageOptimizer { + s.Config = v return s } -// SetPermissions sets the Permissions field's value. -func (s *PrincipalResourcePermissions) SetPermissions(v []*string) *PrincipalResourcePermissions { - s.Permissions = v +// SetErrorMessage sets the ErrorMessage field's value. +func (s *StorageOptimizer) SetErrorMessage(v string) *StorageOptimizer { + s.ErrorMessage = &v return s } -// SetPermissionsWithGrantOption sets the PermissionsWithGrantOption field's value. -func (s *PrincipalResourcePermissions) SetPermissionsWithGrantOption(v []*string) *PrincipalResourcePermissions { - s.PermissionsWithGrantOption = v +// SetLastRunDetails sets the LastRunDetails field's value. +func (s *StorageOptimizer) SetLastRunDetails(v string) *StorageOptimizer { + s.LastRunDetails = &v return s } -// SetPrincipal sets the Principal field's value. -func (s *PrincipalResourcePermissions) SetPrincipal(v *DataLakePrincipal) *PrincipalResourcePermissions { - s.Principal = v +// SetStorageOptimizerType sets the StorageOptimizerType field's value. +func (s *StorageOptimizer) SetStorageOptimizerType(v string) *StorageOptimizer { + s.StorageOptimizerType = &v return s } -// SetResource sets the Resource field's value. -func (s *PrincipalResourcePermissions) SetResource(v *Resource) *PrincipalResourcePermissions { - s.Resource = v +// SetWarnings sets the Warnings field's value. +func (s *StorageOptimizer) SetWarnings(v string) *StorageOptimizer { + s.Warnings = &v return s } -type PutDataLakeSettingsInput struct { +// Specifies the details of a governed table. +type TableObject struct { _ struct{} `type:"structure"` - // The identifier for the Data Catalog. By default, the account ID. The Data - // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. - CatalogId *string `min:"1" type:"string"` + // The Amazon S3 ETag of the object. Returned by GetTableObjects for validation + // and used to identify changes to the underlying data. + ETag *string `min:"1" type:"string"` - // A structure representing a list of AWS Lake Formation principals designated - // as data lake administrators. - // - // DataLakeSettings is a required field - DataLakeSettings *DataLakeSettings `type:"structure" required:"true"` + // The size of the Amazon S3 object in bytes. + Size *int64 `type:"long"` + + // The Amazon S3 location of the object. + Uri *string `min:"1" type:"string"` } // String returns the string representation. @@ -5604,7 +11643,7 @@ type PutDataLakeSettingsInput 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 PutDataLakeSettingsInput) String() string { +func (s TableObject) String() string { return awsutil.Prettify(s) } @@ -5613,82 +11652,51 @@ func (s PutDataLakeSettingsInput) 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 PutDataLakeSettingsInput) GoString() string { +func (s TableObject) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *PutDataLakeSettingsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PutDataLakeSettingsInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.DataLakeSettings == nil { - invalidParams.Add(request.NewErrParamRequired("DataLakeSettings")) - } - if s.DataLakeSettings != nil { - if err := s.DataLakeSettings.Validate(); err != nil { - invalidParams.AddNested("DataLakeSettings", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetETag sets the ETag field's value. +func (s *TableObject) SetETag(v string) *TableObject { + s.ETag = &v + return s } -// SetCatalogId sets the CatalogId field's value. -func (s *PutDataLakeSettingsInput) SetCatalogId(v string) *PutDataLakeSettingsInput { - s.CatalogId = &v +// SetSize sets the Size field's value. +func (s *TableObject) SetSize(v int64) *TableObject { + s.Size = &v return s } -// SetDataLakeSettings sets the DataLakeSettings field's value. -func (s *PutDataLakeSettingsInput) SetDataLakeSettings(v *DataLakeSettings) *PutDataLakeSettingsInput { - s.DataLakeSettings = v +// SetUri sets the Uri field's value. +func (s *TableObject) SetUri(v string) *TableObject { + s.Uri = &v return s } -type PutDataLakeSettingsOutput struct { +// A structure for the table object. A table is a metadata definition that represents +// your data. You can Grant and Revoke table privileges to a principal. +type TableResource 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 PutDataLakeSettingsOutput) 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 PutDataLakeSettingsOutput) GoString() string { - return s.String() -} -type RegisterResourceInput struct { - _ struct{} `type:"structure"` + // The identifier for the Data Catalog. By default, it is the account ID of + // the caller. + CatalogId *string `min:"1" type:"string"` - // The Amazon Resource Name (ARN) of the resource that you want to register. + // The name of the database for the table. Unique to a Data Catalog. A database + // is a set of associated table definitions organized into a logical group. + // You can Grant and Revoke database privileges to a principal. // - // ResourceArn is a required field - ResourceArn *string `type:"string" required:"true"` + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` - // The identifier for the role that registers the resource. - RoleArn *string `type:"string"` + // The name of the table. + Name *string `min:"1" type:"string"` - // Designates an AWS Identity and Access Management (IAM) service-linked role - // by registering this role with the Data Catalog. A service-linked role is - // a unique type of IAM role that is linked directly to Lake Formation. + // A wildcard object representing every table under a database. // - // For more information, see Using Service-Linked Roles for Lake Formation (https://docs-aws.amazon.com/lake-formation/latest/dg/service-linked-roles.html). - UseServiceLinkedRole *bool `type:"boolean"` + // At least one of TableResource$Name or TableResource$TableWildcard is required. + TableWildcard *TableWildcard `type:"structure"` } // String returns the string representation. @@ -5696,7 +11704,7 @@ type RegisterResourceInput 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 RegisterResourceInput) String() string { +func (s TableResource) String() string { return awsutil.Prettify(s) } @@ -5705,15 +11713,24 @@ func (s RegisterResourceInput) 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 RegisterResourceInput) GoString() string { +func (s TableResource) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *RegisterResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RegisterResourceInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) +func (s *TableResource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TableResource"} + if s.CatalogId != nil && len(*s.CatalogId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if invalidParams.Len() > 0 { @@ -5722,25 +11739,32 @@ func (s *RegisterResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *RegisterResourceInput) SetResourceArn(v string) *RegisterResourceInput { - s.ResourceArn = &v +// SetCatalogId sets the CatalogId field's value. +func (s *TableResource) SetCatalogId(v string) *TableResource { + s.CatalogId = &v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *RegisterResourceInput) SetRoleArn(v string) *RegisterResourceInput { - s.RoleArn = &v +// SetDatabaseName sets the DatabaseName field's value. +func (s *TableResource) SetDatabaseName(v string) *TableResource { + s.DatabaseName = &v return s } -// SetUseServiceLinkedRole sets the UseServiceLinkedRole field's value. -func (s *RegisterResourceInput) SetUseServiceLinkedRole(v bool) *RegisterResourceInput { - s.UseServiceLinkedRole = &v +// SetName sets the Name field's value. +func (s *TableResource) SetName(v string) *TableResource { + s.Name = &v return s } -type RegisterResourceOutput struct { +// SetTableWildcard sets the TableWildcard field's value. +func (s *TableResource) SetTableWildcard(v *TableWildcard) *TableResource { + s.TableWildcard = v + return s +} + +// A wildcard object representing every table under a database. +type TableWildcard struct { _ struct{} `type:"structure"` } @@ -5749,7 +11773,7 @@ type RegisterResourceOutput 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 RegisterResourceOutput) String() string { +func (s TableWildcard) String() string { return awsutil.Prettify(s) } @@ -5758,28 +11782,42 @@ func (s RegisterResourceOutput) 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 RegisterResourceOutput) GoString() string { +func (s TableWildcard) GoString() string { return s.String() } -type RemoveLFTagsFromResourceInput struct { +// A structure for a table with columns object. This object is only used when +// granting a SELECT permission. +// +// This object must take a value for at least one of ColumnsNames, ColumnsIndexes, +// or ColumnsWildcard. +type TableWithColumnsResource struct { _ struct{} `type:"structure"` - // The identifier for the Data Catalog. By default, the account ID. The Data - // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. + // The identifier for the Data Catalog. By default, it is the account ID of + // the caller. CatalogId *string `min:"1" type:"string"` - // The tags to be removed from the resource. + // The list of column names for the table. At least one of ColumnNames or ColumnWildcard + // is required. + ColumnNames []*string `type:"list"` + + // A wildcard specified by a ColumnWildcard object. At least one of ColumnNames + // or ColumnWildcard is required. + ColumnWildcard *ColumnWildcard `type:"structure"` + + // The name of the database for the table with columns resource. Unique to the + // Data Catalog. A database is a set of associated table definitions organized + // into a logical group. You can Grant and Revoke database privileges to a principal. // - // LFTags is a required field - LFTags []*LFTagPair `min:"1" type:"list" required:"true"` + // DatabaseName is a required field + DatabaseName *string `min:"1" type:"string" required:"true"` - // The resource where you want to remove a tag. + // The name of the table resource. A table is a metadata definition that represents + // your data. You can Grant and Revoke table privileges to a principal. // - // Resource is a required field - Resource *Resource `type:"structure" required:"true"` + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -5787,7 +11825,7 @@ type RemoveLFTagsFromResourceInput 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 RemoveLFTagsFromResourceInput) String() string { +func (s TableWithColumnsResource) String() string { return awsutil.Prettify(s) } @@ -5796,39 +11834,27 @@ func (s RemoveLFTagsFromResourceInput) 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 RemoveLFTagsFromResourceInput) GoString() string { +func (s TableWithColumnsResource) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *RemoveLFTagsFromResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RemoveLFTagsFromResourceInput"} +func (s *TableWithColumnsResource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TableWithColumnsResource"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.LFTags == nil { - invalidParams.Add(request.NewErrParamRequired("LFTags")) - } - if s.LFTags != nil && len(s.LFTags) < 1 { - invalidParams.Add(request.NewErrParamMinLen("LFTags", 1)) + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) } - if s.Resource == nil { - invalidParams.Add(request.NewErrParamRequired("Resource")) + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) } - if s.LFTags != nil { - for i, v := range s.LFTags { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "LFTags", i), err.(request.ErrInvalidParams)) - } - } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.Resource != nil { - if err := s.Resource.Validate(); err != nil { - invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) - } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if invalidParams.Len() > 0 { @@ -5838,28 +11864,44 @@ func (s *RemoveLFTagsFromResourceInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *RemoveLFTagsFromResourceInput) SetCatalogId(v string) *RemoveLFTagsFromResourceInput { +func (s *TableWithColumnsResource) SetCatalogId(v string) *TableWithColumnsResource { s.CatalogId = &v return s } -// SetLFTags sets the LFTags field's value. -func (s *RemoveLFTagsFromResourceInput) SetLFTags(v []*LFTagPair) *RemoveLFTagsFromResourceInput { - s.LFTags = v +// SetColumnNames sets the ColumnNames field's value. +func (s *TableWithColumnsResource) SetColumnNames(v []*string) *TableWithColumnsResource { + s.ColumnNames = v return s } -// SetResource sets the Resource field's value. -func (s *RemoveLFTagsFromResourceInput) SetResource(v *Resource) *RemoveLFTagsFromResourceInput { - s.Resource = v +// SetColumnWildcard sets the ColumnWildcard field's value. +func (s *TableWithColumnsResource) SetColumnWildcard(v *ColumnWildcard) *TableWithColumnsResource { + s.ColumnWildcard = v return s } -type RemoveLFTagsFromResourceOutput struct { +// SetDatabaseName sets the DatabaseName field's value. +func (s *TableWithColumnsResource) SetDatabaseName(v string) *TableWithColumnsResource { + s.DatabaseName = &v + return s +} + +// SetName sets the Name field's value. +func (s *TableWithColumnsResource) SetName(v string) *TableWithColumnsResource { + s.Name = &v + return s +} + +// A structure describing a database resource with LF-tags. +type TaggedDatabase struct { _ struct{} `type:"structure"` - // A list of failures to untag a resource. - Failures []*LFTagError `type:"list"` + // A database that has LF-tags attached to it. + Database *DatabaseResource `type:"structure"` + + // A list of LF-tags attached to the database. + LFTags []*LFTagPair `min:"1" type:"list"` } // String returns the string representation. @@ -5867,7 +11909,7 @@ type RemoveLFTagsFromResourceOutput 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 RemoveLFTagsFromResourceOutput) String() string { +func (s TaggedDatabase) String() string { return awsutil.Prettify(s) } @@ -5876,48 +11918,37 @@ func (s RemoveLFTagsFromResourceOutput) 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 RemoveLFTagsFromResourceOutput) GoString() string { +func (s TaggedDatabase) GoString() string { return s.String() } -// SetFailures sets the Failures field's value. -func (s *RemoveLFTagsFromResourceOutput) SetFailures(v []*LFTagError) *RemoveLFTagsFromResourceOutput { - s.Failures = v +// SetDatabase sets the Database field's value. +func (s *TaggedDatabase) SetDatabase(v *DatabaseResource) *TaggedDatabase { + s.Database = v return s } -// A structure for the resource. -type Resource struct { - _ struct{} `type:"structure"` - - // The identifier for the Data Catalog. By default, the account ID. The Data - // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. - Catalog *CatalogResource `type:"structure"` +// SetLFTags sets the LFTags field's value. +func (s *TaggedDatabase) SetLFTags(v []*LFTagPair) *TaggedDatabase { + s.LFTags = v + return s +} - // The location of an Amazon S3 path where permissions are granted or revoked. - DataLocation *DataLocationResource `type:"structure"` +// A structure describing a table resource with LF-tags. +type TaggedTable struct { + _ struct{} `type:"structure"` - // The database for the resource. Unique to the Data Catalog. A database is - // a set of associated table definitions organized into a logical group. You - // can Grant and Revoke database permissions to a principal. - Database *DatabaseResource `type:"structure"` + // A list of LF-tags attached to the database where the table resides. + LFTagOnDatabase []*LFTagPair `min:"1" type:"list"` - // The tag key and values attached to a resource. - LFTag *LFTagKeyResource `type:"structure"` + // A list of LF-tags attached to columns in the table. + LFTagsOnColumns []*ColumnLFTag `type:"list"` - // A list of tag conditions that define a resource's tag policy. - LFTagPolicy *LFTagPolicyResource `type:"structure"` + // A list of LF-tags attached to the table. + LFTagsOnTable []*LFTagPair `min:"1" type:"list"` - // The table for the resource. A table is a metadata definition that represents - // your data. You can Grant and Revoke table privileges to a principal. + // A table that has LF-tags attached to it. Table *TableResource `type:"structure"` - - // The table with columns for the resource. A principal with permissions to - // this resource can select metadata from the columns of a table in the Data - // Catalog and the underlying data in Amazon S3. - TableWithColumns *TableWithColumnsResource `type:"structure"` } // String returns the string representation. @@ -5925,7 +11956,7 @@ type Resource 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 Resource) String() string { +func (s TaggedTable) String() string { return awsutil.Prettify(s) } @@ -5934,104 +11965,106 @@ func (s Resource) 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 Resource) GoString() string { +func (s TaggedTable) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *Resource) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "Resource"} - if s.DataLocation != nil { - if err := s.DataLocation.Validate(); err != nil { - invalidParams.AddNested("DataLocation", err.(request.ErrInvalidParams)) - } - } - if s.Database != nil { - if err := s.Database.Validate(); err != nil { - invalidParams.AddNested("Database", err.(request.ErrInvalidParams)) - } - } - if s.LFTag != nil { - if err := s.LFTag.Validate(); err != nil { - invalidParams.AddNested("LFTag", err.(request.ErrInvalidParams)) - } - } - if s.LFTagPolicy != nil { - if err := s.LFTagPolicy.Validate(); err != nil { - invalidParams.AddNested("LFTagPolicy", err.(request.ErrInvalidParams)) - } - } - if s.Table != nil { - if err := s.Table.Validate(); err != nil { - invalidParams.AddNested("Table", err.(request.ErrInvalidParams)) - } - } - if s.TableWithColumns != nil { - if err := s.TableWithColumns.Validate(); err != nil { - invalidParams.AddNested("TableWithColumns", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetLFTagOnDatabase sets the LFTagOnDatabase field's value. +func (s *TaggedTable) SetLFTagOnDatabase(v []*LFTagPair) *TaggedTable { + s.LFTagOnDatabase = v + return s } -// SetCatalog sets the Catalog field's value. -func (s *Resource) SetCatalog(v *CatalogResource) *Resource { - s.Catalog = v +// SetLFTagsOnColumns sets the LFTagsOnColumns field's value. +func (s *TaggedTable) SetLFTagsOnColumns(v []*ColumnLFTag) *TaggedTable { + s.LFTagsOnColumns = v return s } -// SetDataLocation sets the DataLocation field's value. -func (s *Resource) SetDataLocation(v *DataLocationResource) *Resource { - s.DataLocation = v +// SetLFTagsOnTable sets the LFTagsOnTable field's value. +func (s *TaggedTable) SetLFTagsOnTable(v []*LFTagPair) *TaggedTable { + s.LFTagsOnTable = v return s } -// SetDatabase sets the Database field's value. -func (s *Resource) SetDatabase(v *DatabaseResource) *Resource { - s.Database = v +// SetTable sets the Table field's value. +func (s *TaggedTable) SetTable(v *TableResource) *TaggedTable { + s.Table = v return s } -// SetLFTag sets the LFTag field's value. -func (s *Resource) SetLFTag(v *LFTagKeyResource) *Resource { - s.LFTag = v - return s +// Contains details about an error where the query request was throttled. +type ThrottledException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A message describing the error. + Message_ *string `locationName:"Message" type:"string"` } -// SetLFTagPolicy sets the LFTagPolicy field's value. -func (s *Resource) SetLFTagPolicy(v *LFTagPolicyResource) *Resource { - s.LFTagPolicy = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottledException) String() string { + return awsutil.Prettify(s) } -// SetTable sets the Table field's value. -func (s *Resource) SetTable(v *TableResource) *Resource { - s.Table = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottledException) GoString() string { + return s.String() } -// SetTableWithColumns sets the TableWithColumns field's value. -func (s *Resource) SetTableWithColumns(v *TableWithColumnsResource) *Resource { - s.TableWithColumns = v - return s +func newErrorThrottledException(v protocol.ResponseMetadata) error { + return &ThrottledException{ + RespMetadata: v, + } } -// A structure containing information about an AWS Lake Formation resource. -type ResourceInfo struct { - _ struct{} `type:"structure"` +// Code returns the exception type name. +func (s *ThrottledException) Code() string { + return "ThrottledException" +} - // The date and time the resource was last modified. - LastModified *time.Time `type:"timestamp"` +// Message returns the exception's message. +func (s *ThrottledException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} - // The Amazon Resource Name (ARN) of the resource. - ResourceArn *string `type:"string"` +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottledException) OrigErr() error { + return nil +} - // The IAM role that registered a resource. - RoleArn *string `type:"string"` +func (s *ThrottledException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ThrottledException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottledException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Contains details about an error related to a transaction that was cancelled. +type TransactionCanceledException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // A message describing the error. + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation. @@ -6039,7 +12072,7 @@ type ResourceInfo 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 ResourceInfo) String() string { +func (s TransactionCanceledException) String() string { return awsutil.Prettify(s) } @@ -6048,34 +12081,55 @@ func (s ResourceInfo) 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 ResourceInfo) GoString() string { +func (s TransactionCanceledException) GoString() string { return s.String() } -// SetLastModified sets the LastModified field's value. -func (s *ResourceInfo) SetLastModified(v time.Time) *ResourceInfo { - s.LastModified = &v - return s +func newErrorTransactionCanceledException(v protocol.ResponseMetadata) error { + return &TransactionCanceledException{ + RespMetadata: v, + } } -// SetResourceArn sets the ResourceArn field's value. -func (s *ResourceInfo) SetResourceArn(v string) *ResourceInfo { - s.ResourceArn = &v - return s +// Code returns the exception type name. +func (s *TransactionCanceledException) Code() string { + return "TransactionCanceledException" } -// SetRoleArn sets the RoleArn field's value. -func (s *ResourceInfo) SetRoleArn(v string) *ResourceInfo { - s.RoleArn = &v - return s +// Message returns the exception's message. +func (s *TransactionCanceledException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// A resource numerical limit was exceeded. -type ResourceNumberLimitExceededException struct { +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *TransactionCanceledException) OrigErr() error { + return nil +} + +func (s *TransactionCanceledException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *TransactionCanceledException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *TransactionCanceledException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Contains details about an error related to a transaction commit that was +// in progress. +type TransactionCommitInProgressException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // A message describing the problem. + // A message describing the error. Message_ *string `locationName:"Message" type:"string"` } @@ -6084,7 +12138,7 @@ type ResourceNumberLimitExceededException 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 ResourceNumberLimitExceededException) String() string { +func (s TransactionCommitInProgressException) String() string { return awsutil.Prettify(s) } @@ -6093,23 +12147,23 @@ func (s ResourceNumberLimitExceededException) 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 ResourceNumberLimitExceededException) GoString() string { +func (s TransactionCommitInProgressException) GoString() string { return s.String() } -func newErrorResourceNumberLimitExceededException(v protocol.ResponseMetadata) error { - return &ResourceNumberLimitExceededException{ +func newErrorTransactionCommitInProgressException(v protocol.ResponseMetadata) error { + return &TransactionCommitInProgressException{ RespMetadata: v, } } // Code returns the exception type name. -func (s *ResourceNumberLimitExceededException) Code() string { - return "ResourceNumberLimitExceededException" +func (s *TransactionCommitInProgressException) Code() string { + return "TransactionCommitInProgressException" } // Message returns the exception's message. -func (s *ResourceNumberLimitExceededException) Message() string { +func (s *TransactionCommitInProgressException) Message() string { if s.Message_ != nil { return *s.Message_ } @@ -6117,52 +12171,32 @@ func (s *ResourceNumberLimitExceededException) Message() string { } // OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceNumberLimitExceededException) OrigErr() error { +func (s *TransactionCommitInProgressException) OrigErr() error { return nil } -func (s *ResourceNumberLimitExceededException) Error() string { +func (s *TransactionCommitInProgressException) Error() string { return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } // Status code returns the HTTP status code for the request's response error. -func (s *ResourceNumberLimitExceededException) StatusCode() int { +func (s *TransactionCommitInProgressException) StatusCode() int { return s.RespMetadata.StatusCode } // RequestID returns the service's response RequestID for request. -func (s *ResourceNumberLimitExceededException) RequestID() string { +func (s *TransactionCommitInProgressException) RequestID() string { return s.RespMetadata.RequestID } -type RevokePermissionsInput struct { - _ struct{} `type:"structure"` - - // The identifier for the Data Catalog. By default, the account ID. The Data - // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. - CatalogId *string `min:"1" type:"string"` - - // The permissions revoked to the principal on the resource. For information - // about permissions, see Security and Access Control to Metadata and Data (https://docs-aws.amazon.com/lake-formation/latest/dg/security-data-access.html). - // - // Permissions is a required field - Permissions []*string `type:"list" required:"true"` - - // Indicates a list of permissions for which to revoke the grant option allowing - // the principal to pass permissions to other principals. - PermissionsWithGrantOption []*string `type:"list"` - - // The principal to be revoked permissions on the resource. - // - // Principal is a required field - Principal *DataLakePrincipal `type:"structure" required:"true"` +// Contains details about an error where the specified transaction has already +// been committed and cannot be used for UpdateTableObjects. +type TransactionCommittedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - // The resource to which permissions are to be revoked. - // - // Resource is a required field - Resource *Resource `type:"structure" required:"true"` + // A message describing the error. + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation. @@ -6170,7 +12204,7 @@ type RevokePermissionsInput 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 RevokePermissionsInput) String() string { +func (s TransactionCommittedException) String() string { return awsutil.Prettify(s) } @@ -6179,74 +12213,64 @@ func (s RevokePermissionsInput) 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 RevokePermissionsInput) GoString() string { +func (s TransactionCommittedException) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *RevokePermissionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "RevokePermissionsInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.Permissions == nil { - invalidParams.Add(request.NewErrParamRequired("Permissions")) - } - if s.Principal == nil { - invalidParams.Add(request.NewErrParamRequired("Principal")) - } - if s.Resource == nil { - invalidParams.Add(request.NewErrParamRequired("Resource")) - } - if s.Principal != nil { - if err := s.Principal.Validate(); err != nil { - invalidParams.AddNested("Principal", err.(request.ErrInvalidParams)) - } - } - if s.Resource != nil { - if err := s.Resource.Validate(); err != nil { - invalidParams.AddNested("Resource", err.(request.ErrInvalidParams)) - } +func newErrorTransactionCommittedException(v protocol.ResponseMetadata) error { + return &TransactionCommittedException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// Code returns the exception type name. +func (s *TransactionCommittedException) Code() string { + return "TransactionCommittedException" } -// SetCatalogId sets the CatalogId field's value. -func (s *RevokePermissionsInput) SetCatalogId(v string) *RevokePermissionsInput { - s.CatalogId = &v - return s +// Message returns the exception's message. +func (s *TransactionCommittedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" } -// SetPermissions sets the Permissions field's value. -func (s *RevokePermissionsInput) SetPermissions(v []*string) *RevokePermissionsInput { - s.Permissions = v - return s +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *TransactionCommittedException) OrigErr() error { + return nil } -// SetPermissionsWithGrantOption sets the PermissionsWithGrantOption field's value. -func (s *RevokePermissionsInput) SetPermissionsWithGrantOption(v []*string) *RevokePermissionsInput { - s.PermissionsWithGrantOption = v - return s +func (s *TransactionCommittedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) } -// SetPrincipal sets the Principal field's value. -func (s *RevokePermissionsInput) SetPrincipal(v *DataLakePrincipal) *RevokePermissionsInput { - s.Principal = v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *TransactionCommittedException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetResource sets the Resource field's value. -func (s *RevokePermissionsInput) SetResource(v *Resource) *RevokePermissionsInput { - s.Resource = v - return s +// RequestID returns the service's response RequestID for request. +func (s *TransactionCommittedException) RequestID() string { + return s.RespMetadata.RequestID } -type RevokePermissionsOutput struct { +// A structure that contains information about a transaction. +type TransactionDescription struct { _ struct{} `type:"structure"` + + // The time when the transaction committed or aborted, if it is not currently + // active. + TransactionEndTime *time.Time `type:"timestamp"` + + // The ID of the transaction. + TransactionId *string `min:"1" type:"string"` + + // The time when the transaction started. + TransactionStartTime *time.Time `type:"timestamp"` + + // A status of ACTIVE, COMMITTED, or ABORTED. + TransactionStatus *string `type:"string" enum:"TransactionStatus"` } // String returns the string representation. @@ -6254,7 +12278,7 @@ type RevokePermissionsOutput 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 RevokePermissionsOutput) String() string { +func (s TransactionDescription) String() string { return awsutil.Prettify(s) } @@ -6263,29 +12287,53 @@ func (s RevokePermissionsOutput) 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 RevokePermissionsOutput) GoString() string { +func (s TransactionDescription) GoString() string { return s.String() } -type SearchDatabasesByLFTagsInput struct { +// SetTransactionEndTime sets the TransactionEndTime field's value. +func (s *TransactionDescription) SetTransactionEndTime(v time.Time) *TransactionDescription { + s.TransactionEndTime = &v + return s +} + +// SetTransactionId sets the TransactionId field's value. +func (s *TransactionDescription) SetTransactionId(v string) *TransactionDescription { + s.TransactionId = &v + return s +} + +// SetTransactionStartTime sets the TransactionStartTime field's value. +func (s *TransactionDescription) SetTransactionStartTime(v time.Time) *TransactionDescription { + s.TransactionStartTime = &v + return s +} + +// SetTransactionStatus sets the TransactionStatus field's value. +func (s *TransactionDescription) SetTransactionStatus(v string) *TransactionDescription { + s.TransactionStatus = &v + return s +} + +type UpdateLFTagInput struct { _ struct{} `type:"structure"` // The identifier for the Data Catalog. By default, the account ID. The Data // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. + // table definitions, and other control information to manage your Lake Formation + // environment. CatalogId *string `min:"1" type:"string"` - // A list of conditions (LFTag structures) to search for in database resources. + // The key-name for the LF-tag for which to add or delete values. // - // Expression is a required field - Expression []*LFTag `min:"1" type:"list" required:"true"` + // TagKey is a required field + TagKey *string `min:"1" type:"string" required:"true"` - // The maximum number of results to return. - MaxResults *int64 `min:"1" type:"integer"` + // A list of LF-tag values to add from the LF-tag. + TagValuesToAdd []*string `min:"1" type:"list"` - // A continuation token, if this is not the first call to retrieve this list. - NextToken *string `type:"string"` + // A list of LF-tag values to delete from the LF-tag. + TagValuesToDelete []*string `min:"1" type:"list"` } // String returns the string representation. @@ -6293,7 +12341,7 @@ type SearchDatabasesByLFTagsInput 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 SearchDatabasesByLFTagsInput) String() string { +func (s UpdateLFTagInput) String() string { return awsutil.Prettify(s) } @@ -6302,34 +12350,27 @@ func (s SearchDatabasesByLFTagsInput) 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 SearchDatabasesByLFTagsInput) GoString() string { +func (s UpdateLFTagInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *SearchDatabasesByLFTagsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "SearchDatabasesByLFTagsInput"} +func (s *UpdateLFTagInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateLFTagInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } - if s.Expression == nil { - invalidParams.Add(request.NewErrParamRequired("Expression")) + if s.TagKey == nil { + invalidParams.Add(request.NewErrParamRequired("TagKey")) } - if s.Expression != nil && len(s.Expression) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Expression", 1)) + if s.TagKey != nil && len(*s.TagKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + if s.TagValuesToAdd != nil && len(s.TagValuesToAdd) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagValuesToAdd", 1)) } - if s.Expression != nil { - for i, v := range s.Expression { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Expression", i), err.(request.ErrInvalidParams)) - } - } + if s.TagValuesToDelete != nil && len(s.TagValuesToDelete) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagValuesToDelete", 1)) } if invalidParams.Len() > 0 { @@ -6339,37 +12380,31 @@ func (s *SearchDatabasesByLFTagsInput) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *SearchDatabasesByLFTagsInput) SetCatalogId(v string) *SearchDatabasesByLFTagsInput { +func (s *UpdateLFTagInput) SetCatalogId(v string) *UpdateLFTagInput { s.CatalogId = &v return s } -// SetExpression sets the Expression field's value. -func (s *SearchDatabasesByLFTagsInput) SetExpression(v []*LFTag) *SearchDatabasesByLFTagsInput { - s.Expression = v +// SetTagKey sets the TagKey field's value. +func (s *UpdateLFTagInput) SetTagKey(v string) *UpdateLFTagInput { + s.TagKey = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *SearchDatabasesByLFTagsInput) SetMaxResults(v int64) *SearchDatabasesByLFTagsInput { - s.MaxResults = &v +// SetTagValuesToAdd sets the TagValuesToAdd field's value. +func (s *UpdateLFTagInput) SetTagValuesToAdd(v []*string) *UpdateLFTagInput { + s.TagValuesToAdd = v return s } -// SetNextToken sets the NextToken field's value. -func (s *SearchDatabasesByLFTagsInput) SetNextToken(v string) *SearchDatabasesByLFTagsInput { - s.NextToken = &v +// SetTagValuesToDelete sets the TagValuesToDelete field's value. +func (s *UpdateLFTagInput) SetTagValuesToDelete(v []*string) *UpdateLFTagInput { + s.TagValuesToDelete = v return s } -type SearchDatabasesByLFTagsOutput struct { +type UpdateLFTagOutput struct { _ struct{} `type:"structure"` - - // A list of databases that meet the tag conditions. - DatabaseList []*TaggedDatabase `type:"list"` - - // A continuation token, present if the current list segment is not the last. - NextToken *string `type:"string"` } // String returns the string representation. @@ -6377,7 +12412,7 @@ type SearchDatabasesByLFTagsOutput 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 SearchDatabasesByLFTagsOutput) String() string { +func (s UpdateLFTagOutput) String() string { return awsutil.Prettify(s) } @@ -6386,41 +12421,22 @@ func (s SearchDatabasesByLFTagsOutput) 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 SearchDatabasesByLFTagsOutput) GoString() string { +func (s UpdateLFTagOutput) GoString() string { return s.String() } -// SetDatabaseList sets the DatabaseList field's value. -func (s *SearchDatabasesByLFTagsOutput) SetDatabaseList(v []*TaggedDatabase) *SearchDatabasesByLFTagsOutput { - s.DatabaseList = v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *SearchDatabasesByLFTagsOutput) SetNextToken(v string) *SearchDatabasesByLFTagsOutput { - s.NextToken = &v - return s -} - -type SearchTablesByLFTagsInput struct { +type UpdateResourceInput struct { _ struct{} `type:"structure"` - // The identifier for the Data Catalog. By default, the account ID. The Data - // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. - CatalogId *string `min:"1" type:"string"` - - // A list of conditions (LFTag structures) to search for in table resources. + // The resource ARN. // - // Expression is a required field - Expression []*LFTag `min:"1" type:"list" required:"true"` - - // The maximum number of results to return. - MaxResults *int64 `min:"1" type:"integer"` + // ResourceArn is a required field + ResourceArn *string `type:"string" required:"true"` - // A continuation token, if this is not the first call to retrieve this list. - NextToken *string `type:"string"` + // The new role to use for the given resource registered in Lake Formation. + // + // RoleArn is a required field + RoleArn *string `type:"string" required:"true"` } // String returns the string representation. @@ -6428,7 +12444,7 @@ type SearchTablesByLFTagsInput 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 SearchTablesByLFTagsInput) String() string { +func (s UpdateResourceInput) String() string { return awsutil.Prettify(s) } @@ -6437,34 +12453,18 @@ func (s SearchTablesByLFTagsInput) 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 SearchTablesByLFTagsInput) GoString() string { +func (s UpdateResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *SearchTablesByLFTagsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "SearchTablesByLFTagsInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.Expression == nil { - invalidParams.Add(request.NewErrParamRequired("Expression")) - } - if s.Expression != nil && len(s.Expression) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Expression", 1)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *UpdateResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) } - if s.Expression != nil { - for i, v := range s.Expression { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Expression", i), err.(request.ErrInvalidParams)) - } - } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) } if invalidParams.Len() > 0 { @@ -6473,38 +12473,20 @@ func (s *SearchTablesByLFTagsInput) Validate() error { return nil } -// SetCatalogId sets the CatalogId field's value. -func (s *SearchTablesByLFTagsInput) SetCatalogId(v string) *SearchTablesByLFTagsInput { - s.CatalogId = &v - return s -} - -// SetExpression sets the Expression field's value. -func (s *SearchTablesByLFTagsInput) SetExpression(v []*LFTag) *SearchTablesByLFTagsInput { - s.Expression = v - return s -} - -// SetMaxResults sets the MaxResults field's value. -func (s *SearchTablesByLFTagsInput) SetMaxResults(v int64) *SearchTablesByLFTagsInput { - s.MaxResults = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *UpdateResourceInput) SetResourceArn(v string) *UpdateResourceInput { + s.ResourceArn = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *SearchTablesByLFTagsInput) SetNextToken(v string) *SearchTablesByLFTagsInput { - s.NextToken = &v +// SetRoleArn sets the RoleArn field's value. +func (s *UpdateResourceInput) SetRoleArn(v string) *UpdateResourceInput { + s.RoleArn = &v return s } -type SearchTablesByLFTagsOutput struct { +type UpdateResourceOutput struct { _ struct{} `type:"structure"` - - // A continuation token, present if the current list segment is not the last. - NextToken *string `type:"string"` - - // A list of tables that meet the tag conditions. - TableList []*TaggedTable `type:"list"` } // String returns the string representation. @@ -6512,7 +12494,7 @@ type SearchTablesByLFTagsOutput 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 SearchTablesByLFTagsOutput) String() string { +func (s UpdateResourceOutput) String() string { return awsutil.Prettify(s) } @@ -6521,45 +12503,37 @@ func (s SearchTablesByLFTagsOutput) 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 SearchTablesByLFTagsOutput) GoString() string { +func (s UpdateResourceOutput) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *SearchTablesByLFTagsOutput) SetNextToken(v string) *SearchTablesByLFTagsOutput { - s.NextToken = &v - return s -} - -// SetTableList sets the TableList field's value. -func (s *SearchTablesByLFTagsOutput) SetTableList(v []*TaggedTable) *SearchTablesByLFTagsOutput { - s.TableList = v - return s -} - -// A structure for the table object. A table is a metadata definition that represents -// your data. You can Grant and Revoke table privileges to a principal. -type TableResource struct { +type UpdateTableObjectsInput struct { _ struct{} `type:"structure"` - // The identifier for the Data Catalog. By default, it is the account ID of - // the caller. + // The catalog containing the governed table to update. Defaults to the caller’s + // account ID. CatalogId *string `min:"1" type:"string"` - // The name of the database for the table. Unique to a Data Catalog. A database - // is a set of associated table definitions organized into a logical group. - // You can Grant and Revoke database privileges to a principal. + // The database containing the governed table to update. // // DatabaseName is a required field DatabaseName *string `min:"1" type:"string" required:"true"` - // The name of the table. - Name *string `min:"1" type:"string"` + // The governed table to update. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` - // A wildcard object representing every table under a database. + // The transaction at which to do the write. // - // At least one of TableResource$Name or TableResource$TableWildcard is required. - TableWildcard *TableWildcard `type:"structure"` + // TransactionId is a required field + TransactionId *string `min:"1" type:"string" required:"true"` + + // A list of WriteOperation objects that define an object to add to or delete + // from the manifest for a governed table. + // + // WriteOperations is a required field + WriteOperations []*WriteOperation `min:"1" type:"list" required:"true"` } // String returns the string representation. @@ -6567,7 +12541,7 @@ type TableResource 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 TableResource) String() string { +func (s UpdateTableObjectsInput) String() string { return awsutil.Prettify(s) } @@ -6576,13 +12550,13 @@ func (s TableResource) 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 TableResource) GoString() string { +func (s UpdateTableObjectsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *TableResource) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TableResource"} +func (s *UpdateTableObjectsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateTableObjectsInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } @@ -6592,8 +12566,33 @@ func (s *TableResource) Validate() error { if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + if s.TransactionId == nil { + invalidParams.Add(request.NewErrParamRequired("TransactionId")) + } + if s.TransactionId != nil && len(*s.TransactionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TransactionId", 1)) + } + if s.WriteOperations == nil { + invalidParams.Add(request.NewErrParamRequired("WriteOperations")) + } + if s.WriteOperations != nil && len(s.WriteOperations) < 1 { + invalidParams.Add(request.NewErrParamMinLen("WriteOperations", 1)) + } + if s.WriteOperations != nil { + for i, v := range s.WriteOperations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "WriteOperations", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -6603,31 +12602,36 @@ func (s *TableResource) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *TableResource) SetCatalogId(v string) *TableResource { +func (s *UpdateTableObjectsInput) SetCatalogId(v string) *UpdateTableObjectsInput { s.CatalogId = &v return s } // SetDatabaseName sets the DatabaseName field's value. -func (s *TableResource) SetDatabaseName(v string) *TableResource { +func (s *UpdateTableObjectsInput) SetDatabaseName(v string) *UpdateTableObjectsInput { s.DatabaseName = &v return s } -// SetName sets the Name field's value. -func (s *TableResource) SetName(v string) *TableResource { - s.Name = &v +// SetTableName sets the TableName field's value. +func (s *UpdateTableObjectsInput) SetTableName(v string) *UpdateTableObjectsInput { + s.TableName = &v return s } -// SetTableWildcard sets the TableWildcard field's value. -func (s *TableResource) SetTableWildcard(v *TableWildcard) *TableResource { - s.TableWildcard = v +// SetTransactionId sets the TransactionId field's value. +func (s *UpdateTableObjectsInput) SetTransactionId(v string) *UpdateTableObjectsInput { + s.TransactionId = &v return s } -// A wildcard object representing every table under a database. -type TableWildcard struct { +// SetWriteOperations sets the WriteOperations field's value. +func (s *UpdateTableObjectsInput) SetWriteOperations(v []*WriteOperation) *UpdateTableObjectsInput { + s.WriteOperations = v + return s +} + +type UpdateTableObjectsOutput struct { _ struct{} `type:"structure"` } @@ -6636,7 +12640,7 @@ type TableWildcard 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 TableWildcard) String() string { +func (s UpdateTableObjectsOutput) String() string { return awsutil.Prettify(s) } @@ -6645,42 +12649,30 @@ func (s TableWildcard) 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 TableWildcard) GoString() string { +func (s UpdateTableObjectsOutput) GoString() string { return s.String() } -// A structure for a table with columns object. This object is only used when -// granting a SELECT permission. -// -// This object must take a value for at least one of ColumnsNames, ColumnsIndexes, -// or ColumnsWildcard. -type TableWithColumnsResource struct { +type UpdateTableStorageOptimizerInput struct { _ struct{} `type:"structure"` - // The identifier for the Data Catalog. By default, it is the account ID of - // the caller. + // The Catalog ID of the table. CatalogId *string `min:"1" type:"string"` - // The list of column names for the table. At least one of ColumnNames or ColumnWildcard - // is required. - ColumnNames []*string `type:"list"` - - // A wildcard specified by a ColumnWildcard object. At least one of ColumnNames - // or ColumnWildcard is required. - ColumnWildcard *ColumnWildcard `type:"structure"` - - // The name of the database for the table with columns resource. Unique to the - // Data Catalog. A database is a set of associated table definitions organized - // into a logical group. You can Grant and Revoke database privileges to a principal. + // Name of the database where the table is present. // // DatabaseName is a required field DatabaseName *string `min:"1" type:"string" required:"true"` - // The name of the table resource. A table is a metadata definition that represents - // your data. You can Grant and Revoke table privileges to a principal. + // Name of the table for which to enable the storage optimizer. // - // Name is a required field - Name *string `min:"1" type:"string" required:"true"` + // StorageOptimizerConfig is a required field + StorageOptimizerConfig map[string]map[string]*string `type:"map" required:"true"` + + // Name of the table for which to enable the storage optimizer. + // + // TableName is a required field + TableName *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -6688,7 +12680,7 @@ type TableWithColumnsResource 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 TableWithColumnsResource) String() string { +func (s UpdateTableStorageOptimizerInput) String() string { return awsutil.Prettify(s) } @@ -6697,13 +12689,13 @@ func (s TableWithColumnsResource) 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 TableWithColumnsResource) GoString() string { +func (s UpdateTableStorageOptimizerInput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *TableWithColumnsResource) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "TableWithColumnsResource"} +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateTableStorageOptimizerInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateTableStorageOptimizerInput"} if s.CatalogId != nil && len(*s.CatalogId) < 1 { invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) } @@ -6713,11 +12705,14 @@ func (s *TableWithColumnsResource) Validate() error { if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) + if s.StorageOptimizerConfig == nil { + invalidParams.Add(request.NewErrParamRequired("StorageOptimizerConfig")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) } if invalidParams.Len() > 0 { @@ -6727,44 +12722,34 @@ func (s *TableWithColumnsResource) Validate() error { } // SetCatalogId sets the CatalogId field's value. -func (s *TableWithColumnsResource) SetCatalogId(v string) *TableWithColumnsResource { +func (s *UpdateTableStorageOptimizerInput) SetCatalogId(v string) *UpdateTableStorageOptimizerInput { s.CatalogId = &v return s } -// SetColumnNames sets the ColumnNames field's value. -func (s *TableWithColumnsResource) SetColumnNames(v []*string) *TableWithColumnsResource { - s.ColumnNames = v - return s -} - -// SetColumnWildcard sets the ColumnWildcard field's value. -func (s *TableWithColumnsResource) SetColumnWildcard(v *ColumnWildcard) *TableWithColumnsResource { - s.ColumnWildcard = v +// SetDatabaseName sets the DatabaseName field's value. +func (s *UpdateTableStorageOptimizerInput) SetDatabaseName(v string) *UpdateTableStorageOptimizerInput { + s.DatabaseName = &v return s } -// SetDatabaseName sets the DatabaseName field's value. -func (s *TableWithColumnsResource) SetDatabaseName(v string) *TableWithColumnsResource { - s.DatabaseName = &v +// SetStorageOptimizerConfig sets the StorageOptimizerConfig field's value. +func (s *UpdateTableStorageOptimizerInput) SetStorageOptimizerConfig(v map[string]map[string]*string) *UpdateTableStorageOptimizerInput { + s.StorageOptimizerConfig = v return s } -// SetName sets the Name field's value. -func (s *TableWithColumnsResource) SetName(v string) *TableWithColumnsResource { - s.Name = &v +// SetTableName sets the TableName field's value. +func (s *UpdateTableStorageOptimizerInput) SetTableName(v string) *UpdateTableStorageOptimizerInput { + s.TableName = &v return s } -// A structure describing a database resource with tags. -type TaggedDatabase struct { +type UpdateTableStorageOptimizerOutput struct { _ struct{} `type:"structure"` - // A database that has tags attached to it. - Database *DatabaseResource `type:"structure"` - - // A list of tags attached to the database. - LFTags []*LFTagPair `min:"1" type:"list"` + // A response indicating the success of failure of the operation. + Result *string `type:"string"` } // String returns the string representation. @@ -6772,7 +12757,7 @@ type TaggedDatabase 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 TaggedDatabase) String() string { +func (s UpdateTableStorageOptimizerOutput) String() string { return awsutil.Prettify(s) } @@ -6781,37 +12766,28 @@ func (s TaggedDatabase) 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 TaggedDatabase) GoString() string { +func (s UpdateTableStorageOptimizerOutput) GoString() string { return s.String() } -// SetDatabase sets the Database field's value. -func (s *TaggedDatabase) SetDatabase(v *DatabaseResource) *TaggedDatabase { - s.Database = v - return s -} - -// SetLFTags sets the LFTags field's value. -func (s *TaggedDatabase) SetLFTags(v []*LFTagPair) *TaggedDatabase { - s.LFTags = v +// SetResult sets the Result field's value. +func (s *UpdateTableStorageOptimizerOutput) SetResult(v string) *UpdateTableStorageOptimizerOutput { + s.Result = &v return s } -// A structure describing a table resource with tags. -type TaggedTable struct { +// An object that defines an Amazon S3 object to be deleted if a transaction +// cancels, provided that VirtualPut was called before writing the object. +type VirtualObject struct { _ struct{} `type:"structure"` - // A list of tags attached to the database where the table resides. - LFTagOnDatabase []*LFTagPair `min:"1" type:"list"` - - // A list of tags attached to columns in the table. - LFTagsOnColumns []*ColumnLFTag `type:"list"` - - // A list of tags attached to the table. - LFTagsOnTable []*LFTagPair `min:"1" type:"list"` + // The ETag of the Amazon S3 object. + ETag *string `min:"1" type:"string"` - // A table that has tags attached to it. - Table *TableResource `type:"structure"` + // The path to the Amazon S3 object. Must start with s3:// + // + // Uri is a required field + Uri *string `min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -6819,7 +12795,7 @@ type TaggedTable 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 TaggedTable) String() string { +func (s VirtualObject) String() string { return awsutil.Prettify(s) } @@ -6828,53 +12804,59 @@ func (s TaggedTable) 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 TaggedTable) GoString() string { +func (s VirtualObject) GoString() string { return s.String() } -// SetLFTagOnDatabase sets the LFTagOnDatabase field's value. -func (s *TaggedTable) SetLFTagOnDatabase(v []*LFTagPair) *TaggedTable { - s.LFTagOnDatabase = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *VirtualObject) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "VirtualObject"} + if s.ETag != nil && len(*s.ETag) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ETag", 1)) + } + if s.Uri == nil { + invalidParams.Add(request.NewErrParamRequired("Uri")) + } + if s.Uri != nil && len(*s.Uri) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Uri", 1)) + } -// SetLFTagsOnColumns sets the LFTagsOnColumns field's value. -func (s *TaggedTable) SetLFTagsOnColumns(v []*ColumnLFTag) *TaggedTable { - s.LFTagsOnColumns = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetLFTagsOnTable sets the LFTagsOnTable field's value. -func (s *TaggedTable) SetLFTagsOnTable(v []*LFTagPair) *TaggedTable { - s.LFTagsOnTable = v +// SetETag sets the ETag field's value. +func (s *VirtualObject) SetETag(v string) *VirtualObject { + s.ETag = &v return s } -// SetTable sets the Table field's value. -func (s *TaggedTable) SetTable(v *TableResource) *TaggedTable { - s.Table = v +// SetUri sets the Uri field's value. +func (s *VirtualObject) SetUri(v string) *VirtualObject { + s.Uri = &v return s } -type UpdateLFTagInput struct { +// Defines the valid range of work unit IDs for querying the execution service. +type WorkUnitRange struct { _ struct{} `type:"structure"` - // The identifier for the Data Catalog. By default, the account ID. The Data - // Catalog is the persistent metadata store. It contains database definitions, - // table definitions, and other control information to manage your AWS Lake - // Formation environment. - CatalogId *string `min:"1" type:"string"` - - // The key-name for the tag for which to add or delete values. + // Defines the maximum work unit ID in the range. The maximum value is inclusive. // - // TagKey is a required field - TagKey *string `min:"1" type:"string" required:"true"` + // WorkUnitIdMax is a required field + WorkUnitIdMax *int64 `type:"long" required:"true"` - // A list of tag values to add from the tag. - TagValuesToAdd []*string `min:"1" type:"list"` + // Defines the minimum work unit ID in the range. + // + // WorkUnitIdMin is a required field + WorkUnitIdMin *int64 `type:"long" required:"true"` - // A list of tag values to delete from the tag. - TagValuesToDelete []*string `min:"1" type:"list"` + // A work token used to query the execution service. + // + // WorkUnitToken is a required field + WorkUnitToken *string `type:"string" required:"true"` } // String returns the string representation. @@ -6882,7 +12864,7 @@ type UpdateLFTagInput 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 UpdateLFTagInput) String() string { +func (s WorkUnitRange) String() string { return awsutil.Prettify(s) } @@ -6891,61 +12873,35 @@ func (s UpdateLFTagInput) 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 UpdateLFTagInput) GoString() string { +func (s WorkUnitRange) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateLFTagInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateLFTagInput"} - if s.CatalogId != nil && len(*s.CatalogId) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CatalogId", 1)) - } - if s.TagKey == nil { - invalidParams.Add(request.NewErrParamRequired("TagKey")) - } - if s.TagKey != nil && len(*s.TagKey) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagKey", 1)) - } - if s.TagValuesToAdd != nil && len(s.TagValuesToAdd) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagValuesToAdd", 1)) - } - if s.TagValuesToDelete != nil && len(s.TagValuesToDelete) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagValuesToDelete", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetCatalogId sets the CatalogId field's value. -func (s *UpdateLFTagInput) SetCatalogId(v string) *UpdateLFTagInput { - s.CatalogId = &v +// SetWorkUnitIdMax sets the WorkUnitIdMax field's value. +func (s *WorkUnitRange) SetWorkUnitIdMax(v int64) *WorkUnitRange { + s.WorkUnitIdMax = &v return s } -// SetTagKey sets the TagKey field's value. -func (s *UpdateLFTagInput) SetTagKey(v string) *UpdateLFTagInput { - s.TagKey = &v +// SetWorkUnitIdMin sets the WorkUnitIdMin field's value. +func (s *WorkUnitRange) SetWorkUnitIdMin(v int64) *WorkUnitRange { + s.WorkUnitIdMin = &v return s } -// SetTagValuesToAdd sets the TagValuesToAdd field's value. -func (s *UpdateLFTagInput) SetTagValuesToAdd(v []*string) *UpdateLFTagInput { - s.TagValuesToAdd = v +// SetWorkUnitToken sets the WorkUnitToken field's value. +func (s *WorkUnitRange) SetWorkUnitToken(v string) *WorkUnitRange { + s.WorkUnitToken = &v return s } -// SetTagValuesToDelete sets the TagValuesToDelete field's value. -func (s *UpdateLFTagInput) SetTagValuesToDelete(v []*string) *UpdateLFTagInput { - s.TagValuesToDelete = v - return s -} +// Contains details about an error related to work units not being ready. +type WorkUnitsNotReadyYetException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` -type UpdateLFTagOutput struct { - _ struct{} `type:"structure"` + // A message describing the error. + Message_ *string `locationName:"Message" type:"string"` } // String returns the string representation. @@ -6953,7 +12909,7 @@ type UpdateLFTagOutput 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 UpdateLFTagOutput) String() string { +func (s WorkUnitsNotReadyYetException) String() string { return awsutil.Prettify(s) } @@ -6962,22 +12918,57 @@ func (s UpdateLFTagOutput) 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 UpdateLFTagOutput) GoString() string { +func (s WorkUnitsNotReadyYetException) GoString() string { return s.String() } -type UpdateResourceInput struct { +func newErrorWorkUnitsNotReadyYetException(v protocol.ResponseMetadata) error { + return &WorkUnitsNotReadyYetException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *WorkUnitsNotReadyYetException) Code() string { + return "WorkUnitsNotReadyYetException" +} + +// Message returns the exception's message. +func (s *WorkUnitsNotReadyYetException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *WorkUnitsNotReadyYetException) OrigErr() error { + return nil +} + +func (s *WorkUnitsNotReadyYetException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *WorkUnitsNotReadyYetException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *WorkUnitsNotReadyYetException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Defines an object to add to or delete from a governed table. +type WriteOperation struct { _ struct{} `type:"structure"` - // The resource ARN. - // - // ResourceArn is a required field - ResourceArn *string `type:"string" required:"true"` + // A new object to add to the governed table. + AddObject *AddObjectInput_ `type:"structure"` - // The new role to use for the given resource registered in AWS Lake Formation. - // - // RoleArn is a required field - RoleArn *string `type:"string" required:"true"` + // An object to delete from the governed table. + DeleteObject *DeleteObjectInput_ `type:"structure"` } // String returns the string representation. @@ -6985,7 +12976,7 @@ type UpdateResourceInput 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 UpdateResourceInput) String() string { +func (s WriteOperation) String() string { return awsutil.Prettify(s) } @@ -6994,18 +12985,22 @@ func (s UpdateResourceInput) 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 UpdateResourceInput) GoString() string { +func (s WriteOperation) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateResourceInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateResourceInput"} - if s.ResourceArn == nil { - invalidParams.Add(request.NewErrParamRequired("ResourceArn")) +func (s *WriteOperation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "WriteOperation"} + if s.AddObject != nil { + if err := s.AddObject.Validate(); err != nil { + invalidParams.AddNested("AddObject", err.(request.ErrInvalidParams)) + } } - if s.RoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("RoleArn")) + if s.DeleteObject != nil { + if err := s.DeleteObject.Validate(); err != nil { + invalidParams.AddNested("DeleteObject", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -7014,40 +13009,18 @@ func (s *UpdateResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *UpdateResourceInput) SetResourceArn(v string) *UpdateResourceInput { - s.ResourceArn = &v +// SetAddObject sets the AddObject field's value. +func (s *WriteOperation) SetAddObject(v *AddObjectInput_) *WriteOperation { + s.AddObject = v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *UpdateResourceInput) SetRoleArn(v string) *UpdateResourceInput { - s.RoleArn = &v +// SetDeleteObject sets the DeleteObject field's value. +func (s *WriteOperation) SetDeleteObject(v *DeleteObjectInput_) *WriteOperation { + s.DeleteObject = v return s } -type UpdateResourceOutput 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 UpdateResourceOutput) 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 UpdateResourceOutput) GoString() string { - return s.String() -} - const ( // ComparisonOperatorEq is a ComparisonOperator enum value ComparisonOperatorEq = "EQ" @@ -7160,6 +13133,26 @@ func FieldNameString_Values() []string { } } +const ( + // OptimizerTypeCompaction is a OptimizerType enum value + OptimizerTypeCompaction = "COMPACTION" + + // OptimizerTypeGarbageCollection is a OptimizerType enum value + OptimizerTypeGarbageCollection = "GARBAGE_COLLECTION" + + // OptimizerTypeAll is a OptimizerType enum value + OptimizerTypeAll = "ALL" +) + +// OptimizerType_Values returns all elements of the OptimizerType enum +func OptimizerType_Values() []string { + return []string{ + OptimizerTypeCompaction, + OptimizerTypeGarbageCollection, + OptimizerTypeAll, + } +} + const ( // PermissionAll is a Permission enum value PermissionAll = "ALL" @@ -7228,6 +13221,34 @@ func Permission_Values() []string { } } +const ( + // QueryStateStringPending is a QueryStateString enum value + QueryStateStringPending = "PENDING" + + // QueryStateStringWorkunitsAvailable is a QueryStateString enum value + QueryStateStringWorkunitsAvailable = "WORKUNITS_AVAILABLE" + + // QueryStateStringError is a QueryStateString enum value + QueryStateStringError = "ERROR" + + // QueryStateStringFinished is a QueryStateString enum value + QueryStateStringFinished = "FINISHED" + + // QueryStateStringExpired is a QueryStateString enum value + QueryStateStringExpired = "EXPIRED" +) + +// QueryStateString_Values returns all elements of the QueryStateString enum +func QueryStateString_Values() []string { + return []string{ + QueryStateStringPending, + QueryStateStringWorkunitsAvailable, + QueryStateStringError, + QueryStateStringFinished, + QueryStateStringExpired, + } +} + const ( // ResourceShareTypeForeign is a ResourceShareType enum value ResourceShareTypeForeign = "FOREIGN" @@ -7259,3 +13280,71 @@ func ResourceType_Values() []string { ResourceTypeTable, } } + +const ( + // TransactionStatusActive is a TransactionStatus enum value + TransactionStatusActive = "ACTIVE" + + // TransactionStatusCommitted is a TransactionStatus enum value + TransactionStatusCommitted = "COMMITTED" + + // TransactionStatusAborted is a TransactionStatus enum value + TransactionStatusAborted = "ABORTED" + + // TransactionStatusCommitInProgress is a TransactionStatus enum value + TransactionStatusCommitInProgress = "COMMIT_IN_PROGRESS" +) + +// TransactionStatus_Values returns all elements of the TransactionStatus enum +func TransactionStatus_Values() []string { + return []string{ + TransactionStatusActive, + TransactionStatusCommitted, + TransactionStatusAborted, + TransactionStatusCommitInProgress, + } +} + +const ( + // TransactionStatusFilterAll is a TransactionStatusFilter enum value + TransactionStatusFilterAll = "ALL" + + // TransactionStatusFilterCompleted is a TransactionStatusFilter enum value + TransactionStatusFilterCompleted = "COMPLETED" + + // TransactionStatusFilterActive is a TransactionStatusFilter enum value + TransactionStatusFilterActive = "ACTIVE" + + // TransactionStatusFilterCommitted is a TransactionStatusFilter enum value + TransactionStatusFilterCommitted = "COMMITTED" + + // TransactionStatusFilterAborted is a TransactionStatusFilter enum value + TransactionStatusFilterAborted = "ABORTED" +) + +// TransactionStatusFilter_Values returns all elements of the TransactionStatusFilter enum +func TransactionStatusFilter_Values() []string { + return []string{ + TransactionStatusFilterAll, + TransactionStatusFilterCompleted, + TransactionStatusFilterActive, + TransactionStatusFilterCommitted, + TransactionStatusFilterAborted, + } +} + +const ( + // TransactionTypeReadAndWrite is a TransactionType enum value + TransactionTypeReadAndWrite = "READ_AND_WRITE" + + // TransactionTypeReadOnly is a TransactionType enum value + TransactionTypeReadOnly = "READ_ONLY" +) + +// TransactionType_Values returns all elements of the TransactionType enum +func TransactionType_Values() []string { + return []string{ + TransactionTypeReadAndWrite, + TransactionTypeReadOnly, + } +} diff --git a/service/lakeformation/doc.go b/service/lakeformation/doc.go index a0c8dcf9993..5fa201d43ca 100644 --- a/service/lakeformation/doc.go +++ b/service/lakeformation/doc.go @@ -3,7 +3,7 @@ // Package lakeformation provides the client and types for making API // requests to AWS Lake Formation. // -// Defines the public endpoint for the AWS Lake Formation service. +// Defines the public endpoint for the Lake Formation service. // // See https://docs.aws.amazon.com/goto/WebAPI/lakeformation-2017-03-31 for more information on this service. // diff --git a/service/lakeformation/errors.go b/service/lakeformation/errors.go index 34721650b18..f7e2cd33640 100644 --- a/service/lakeformation/errors.go +++ b/service/lakeformation/errors.go @@ -32,6 +32,12 @@ const ( // A specified entity does not exist ErrCodeEntityNotFoundException = "EntityNotFoundException" + // ErrCodeExpiredException for service response error code + // "ExpiredException". + // + // Contains details about an error where the query request expired. + ErrCodeExpiredException = "ExpiredException" + // ErrCodeGlueEncryptionException for service response error code // "GlueEncryptionException". // @@ -56,11 +62,56 @@ const ( // The operation timed out. ErrCodeOperationTimeoutException = "OperationTimeoutException" + // ErrCodeResourceNotReadyException for service response error code + // "ResourceNotReadyException". + // + // Contains details about an error related to a resource which is not ready + // for a transaction. + ErrCodeResourceNotReadyException = "ResourceNotReadyException" + // ErrCodeResourceNumberLimitExceededException for service response error code // "ResourceNumberLimitExceededException". // // A resource numerical limit was exceeded. ErrCodeResourceNumberLimitExceededException = "ResourceNumberLimitExceededException" + + // ErrCodeStatisticsNotReadyYetException for service response error code + // "StatisticsNotReadyYetException". + // + // Contains details about an error related to statistics not being ready. + ErrCodeStatisticsNotReadyYetException = "StatisticsNotReadyYetException" + + // ErrCodeThrottledException for service response error code + // "ThrottledException". + // + // Contains details about an error where the query request was throttled. + ErrCodeThrottledException = "ThrottledException" + + // ErrCodeTransactionCanceledException for service response error code + // "TransactionCanceledException". + // + // Contains details about an error related to a transaction that was cancelled. + ErrCodeTransactionCanceledException = "TransactionCanceledException" + + // ErrCodeTransactionCommitInProgressException for service response error code + // "TransactionCommitInProgressException". + // + // Contains details about an error related to a transaction commit that was + // in progress. + ErrCodeTransactionCommitInProgressException = "TransactionCommitInProgressException" + + // ErrCodeTransactionCommittedException for service response error code + // "TransactionCommittedException". + // + // Contains details about an error where the specified transaction has already + // been committed and cannot be used for UpdateTableObjects. + ErrCodeTransactionCommittedException = "TransactionCommittedException" + + // ErrCodeWorkUnitsNotReadyYetException for service response error code + // "WorkUnitsNotReadyYetException". + // + // Contains details about an error related to work units not being ready. + ErrCodeWorkUnitsNotReadyYetException = "WorkUnitsNotReadyYetException" ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ @@ -68,9 +119,17 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "AlreadyExistsException": newErrorAlreadyExistsException, "ConcurrentModificationException": newErrorConcurrentModificationException, "EntityNotFoundException": newErrorEntityNotFoundException, + "ExpiredException": newErrorExpiredException, "GlueEncryptionException": newErrorGlueEncryptionException, "InternalServiceException": newErrorInternalServiceException, "InvalidInputException": newErrorInvalidInputException, "OperationTimeoutException": newErrorOperationTimeoutException, + "ResourceNotReadyException": newErrorResourceNotReadyException, "ResourceNumberLimitExceededException": newErrorResourceNumberLimitExceededException, + "StatisticsNotReadyYetException": newErrorStatisticsNotReadyYetException, + "ThrottledException": newErrorThrottledException, + "TransactionCanceledException": newErrorTransactionCanceledException, + "TransactionCommitInProgressException": newErrorTransactionCommitInProgressException, + "TransactionCommittedException": newErrorTransactionCommittedException, + "WorkUnitsNotReadyYetException": newErrorWorkUnitsNotReadyYetException, } diff --git a/service/lakeformation/lakeformationiface/interface.go b/service/lakeformation/lakeformationiface/interface.go index 4027a45bead..26ea8ae22bb 100644 --- a/service/lakeformation/lakeformationiface/interface.go +++ b/service/lakeformation/lakeformationiface/interface.go @@ -72,14 +72,34 @@ type LakeFormationAPI interface { BatchRevokePermissionsWithContext(aws.Context, *lakeformation.BatchRevokePermissionsInput, ...request.Option) (*lakeformation.BatchRevokePermissionsOutput, error) BatchRevokePermissionsRequest(*lakeformation.BatchRevokePermissionsInput) (*request.Request, *lakeformation.BatchRevokePermissionsOutput) + CancelTransaction(*lakeformation.CancelTransactionInput) (*lakeformation.CancelTransactionOutput, error) + CancelTransactionWithContext(aws.Context, *lakeformation.CancelTransactionInput, ...request.Option) (*lakeformation.CancelTransactionOutput, error) + CancelTransactionRequest(*lakeformation.CancelTransactionInput) (*request.Request, *lakeformation.CancelTransactionOutput) + + CommitTransaction(*lakeformation.CommitTransactionInput) (*lakeformation.CommitTransactionOutput, error) + CommitTransactionWithContext(aws.Context, *lakeformation.CommitTransactionInput, ...request.Option) (*lakeformation.CommitTransactionOutput, error) + CommitTransactionRequest(*lakeformation.CommitTransactionInput) (*request.Request, *lakeformation.CommitTransactionOutput) + + CreateDataCellsFilter(*lakeformation.CreateDataCellsFilterInput) (*lakeformation.CreateDataCellsFilterOutput, error) + CreateDataCellsFilterWithContext(aws.Context, *lakeformation.CreateDataCellsFilterInput, ...request.Option) (*lakeformation.CreateDataCellsFilterOutput, error) + CreateDataCellsFilterRequest(*lakeformation.CreateDataCellsFilterInput) (*request.Request, *lakeformation.CreateDataCellsFilterOutput) + CreateLFTag(*lakeformation.CreateLFTagInput) (*lakeformation.CreateLFTagOutput, error) CreateLFTagWithContext(aws.Context, *lakeformation.CreateLFTagInput, ...request.Option) (*lakeformation.CreateLFTagOutput, error) CreateLFTagRequest(*lakeformation.CreateLFTagInput) (*request.Request, *lakeformation.CreateLFTagOutput) + DeleteDataCellsFilter(*lakeformation.DeleteDataCellsFilterInput) (*lakeformation.DeleteDataCellsFilterOutput, error) + DeleteDataCellsFilterWithContext(aws.Context, *lakeformation.DeleteDataCellsFilterInput, ...request.Option) (*lakeformation.DeleteDataCellsFilterOutput, error) + DeleteDataCellsFilterRequest(*lakeformation.DeleteDataCellsFilterInput) (*request.Request, *lakeformation.DeleteDataCellsFilterOutput) + DeleteLFTag(*lakeformation.DeleteLFTagInput) (*lakeformation.DeleteLFTagOutput, error) DeleteLFTagWithContext(aws.Context, *lakeformation.DeleteLFTagInput, ...request.Option) (*lakeformation.DeleteLFTagOutput, error) DeleteLFTagRequest(*lakeformation.DeleteLFTagInput) (*request.Request, *lakeformation.DeleteLFTagOutput) + DeleteObjectsOnCancel(*lakeformation.DeleteObjectsOnCancelInput) (*lakeformation.DeleteObjectsOnCancelOutput, error) + DeleteObjectsOnCancelWithContext(aws.Context, *lakeformation.DeleteObjectsOnCancelInput, ...request.Option) (*lakeformation.DeleteObjectsOnCancelOutput, error) + DeleteObjectsOnCancelRequest(*lakeformation.DeleteObjectsOnCancelInput) (*request.Request, *lakeformation.DeleteObjectsOnCancelOutput) + DeregisterResource(*lakeformation.DeregisterResourceInput) (*lakeformation.DeregisterResourceOutput, error) DeregisterResourceWithContext(aws.Context, *lakeformation.DeregisterResourceInput, ...request.Option) (*lakeformation.DeregisterResourceOutput, error) DeregisterResourceRequest(*lakeformation.DeregisterResourceInput) (*request.Request, *lakeformation.DeregisterResourceOutput) @@ -88,6 +108,14 @@ type LakeFormationAPI interface { DescribeResourceWithContext(aws.Context, *lakeformation.DescribeResourceInput, ...request.Option) (*lakeformation.DescribeResourceOutput, error) DescribeResourceRequest(*lakeformation.DescribeResourceInput) (*request.Request, *lakeformation.DescribeResourceOutput) + DescribeTransaction(*lakeformation.DescribeTransactionInput) (*lakeformation.DescribeTransactionOutput, error) + DescribeTransactionWithContext(aws.Context, *lakeformation.DescribeTransactionInput, ...request.Option) (*lakeformation.DescribeTransactionOutput, error) + DescribeTransactionRequest(*lakeformation.DescribeTransactionInput) (*request.Request, *lakeformation.DescribeTransactionOutput) + + ExtendTransaction(*lakeformation.ExtendTransactionInput) (*lakeformation.ExtendTransactionOutput, error) + ExtendTransactionWithContext(aws.Context, *lakeformation.ExtendTransactionInput, ...request.Option) (*lakeformation.ExtendTransactionOutput, error) + ExtendTransactionRequest(*lakeformation.ExtendTransactionInput) (*request.Request, *lakeformation.ExtendTransactionOutput) + GetDataLakeSettings(*lakeformation.GetDataLakeSettingsInput) (*lakeformation.GetDataLakeSettingsOutput, error) GetDataLakeSettingsWithContext(aws.Context, *lakeformation.GetDataLakeSettingsInput, ...request.Option) (*lakeformation.GetDataLakeSettingsOutput, error) GetDataLakeSettingsRequest(*lakeformation.GetDataLakeSettingsInput) (*request.Request, *lakeformation.GetDataLakeSettingsOutput) @@ -103,18 +131,54 @@ type LakeFormationAPI interface { GetLFTagWithContext(aws.Context, *lakeformation.GetLFTagInput, ...request.Option) (*lakeformation.GetLFTagOutput, error) GetLFTagRequest(*lakeformation.GetLFTagInput) (*request.Request, *lakeformation.GetLFTagOutput) + GetQueryState(*lakeformation.GetQueryStateInput) (*lakeformation.GetQueryStateOutput, error) + GetQueryStateWithContext(aws.Context, *lakeformation.GetQueryStateInput, ...request.Option) (*lakeformation.GetQueryStateOutput, error) + GetQueryStateRequest(*lakeformation.GetQueryStateInput) (*request.Request, *lakeformation.GetQueryStateOutput) + + GetQueryStatistics(*lakeformation.GetQueryStatisticsInput) (*lakeformation.GetQueryStatisticsOutput, error) + GetQueryStatisticsWithContext(aws.Context, *lakeformation.GetQueryStatisticsInput, ...request.Option) (*lakeformation.GetQueryStatisticsOutput, error) + GetQueryStatisticsRequest(*lakeformation.GetQueryStatisticsInput) (*request.Request, *lakeformation.GetQueryStatisticsOutput) + GetResourceLFTags(*lakeformation.GetResourceLFTagsInput) (*lakeformation.GetResourceLFTagsOutput, error) GetResourceLFTagsWithContext(aws.Context, *lakeformation.GetResourceLFTagsInput, ...request.Option) (*lakeformation.GetResourceLFTagsOutput, error) GetResourceLFTagsRequest(*lakeformation.GetResourceLFTagsInput) (*request.Request, *lakeformation.GetResourceLFTagsOutput) + GetTableObjects(*lakeformation.GetTableObjectsInput) (*lakeformation.GetTableObjectsOutput, error) + GetTableObjectsWithContext(aws.Context, *lakeformation.GetTableObjectsInput, ...request.Option) (*lakeformation.GetTableObjectsOutput, error) + GetTableObjectsRequest(*lakeformation.GetTableObjectsInput) (*request.Request, *lakeformation.GetTableObjectsOutput) + + GetTableObjectsPages(*lakeformation.GetTableObjectsInput, func(*lakeformation.GetTableObjectsOutput, bool) bool) error + GetTableObjectsPagesWithContext(aws.Context, *lakeformation.GetTableObjectsInput, func(*lakeformation.GetTableObjectsOutput, bool) bool, ...request.Option) error + + GetWorkUnitResults(*lakeformation.GetWorkUnitResultsInput) (*lakeformation.GetWorkUnitResultsOutput, error) + GetWorkUnitResultsWithContext(aws.Context, *lakeformation.GetWorkUnitResultsInput, ...request.Option) (*lakeformation.GetWorkUnitResultsOutput, error) + GetWorkUnitResultsRequest(*lakeformation.GetWorkUnitResultsInput) (*request.Request, *lakeformation.GetWorkUnitResultsOutput) + + GetWorkUnits(*lakeformation.GetWorkUnitsInput) (*lakeformation.GetWorkUnitsOutput, error) + GetWorkUnitsWithContext(aws.Context, *lakeformation.GetWorkUnitsInput, ...request.Option) (*lakeformation.GetWorkUnitsOutput, error) + GetWorkUnitsRequest(*lakeformation.GetWorkUnitsInput) (*request.Request, *lakeformation.GetWorkUnitsOutput) + + GetWorkUnitsPages(*lakeformation.GetWorkUnitsInput, func(*lakeformation.GetWorkUnitsOutput, bool) bool) error + GetWorkUnitsPagesWithContext(aws.Context, *lakeformation.GetWorkUnitsInput, func(*lakeformation.GetWorkUnitsOutput, bool) bool, ...request.Option) error + GrantPermissions(*lakeformation.GrantPermissionsInput) (*lakeformation.GrantPermissionsOutput, error) GrantPermissionsWithContext(aws.Context, *lakeformation.GrantPermissionsInput, ...request.Option) (*lakeformation.GrantPermissionsOutput, error) GrantPermissionsRequest(*lakeformation.GrantPermissionsInput) (*request.Request, *lakeformation.GrantPermissionsOutput) + ListDataCellsFilter(*lakeformation.ListDataCellsFilterInput) (*lakeformation.ListDataCellsFilterOutput, error) + ListDataCellsFilterWithContext(aws.Context, *lakeformation.ListDataCellsFilterInput, ...request.Option) (*lakeformation.ListDataCellsFilterOutput, error) + ListDataCellsFilterRequest(*lakeformation.ListDataCellsFilterInput) (*request.Request, *lakeformation.ListDataCellsFilterOutput) + + ListDataCellsFilterPages(*lakeformation.ListDataCellsFilterInput, func(*lakeformation.ListDataCellsFilterOutput, bool) bool) error + ListDataCellsFilterPagesWithContext(aws.Context, *lakeformation.ListDataCellsFilterInput, func(*lakeformation.ListDataCellsFilterOutput, bool) bool, ...request.Option) error + ListLFTags(*lakeformation.ListLFTagsInput) (*lakeformation.ListLFTagsOutput, error) ListLFTagsWithContext(aws.Context, *lakeformation.ListLFTagsInput, ...request.Option) (*lakeformation.ListLFTagsOutput, error) ListLFTagsRequest(*lakeformation.ListLFTagsInput) (*request.Request, *lakeformation.ListLFTagsOutput) + ListLFTagsPages(*lakeformation.ListLFTagsInput, func(*lakeformation.ListLFTagsOutput, bool) bool) error + ListLFTagsPagesWithContext(aws.Context, *lakeformation.ListLFTagsInput, func(*lakeformation.ListLFTagsOutput, bool) bool, ...request.Option) error + ListPermissions(*lakeformation.ListPermissionsInput) (*lakeformation.ListPermissionsOutput, error) ListPermissionsWithContext(aws.Context, *lakeformation.ListPermissionsInput, ...request.Option) (*lakeformation.ListPermissionsOutput, error) ListPermissionsRequest(*lakeformation.ListPermissionsInput) (*request.Request, *lakeformation.ListPermissionsOutput) @@ -129,6 +193,20 @@ type LakeFormationAPI interface { ListResourcesPages(*lakeformation.ListResourcesInput, func(*lakeformation.ListResourcesOutput, bool) bool) error ListResourcesPagesWithContext(aws.Context, *lakeformation.ListResourcesInput, func(*lakeformation.ListResourcesOutput, bool) bool, ...request.Option) error + ListTableStorageOptimizers(*lakeformation.ListTableStorageOptimizersInput) (*lakeformation.ListTableStorageOptimizersOutput, error) + ListTableStorageOptimizersWithContext(aws.Context, *lakeformation.ListTableStorageOptimizersInput, ...request.Option) (*lakeformation.ListTableStorageOptimizersOutput, error) + ListTableStorageOptimizersRequest(*lakeformation.ListTableStorageOptimizersInput) (*request.Request, *lakeformation.ListTableStorageOptimizersOutput) + + ListTableStorageOptimizersPages(*lakeformation.ListTableStorageOptimizersInput, func(*lakeformation.ListTableStorageOptimizersOutput, bool) bool) error + ListTableStorageOptimizersPagesWithContext(aws.Context, *lakeformation.ListTableStorageOptimizersInput, func(*lakeformation.ListTableStorageOptimizersOutput, bool) bool, ...request.Option) error + + ListTransactions(*lakeformation.ListTransactionsInput) (*lakeformation.ListTransactionsOutput, error) + ListTransactionsWithContext(aws.Context, *lakeformation.ListTransactionsInput, ...request.Option) (*lakeformation.ListTransactionsOutput, error) + ListTransactionsRequest(*lakeformation.ListTransactionsInput) (*request.Request, *lakeformation.ListTransactionsOutput) + + ListTransactionsPages(*lakeformation.ListTransactionsInput, func(*lakeformation.ListTransactionsOutput, bool) bool) error + ListTransactionsPagesWithContext(aws.Context, *lakeformation.ListTransactionsInput, func(*lakeformation.ListTransactionsOutput, bool) bool, ...request.Option) error + PutDataLakeSettings(*lakeformation.PutDataLakeSettingsInput) (*lakeformation.PutDataLakeSettingsOutput, error) PutDataLakeSettingsWithContext(aws.Context, *lakeformation.PutDataLakeSettingsInput, ...request.Option) (*lakeformation.PutDataLakeSettingsOutput, error) PutDataLakeSettingsRequest(*lakeformation.PutDataLakeSettingsInput) (*request.Request, *lakeformation.PutDataLakeSettingsOutput) @@ -149,10 +227,24 @@ type LakeFormationAPI interface { SearchDatabasesByLFTagsWithContext(aws.Context, *lakeformation.SearchDatabasesByLFTagsInput, ...request.Option) (*lakeformation.SearchDatabasesByLFTagsOutput, error) SearchDatabasesByLFTagsRequest(*lakeformation.SearchDatabasesByLFTagsInput) (*request.Request, *lakeformation.SearchDatabasesByLFTagsOutput) + SearchDatabasesByLFTagsPages(*lakeformation.SearchDatabasesByLFTagsInput, func(*lakeformation.SearchDatabasesByLFTagsOutput, bool) bool) error + SearchDatabasesByLFTagsPagesWithContext(aws.Context, *lakeformation.SearchDatabasesByLFTagsInput, func(*lakeformation.SearchDatabasesByLFTagsOutput, bool) bool, ...request.Option) error + SearchTablesByLFTags(*lakeformation.SearchTablesByLFTagsInput) (*lakeformation.SearchTablesByLFTagsOutput, error) SearchTablesByLFTagsWithContext(aws.Context, *lakeformation.SearchTablesByLFTagsInput, ...request.Option) (*lakeformation.SearchTablesByLFTagsOutput, error) SearchTablesByLFTagsRequest(*lakeformation.SearchTablesByLFTagsInput) (*request.Request, *lakeformation.SearchTablesByLFTagsOutput) + SearchTablesByLFTagsPages(*lakeformation.SearchTablesByLFTagsInput, func(*lakeformation.SearchTablesByLFTagsOutput, bool) bool) error + SearchTablesByLFTagsPagesWithContext(aws.Context, *lakeformation.SearchTablesByLFTagsInput, func(*lakeformation.SearchTablesByLFTagsOutput, bool) bool, ...request.Option) error + + StartQueryPlanning(*lakeformation.StartQueryPlanningInput) (*lakeformation.StartQueryPlanningOutput, error) + StartQueryPlanningWithContext(aws.Context, *lakeformation.StartQueryPlanningInput, ...request.Option) (*lakeformation.StartQueryPlanningOutput, error) + StartQueryPlanningRequest(*lakeformation.StartQueryPlanningInput) (*request.Request, *lakeformation.StartQueryPlanningOutput) + + StartTransaction(*lakeformation.StartTransactionInput) (*lakeformation.StartTransactionOutput, error) + StartTransactionWithContext(aws.Context, *lakeformation.StartTransactionInput, ...request.Option) (*lakeformation.StartTransactionOutput, error) + StartTransactionRequest(*lakeformation.StartTransactionInput) (*request.Request, *lakeformation.StartTransactionOutput) + UpdateLFTag(*lakeformation.UpdateLFTagInput) (*lakeformation.UpdateLFTagOutput, error) UpdateLFTagWithContext(aws.Context, *lakeformation.UpdateLFTagInput, ...request.Option) (*lakeformation.UpdateLFTagOutput, error) UpdateLFTagRequest(*lakeformation.UpdateLFTagInput) (*request.Request, *lakeformation.UpdateLFTagOutput) @@ -160,6 +252,14 @@ type LakeFormationAPI interface { UpdateResource(*lakeformation.UpdateResourceInput) (*lakeformation.UpdateResourceOutput, error) UpdateResourceWithContext(aws.Context, *lakeformation.UpdateResourceInput, ...request.Option) (*lakeformation.UpdateResourceOutput, error) UpdateResourceRequest(*lakeformation.UpdateResourceInput) (*request.Request, *lakeformation.UpdateResourceOutput) + + UpdateTableObjects(*lakeformation.UpdateTableObjectsInput) (*lakeformation.UpdateTableObjectsOutput, error) + UpdateTableObjectsWithContext(aws.Context, *lakeformation.UpdateTableObjectsInput, ...request.Option) (*lakeformation.UpdateTableObjectsOutput, error) + UpdateTableObjectsRequest(*lakeformation.UpdateTableObjectsInput) (*request.Request, *lakeformation.UpdateTableObjectsOutput) + + UpdateTableStorageOptimizer(*lakeformation.UpdateTableStorageOptimizerInput) (*lakeformation.UpdateTableStorageOptimizerOutput, error) + UpdateTableStorageOptimizerWithContext(aws.Context, *lakeformation.UpdateTableStorageOptimizerInput, ...request.Option) (*lakeformation.UpdateTableStorageOptimizerOutput, error) + UpdateTableStorageOptimizerRequest(*lakeformation.UpdateTableStorageOptimizerInput) (*request.Request, *lakeformation.UpdateTableStorageOptimizerOutput) } var _ LakeFormationAPI = (*lakeformation.LakeFormation)(nil) diff --git a/service/lakeformation/service.go b/service/lakeformation/service.go index 3a0ae1fa696..5f5000f4321 100644 --- a/service/lakeformation/service.go +++ b/service/lakeformation/service.go @@ -9,7 +9,7 @@ import ( "github.com/aws/aws-sdk-go/aws/request" "github.com/aws/aws-sdk-go/aws/signer/v4" "github.com/aws/aws-sdk-go/private/protocol" - "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" + "github.com/aws/aws-sdk-go/private/protocol/restjson" ) // LakeFormation provides the API operation methods for making requests to @@ -69,8 +69,6 @@ func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, Endpoint: endpoint, APIVersion: "2017-03-31", ResolvedRegion: resolvedRegion, - JSONVersion: "1.1", - TargetPrefix: "AWSLakeFormation", }, handlers, ), @@ -78,11 +76,11 @@ func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, // Handlers svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) - svc.Handlers.Build.PushBackNamed(jsonrpc.BuildHandler) - svc.Handlers.Unmarshal.PushBackNamed(jsonrpc.UnmarshalHandler) - svc.Handlers.UnmarshalMeta.PushBackNamed(jsonrpc.UnmarshalMetaHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) svc.Handlers.UnmarshalError.PushBackNamed( - protocol.NewUnmarshalErrorHandler(jsonrpc.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + protocol.NewUnmarshalErrorHandler(restjson.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), ) // Run custom client initialization if present diff --git a/service/outposts/api.go b/service/outposts/api.go index 71bb39dc752..3d9227e2650 100644 --- a/service/outposts/api.go +++ b/service/outposts/api.go @@ -2846,6 +2846,9 @@ type CreateOutpostInput struct { // SiteId is a required field SiteId *string `min:"1" type:"string" required:"true"` + // The type of hardware for this Outpost. + SupportedHardwareType *string `type:"string" enum:"SupportedHardwareType"` + // The tags to apply to the Outpost. Tags map[string]*string `min:"1" type:"map"` } @@ -2929,6 +2932,12 @@ func (s *CreateOutpostInput) SetSiteId(v string) *CreateOutpostInput { return s } +// SetSupportedHardwareType sets the SupportedHardwareType field's value. +func (s *CreateOutpostInput) SetSupportedHardwareType(v string) *CreateOutpostInput { + s.SupportedHardwareType = &v + return s +} + // SetTags sets the Tags field's value. func (s *CreateOutpostInput) SetTags(v map[string]*string) *CreateOutpostInput { s.Tags = v @@ -4954,6 +4963,9 @@ type Outpost struct { // The ID of the site. SiteId *string `min:"1" type:"string"` + // The hardware type. + SupportedHardwareType *string `type:"string" enum:"SupportedHardwareType"` + // The Outpost tags. Tags map[string]*string `min:"1" type:"map"` } @@ -5036,6 +5048,12 @@ func (s *Outpost) SetSiteId(v string) *Outpost { return s } +// SetSupportedHardwareType sets the SupportedHardwareType field's value. +func (s *Outpost) SetSupportedHardwareType(v string) *Outpost { + s.SupportedHardwareType = &v + return s +} + // SetTags sets the Tags field's value. func (s *Outpost) SetTags(v map[string]*string) *Outpost { s.Tags = v @@ -6416,6 +6434,22 @@ func ResourceType_Values() []string { } } +const ( + // SupportedHardwareTypeRack is a SupportedHardwareType enum value + SupportedHardwareTypeRack = "RACK" + + // SupportedHardwareTypeServer is a SupportedHardwareType enum value + SupportedHardwareTypeServer = "SERVER" +) + +// SupportedHardwareType_Values returns all elements of the SupportedHardwareType enum +func SupportedHardwareType_Values() []string { + return []string{ + SupportedHardwareTypeRack, + SupportedHardwareTypeServer, + } +} + const ( // SupportedStorageEnumEbs is a SupportedStorageEnum enum value SupportedStorageEnumEbs = "EBS" diff --git a/service/redshiftdataapiservice/api.go b/service/redshiftdataapiservice/api.go index eb32b095ea9..a959dd442d4 100644 --- a/service/redshiftdataapiservice/api.go +++ b/service/redshiftdataapiservice/api.go @@ -60,13 +60,16 @@ func (c *RedshiftDataAPIService) BatchExecuteStatementRequest(input *BatchExecut // (DML) or data definition language (DDL). Depending on the authorization method, // use one of the following combinations of request parameters: // -// * Secrets Manager - specify the Amazon Resource Name (ARN) of the secret, -// the database name, and the cluster identifier that matches the cluster -// in the secret. +// * Secrets Manager - when connecting to a cluster, specify the Amazon Resource +// Name (ARN) of the secret, the database name, and the cluster identifier +// that matches the cluster in the secret. When connecting to a serverless +// endpoint, specify the Amazon Resource Name (ARN) of the secret and the +// database name. // -// * Temporary credentials - specify the cluster identifier, the database -// name, and the database user name. Permission to call the redshift:GetClusterCredentials -// operation is required to use this method. +// * Temporary credentials - when connecting to a cluster, specify the cluster +// identifier, the database name, and the database user name. Also, permission +// to call the redshift:GetClusterCredentials operation is required. When +// connecting to a serverless endpoint, specify the database name. // // 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 @@ -170,6 +173,9 @@ func (c *RedshiftDataAPIService) CancelStatementRequest(input *CancelStatementIn // * InternalServerException // The Amazon Redshift Data API operation failed due to invalid input. // +// * DatabaseConnectionException +// Connection to a database failed. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-data-2019-12-20/CancelStatement func (c *RedshiftDataAPIService) CancelStatement(input *CancelStatementInput) (*CancelStatementOutput, error) { req, out := c.CancelStatementRequest(input) @@ -335,13 +341,16 @@ func (c *RedshiftDataAPIService) DescribeTableRequest(input *DescribeTableInput) // the column list. Depending on the authorization method, use one of the following // combinations of request parameters: // -// * Secrets Manager - specify the Amazon Resource Name (ARN) of the secret, -// the database name, and the cluster identifier that matches the cluster -// in the secret. +// * Secrets Manager - when connecting to a cluster, specify the Amazon Resource +// Name (ARN) of the secret, the database name, and the cluster identifier +// that matches the cluster in the secret. When connecting to a serverless +// endpoint, specify the Amazon Resource Name (ARN) of the secret and the +// database name. // -// * Temporary credentials - specify the cluster identifier, the database -// name, and the database user name. Permission to call the redshift:GetClusterCredentials -// operation is required to use this method. +// * Temporary credentials - when connecting to a cluster, specify the cluster +// identifier, the database name, and the database user name. Also, permission +// to call the redshift:GetClusterCredentials operation is required. When +// connecting to a serverless endpoint, specify the database name. // // 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 @@ -357,6 +366,9 @@ func (c *RedshiftDataAPIService) DescribeTableRequest(input *DescribeTableInput) // * InternalServerException // The Amazon Redshift Data API operation failed due to invalid input. // +// * DatabaseConnectionException +// Connection to a database failed. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-data-2019-12-20/DescribeTable func (c *RedshiftDataAPIService) DescribeTable(input *DescribeTableInput) (*DescribeTableOutput, error) { req, out := c.DescribeTableRequest(input) @@ -480,13 +492,16 @@ func (c *RedshiftDataAPIService) ExecuteStatementRequest(input *ExecuteStatement // Depending on the authorization method, use one of the following combinations // of request parameters: // -// * Secrets Manager - specify the Amazon Resource Name (ARN) of the secret, -// the database name, and the cluster identifier that matches the cluster -// in the secret. +// * Secrets Manager - when connecting to a cluster, specify the Amazon Resource +// Name (ARN) of the secret, the database name, and the cluster identifier +// that matches the cluster in the secret. When connecting to a serverless +// endpoint, specify the Amazon Resource Name (ARN) of the secret and the +// database name. // -// * Temporary credentials - specify the cluster identifier, the database -// name, and the database user name. Permission to call the redshift:GetClusterCredentials -// operation is required to use this method. +// * Temporary credentials - when connecting to a cluster, specify the cluster +// identifier, the database name, and the database user name. Also, permission +// to call the redshift:GetClusterCredentials operation is required. When +// connecting to a serverless endpoint, specify the database name. // // 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 @@ -725,13 +740,16 @@ func (c *RedshiftDataAPIService) ListDatabasesRequest(input *ListDatabasesInput) // database list. Depending on the authorization method, use one of the following // combinations of request parameters: // -// * Secrets Manager - specify the Amazon Resource Name (ARN) of the secret, -// the database name, and the cluster identifier that matches the cluster -// in the secret. +// * Secrets Manager - when connecting to a cluster, specify the Amazon Resource +// Name (ARN) of the secret, the database name, and the cluster identifier +// that matches the cluster in the secret. When connecting to a serverless +// endpoint, specify the Amazon Resource Name (ARN) of the secret and the +// database name. // -// * Temporary credentials - specify the cluster identifier, the database -// name, and the database user name. Permission to call the redshift:GetClusterCredentials -// operation is required to use this method. +// * Temporary credentials - when connecting to a cluster, specify the cluster +// identifier, the database name, and the database user name. Also, permission +// to call the redshift:GetClusterCredentials operation is required. When +// connecting to a serverless endpoint, specify the database name. // // 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 @@ -747,6 +765,9 @@ func (c *RedshiftDataAPIService) ListDatabasesRequest(input *ListDatabasesInput) // * InternalServerException // The Amazon Redshift Data API operation failed due to invalid input. // +// * DatabaseConnectionException +// Connection to a database failed. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-data-2019-12-20/ListDatabases func (c *RedshiftDataAPIService) ListDatabases(input *ListDatabasesInput) (*ListDatabasesOutput, error) { req, out := c.ListDatabasesRequest(input) @@ -875,13 +896,16 @@ func (c *RedshiftDataAPIService) ListSchemasRequest(input *ListSchemasInput) (re // schema list. Depending on the authorization method, use one of the following // combinations of request parameters: // -// * Secrets Manager - specify the Amazon Resource Name (ARN) of the secret, -// the database name, and the cluster identifier that matches the cluster -// in the secret. +// * Secrets Manager - when connecting to a cluster, specify the Amazon Resource +// Name (ARN) of the secret, the database name, and the cluster identifier +// that matches the cluster in the secret. When connecting to a serverless +// endpoint, specify the Amazon Resource Name (ARN) of the secret and the +// database name. // -// * Temporary credentials - specify the cluster identifier, the database -// name, and the database user name. Permission to call the redshift:GetClusterCredentials -// operation is required to use this method. +// * Temporary credentials - when connecting to a cluster, specify the cluster +// identifier, the database name, and the database user name. Also, permission +// to call the redshift:GetClusterCredentials operation is required. When +// connecting to a serverless endpoint, specify the database name. // // 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 @@ -897,6 +921,9 @@ func (c *RedshiftDataAPIService) ListSchemasRequest(input *ListSchemasInput) (re // * InternalServerException // The Amazon Redshift Data API operation failed due to invalid input. // +// * DatabaseConnectionException +// Connection to a database failed. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-data-2019-12-20/ListSchemas func (c *RedshiftDataAPIService) ListSchemas(input *ListSchemasInput) (*ListSchemasOutput, error) { req, out := c.ListSchemasRequest(input) @@ -1167,13 +1194,16 @@ func (c *RedshiftDataAPIService) ListTablesRequest(input *ListTablesInput) (req // to page through the table list. Depending on the authorization method, use // one of the following combinations of request parameters: // -// * Secrets Manager - specify the Amazon Resource Name (ARN) of the secret, -// the database name, and the cluster identifier that matches the cluster -// in the secret. +// * Secrets Manager - when connecting to a cluster, specify the Amazon Resource +// Name (ARN) of the secret, the database name, and the cluster identifier +// that matches the cluster in the secret. When connecting to a serverless +// endpoint, specify the Amazon Resource Name (ARN) of the secret and the +// database name. // -// * Temporary credentials - specify the cluster identifier, the database -// name, and the database user name. Permission to call the redshift:GetClusterCredentials -// operation is required to use this method. +// * Temporary credentials - when connecting to a cluster, specify the cluster +// identifier, the database name, and the database user name. Also, permission +// to call the redshift:GetClusterCredentials operation is required. When +// connecting to a serverless endpoint, specify the database name. // // 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 @@ -1189,6 +1219,9 @@ func (c *RedshiftDataAPIService) ListTablesRequest(input *ListTablesInput) (req // * InternalServerException // The Amazon Redshift Data API operation failed due to invalid input. // +// * DatabaseConnectionException +// Connection to a database failed. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/redshift-data-2019-12-20/ListTables func (c *RedshiftDataAPIService) ListTables(input *ListTablesInput) (*ListTablesOutput, error) { req, out := c.ListTablesRequest(input) @@ -1399,11 +1432,9 @@ func (s *BatchExecuteStatementException) RequestID() string { type BatchExecuteStatementInput struct { _ struct{} `type:"structure"` - // The cluster identifier. This parameter is required when authenticating using - // either Secrets Manager or temporary credentials. - // - // ClusterIdentifier is a required field - ClusterIdentifier *string `type:"string" required:"true"` + // The cluster identifier. This parameter is required when connecting to a cluster + // and authenticating using either Secrets Manager or temporary credentials. + ClusterIdentifier *string `type:"string"` // The name of the database. This parameter is required when authenticating // using either Secrets Manager or temporary credentials. @@ -1411,8 +1442,8 @@ type BatchExecuteStatementInput struct { // Database is a required field Database *string `type:"string" required:"true"` - // The database user name. This parameter is required when authenticating using - // temporary credentials. + // The database user name. This parameter is required when connecting to a cluster + // and authenticating using temporary credentials. DbUser *string `type:"string"` // The name or ARN of the secret that enables access to the database. This parameter @@ -1454,9 +1485,6 @@ func (s BatchExecuteStatementInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *BatchExecuteStatementInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "BatchExecuteStatementInput"} - if s.ClusterIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) - } if s.Database == nil { invalidParams.Add(request.NewErrParamRequired("Database")) } @@ -1518,7 +1546,8 @@ func (s *BatchExecuteStatementInput) SetWithEvent(v bool) *BatchExecuteStatement type BatchExecuteStatementOutput struct { _ struct{} `type:"structure"` - // The cluster identifier. + // The cluster identifier. This parameter is not returned when connecting to + // a serverless endpoint. ClusterIdentifier *string `type:"string"` // The date and time (UTC) the statement was created. @@ -1812,6 +1841,70 @@ func (s *ColumnMetadata) SetTypeName(v string) *ColumnMetadata { return s } +// Connection to a database failed. +type DatabaseConnectionException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DatabaseConnectionException) 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 DatabaseConnectionException) GoString() string { + return s.String() +} + +func newErrorDatabaseConnectionException(v protocol.ResponseMetadata) error { + return &DatabaseConnectionException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *DatabaseConnectionException) Code() string { + return "DatabaseConnectionException" +} + +// Message returns the exception's message. +func (s *DatabaseConnectionException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *DatabaseConnectionException) OrigErr() error { + return nil +} + +func (s *DatabaseConnectionException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *DatabaseConnectionException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *DatabaseConnectionException) RequestID() string { + return s.RespMetadata.RequestID +} + type DescribeStatementInput struct { _ struct{} `type:"structure"` @@ -1886,7 +1979,8 @@ type DescribeStatementOutput struct { Error *string `type:"string"` // A value that indicates whether the statement has a result set. The result - // set can be empty. + // set can be empty. The value is true for an empty result set. The value is + // true if any substatement returns a result set. HasResultSet *bool `type:"boolean"` // The identifier of the SQL statement described. This value is a universally @@ -2077,11 +2171,9 @@ func (s *DescribeStatementOutput) SetUpdatedAt(v time.Time) *DescribeStatementOu type DescribeTableInput struct { _ struct{} `type:"structure"` - // The cluster identifier. This parameter is required when authenticating using - // either Secrets Manager or temporary credentials. - // - // ClusterIdentifier is a required field - ClusterIdentifier *string `type:"string" required:"true"` + // The cluster identifier. This parameter is required when connecting to a cluster + // and authenticating using either Secrets Manager or temporary credentials. + ClusterIdentifier *string `type:"string"` // A database name. The connected database is specified when you connect with // your authentication credentials. @@ -2094,8 +2186,8 @@ type DescribeTableInput struct { // Database is a required field Database *string `type:"string" required:"true"` - // The database user name. This parameter is required when authenticating using - // temporary credentials. + // The database user name. This parameter is required when connecting to a cluster + // and authenticating using temporary credentials. DbUser *string `type:"string"` // The maximum number of tables to return in the response. If more tables exist @@ -2145,9 +2237,6 @@ func (s DescribeTableInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *DescribeTableInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "DescribeTableInput"} - if s.ClusterIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) - } if s.Database == nil { invalidParams.Add(request.NewErrParamRequired("Database")) } @@ -2338,11 +2427,9 @@ func (s *ExecuteStatementException) RequestID() string { type ExecuteStatementInput struct { _ struct{} `type:"structure"` - // The cluster identifier. This parameter is required when authenticating using - // either Secrets Manager or temporary credentials. - // - // ClusterIdentifier is a required field - ClusterIdentifier *string `type:"string" required:"true"` + // The cluster identifier. This parameter is required when connecting to a cluster + // and authenticating using either Secrets Manager or temporary credentials. + ClusterIdentifier *string `type:"string"` // The name of the database. This parameter is required when authenticating // using either Secrets Manager or temporary credentials. @@ -2350,8 +2437,8 @@ type ExecuteStatementInput struct { // Database is a required field Database *string `type:"string" required:"true"` - // The database user name. This parameter is required when authenticating using - // temporary credentials. + // The database user name. This parameter is required when connecting to a cluster + // and authenticating using temporary credentials. DbUser *string `type:"string"` // The parameters for the SQL statement. @@ -2396,9 +2483,6 @@ func (s ExecuteStatementInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ExecuteStatementInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ExecuteStatementInput"} - if s.ClusterIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) - } if s.Database == nil { invalidParams.Add(request.NewErrParamRequired("Database")) } @@ -2476,7 +2560,8 @@ func (s *ExecuteStatementInput) SetWithEvent(v bool) *ExecuteStatementInput { type ExecuteStatementOutput struct { _ struct{} `type:"structure"` - // The cluster identifier. + // The cluster identifier. This parameter is not returned when connecting to + // a serverless endpoint. ClusterIdentifier *string `type:"string"` // The date and time (UTC) the statement was created. @@ -2827,11 +2912,9 @@ func (s *InternalServerException) RequestID() string { type ListDatabasesInput struct { _ struct{} `type:"structure"` - // The cluster identifier. This parameter is required when authenticating using - // either Secrets Manager or temporary credentials. - // - // ClusterIdentifier is a required field - ClusterIdentifier *string `type:"string" required:"true"` + // The cluster identifier. This parameter is required when connecting to a cluster + // and authenticating using either Secrets Manager or temporary credentials. + ClusterIdentifier *string `type:"string"` // The name of the database. This parameter is required when authenticating // using either Secrets Manager or temporary credentials. @@ -2839,8 +2922,8 @@ type ListDatabasesInput struct { // Database is a required field Database *string `type:"string" required:"true"` - // The database user name. This parameter is required when authenticating using - // temporary credentials. + // The database user name. This parameter is required when connecting to a cluster + // and authenticating using temporary credentials. DbUser *string `type:"string"` // The maximum number of databases to return in the response. If more databases @@ -2881,9 +2964,6 @@ func (s ListDatabasesInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListDatabasesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListDatabasesInput"} - if s.ClusterIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) - } if s.Database == nil { invalidParams.Add(request.NewErrParamRequired("Database")) } @@ -2977,11 +3057,9 @@ func (s *ListDatabasesOutput) SetNextToken(v string) *ListDatabasesOutput { type ListSchemasInput struct { _ struct{} `type:"structure"` - // The cluster identifier. This parameter is required when authenticating using - // either Secrets Manager or temporary credentials. - // - // ClusterIdentifier is a required field - ClusterIdentifier *string `type:"string" required:"true"` + // The cluster identifier. This parameter is required when connecting to a cluster + // and authenticating using either Secrets Manager or temporary credentials. + ClusterIdentifier *string `type:"string"` // A database name. The connected database is specified when you connect with // your authentication credentials. @@ -2994,8 +3072,8 @@ type ListSchemasInput struct { // Database is a required field Database *string `type:"string" required:"true"` - // The database user name. This parameter is required when authenticating using - // temporary credentials. + // The database user name. This parameter is required when connecting to a cluster + // and authenticating using temporary credentials. DbUser *string `type:"string"` // The maximum number of schemas to return in the response. If more schemas @@ -3041,9 +3119,6 @@ func (s ListSchemasInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListSchemasInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListSchemasInput"} - if s.ClusterIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) - } if s.Database == nil { invalidParams.Add(request.NewErrParamRequired("Database")) } @@ -3291,11 +3366,9 @@ func (s *ListStatementsOutput) SetStatements(v []*StatementData) *ListStatements type ListTablesInput struct { _ struct{} `type:"structure"` - // The cluster identifier. This parameter is required when authenticating using - // either Secrets Manager or temporary credentials. - // - // ClusterIdentifier is a required field - ClusterIdentifier *string `type:"string" required:"true"` + // The cluster identifier. This parameter is required when connecting to a cluster + // and authenticating using either Secrets Manager or temporary credentials. + ClusterIdentifier *string `type:"string"` // A database name. The connected database is specified when you connect with // your authentication credentials. @@ -3308,8 +3381,8 @@ type ListTablesInput struct { // Database is a required field Database *string `type:"string" required:"true"` - // The database user name. This parameter is required when authenticating using - // temporary credentials. + // The database user name. This parameter is required when connecting to a cluster + // and authenticating using temporary credentials. DbUser *string `type:"string"` // The maximum number of tables to return in the response. If more tables exist @@ -3366,9 +3439,6 @@ func (s ListTablesInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *ListTablesInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "ListTablesInput"} - if s.ClusterIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ClusterIdentifier")) - } if s.Database == nil { invalidParams.Add(request.NewErrParamRequired("Database")) } @@ -3747,7 +3817,7 @@ type SubStatementData struct { Error *string `type:"string"` // A value that indicates whether the statement has a result set. The result - // set can be empty. + // set can be empty. The value is true for an empty result set. HasResultSet *bool `type:"boolean"` // The identifier of the SQL statement. This value is a universally unique identifier diff --git a/service/redshiftdataapiservice/errors.go b/service/redshiftdataapiservice/errors.go index 73101095fb1..9f893dc37ad 100644 --- a/service/redshiftdataapiservice/errors.go +++ b/service/redshiftdataapiservice/errors.go @@ -20,6 +20,12 @@ const ( // An SQL statement encountered an environmental error while running. ErrCodeBatchExecuteStatementException = "BatchExecuteStatementException" + // ErrCodeDatabaseConnectionException for service response error code + // "DatabaseConnectionException". + // + // Connection to a database failed. + ErrCodeDatabaseConnectionException = "DatabaseConnectionException" + // ErrCodeExecuteStatementException for service response error code // "ExecuteStatementException". // @@ -48,6 +54,7 @@ const ( var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "ActiveStatementsExceededException": newErrorActiveStatementsExceededException, "BatchExecuteStatementException": newErrorBatchExecuteStatementException, + "DatabaseConnectionException": newErrorDatabaseConnectionException, "ExecuteStatementException": newErrorExecuteStatementException, "InternalServerException": newErrorInternalServerException, "ResourceNotFoundException": newErrorResourceNotFoundException, diff --git a/service/s3/api.go b/service/s3/api.go index 724f0b5b8aa..45ce9ac22c6 100644 --- a/service/s3/api.go +++ b/service/s3/api.go @@ -420,6 +420,21 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou // see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html) // and Managing ACLs Using the REST API (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html). // +// If the bucket that you're copying objects to uses the bucket owner enforced +// setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. +// Buckets that use this setting only accept PUT requests that don't specify +// an ACL or PUT requests that specify bucket owner full control ACLs, such +// as the bucket-owner-full-control canned ACL or an equivalent form of this +// ACL expressed in the XML format. +// +// For more information, see Controlling ownership of objects and disabling +// ACLs (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) +// in the Amazon S3 User Guide. +// +// If your bucket uses the bucket owner enforced setting for Object Ownership, +// all objects written to the bucket by any account will be owned by the bucket +// owner. +// // Storage Class Options // // You can use the CopyObject action to change the storage class of an object @@ -558,8 +573,19 @@ func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request // your application must be able to handle 307 redirect. For more information, // see Virtual hosting of buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html). // -// When creating a bucket using this operation, you can optionally specify the -// accounts or groups that should be granted specific permissions on the bucket. +// Access control lists (ACLs) +// +// When creating a bucket using this operation, you can optionally configure +// the bucket ACL to specify the accounts or groups that should be granted specific +// permissions on the bucket. +// +// If your CreateBucket request includes the BucketOwnerEnforced value for the +// x-amz-object-ownership header, your request can either not specify an ACL +// or specify bucket owner full control ACLs, such as the bucket-owner-full-control +// canned ACL or an equivalent ACL expressed in the XML format. For more information, +// see Controlling object ownership (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) +// in the Amazon S3 User Guide. +// // There are two ways to grant the appropriate permissions using the request // headers. // @@ -572,11 +598,11 @@ func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request // x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control // headers. These headers map to the set of permissions Amazon S3 supports // in an ACL. For more information, see Access control list (ACL) overview -// (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html). You -// specify each grantee as a type=value pair, where the type is one of the -// following: id – if the value specified is the canonical user ID of an -// Amazon Web Services account uri – if you are granting permissions to -// a predefined group emailAddress – if the value specified is the email +// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html). +// You specify each grantee as a type=value pair, where the type is one of +// the following: id – if the value specified is the canonical user ID +// of an Amazon Web Services account uri – if you are granting permissions +// to a predefined group emailAddress – if the value specified is the email // address of an Amazon Web Services account Using email addresses to specify // a grantee is only supported in the following Amazon Web Services Regions: // US East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific @@ -593,15 +619,23 @@ func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request // // Permissions // -// If your CreateBucket request specifies ACL permissions and the ACL is public-read, -// public-read-write, authenticated-read, or if you specify access permissions -// explicitly through any other ACL, both s3:CreateBucket and s3:PutBucketAcl -// permissions are needed. If the ACL the CreateBucket request is private, only -// s3:CreateBucket permission is needed. +// In addition to s3:CreateBucket, the following permissions are required when +// your CreateBucket includes specific headers: // -// If ObjectLockEnabledForBucket is set to true in your CreateBucket request, -// s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning permissions -// are required. +// * ACLs - If your CreateBucket request specifies ACL permissions and the +// ACL is public-read, public-read-write, authenticated-read, or if you specify +// access permissions explicitly through any other ACL, both s3:CreateBucket +// and s3:PutBucketAcl permissions are needed. If the ACL the CreateBucket +// request is private or doesn't specify any ACLs, only s3:CreateBucket permission +// is needed. +// +// * Object Lock - If ObjectLockEnabledForBucket is set to true in your CreateBucket +// request, s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning +// permissions are required. +// +// * S3 Object Ownership - If your CreateBucket request includes the the +// x-amz-object-ownership header, s3:PutBucketOwnershipControls permission +// is required. // // The following operations are related to CreateBucket: // @@ -1281,17 +1315,16 @@ func (c *S3) DeleteBucketIntelligentTieringConfigurationRequest(input *DeleteBuc // The S3 Intelligent-Tiering storage class is designed to optimize storage // costs by automatically moving data to the most cost-effective storage access // tier, without performance impact or operational overhead. S3 Intelligent-Tiering -// delivers automatic cost savings in two low latency and high throughput access -// tiers. For data that can be accessed asynchronously, you can choose to activate -// automatic archiving capabilities within the S3 Intelligent-Tiering storage -// class. +// delivers automatic cost savings in three low latency and high throughput +// access tiers. To get the lowest storage cost on data that can be accessed +// in minutes to hours, you can choose to activate additional archiving capabilities. // // The S3 Intelligent-Tiering storage class is the ideal storage class for data // with unknown, changing, or unpredictable access patterns, independent of // object size or retention period. If the size of an object is less than 128 -// KB, it is not eligible for auto-tiering. Smaller objects can be stored, but -// they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering -// storage class. +// KB, it is not monitored and not eligible for auto-tiering. Smaller objects +// can be stored, but they are always charged at the Frequent Access tier rates +// in the S3 Intelligent-Tiering storage class. // // For more information, see Storage class for automatically optimizing frequently // and infrequently accessed objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access). @@ -2618,6 +2651,12 @@ func (c *S3) GetBucketAclRequest(input *GetBucketAclInput) (req *request.Request // is granted to the anonymous user, you can return the ACL of the bucket without // using an authorization header. // +// If your bucket uses the bucket owner enforced setting for S3 Object Ownership, +// requests to read ACLs are still supported and return the bucket-owner-full-control +// ACL with the owner being the account that created the bucket. For more information, +// see Controlling object ownership and disabling ACLs (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) +// in the Amazon S3 User Guide. +// // Related Resources // // * ListObjects (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html) @@ -2971,17 +3010,16 @@ func (c *S3) GetBucketIntelligentTieringConfigurationRequest(input *GetBucketInt // The S3 Intelligent-Tiering storage class is designed to optimize storage // costs by automatically moving data to the most cost-effective storage access // tier, without performance impact or operational overhead. S3 Intelligent-Tiering -// delivers automatic cost savings in two low latency and high throughput access -// tiers. For data that can be accessed asynchronously, you can choose to activate -// automatic archiving capabilities within the S3 Intelligent-Tiering storage -// class. +// delivers automatic cost savings in three low latency and high throughput +// access tiers. To get the lowest storage cost on data that can be accessed +// in minutes to hours, you can choose to activate additional archiving capabilities. // // The S3 Intelligent-Tiering storage class is the ideal storage class for data // with unknown, changing, or unpredictable access patterns, independent of // object size or retention period. If the size of an object is less than 128 -// KB, it is not eligible for auto-tiering. Smaller objects can be stored, but -// they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering -// storage class. +// KB, it is not monitored and not eligible for auto-tiering. Smaller objects +// can be stored, but they are always charged at the Frequent Access tier rates +// in the S3 Intelligent-Tiering storage class. // // For more information, see Storage class for automatically optimizing frequently // and infrequently accessed objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access). @@ -3809,10 +3847,10 @@ func (c *S3) GetBucketOwnershipControlsRequest(input *GetBucketOwnershipControls // // Retrieves OwnershipControls for an Amazon S3 bucket. To use this operation, // you must have the s3:GetBucketOwnershipControls permission. For more information -// about Amazon S3 permissions, see Specifying Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html). +// about Amazon S3 permissions, see Specifying permissions in a policy (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html). // // For information about Amazon S3 Object Ownership, see Using Object Ownership -// (https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html). +// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html). // // The following operations are related to GetBucketOwnershipControls: // @@ -4739,6 +4777,12 @@ func (c *S3) GetObjectAclRequest(input *GetObjectAclInput) (req *request.Request // By default, GET returns ACL information about the current version of an object. // To return ACL information about a different version, use the versionId subresource. // +// If your bucket uses the bucket owner enforced setting for S3 Object Ownership, +// requests to read ACLs are still supported and return the bucket-owner-full-control +// ACL with the owner being the account that created the bucket. For more information, +// see Controlling object ownership and disabling ACLs (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) +// in the Amazon S3 User Guide. +// // The following operations are related to GetObjectAcl: // // * GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) @@ -5680,17 +5724,16 @@ func (c *S3) ListBucketIntelligentTieringConfigurationsRequest(input *ListBucket // The S3 Intelligent-Tiering storage class is designed to optimize storage // costs by automatically moving data to the most cost-effective storage access // tier, without performance impact or operational overhead. S3 Intelligent-Tiering -// delivers automatic cost savings in two low latency and high throughput access -// tiers. For data that can be accessed asynchronously, you can choose to activate -// automatic archiving capabilities within the S3 Intelligent-Tiering storage -// class. +// delivers automatic cost savings in three low latency and high throughput +// access tiers. To get the lowest storage cost on data that can be accessed +// in minutes to hours, you can choose to activate additional archiving capabilities. // // The S3 Intelligent-Tiering storage class is the ideal storage class for data // with unknown, changing, or unpredictable access patterns, independent of // object size or retention period. If the size of an object is less than 128 -// KB, it is not eligible for auto-tiering. Smaller objects can be stored, but -// they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering -// storage class. +// KB, it is not monitored and not eligible for auto-tiering. Smaller objects +// can be stored, but they are always charged at the Frequent Access tier rates +// in the S3 Intelligent-Tiering storage class. // // For more information, see Storage class for automatically optimizing frequently // and infrequently accessed objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access). @@ -6985,6 +7028,14 @@ func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request // existing application that updates a bucket ACL using the request body, then // you can continue to use that approach. // +// If your bucket uses the bucket owner enforced setting for S3 Object Ownership, +// ACLs are disabled and no longer affect permissions. You must use policies +// to grant access to your bucket and the objects in it. Requests to set ACLs +// or update ACLs fail and return the AccessControlListNotSupported error code. +// Requests to read ACLs are still supported. For more information, see Controlling +// object ownership (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) +// in the Amazon S3 User Guide. +// // Access Permissions // // You can set access permissions using one of the following methods: @@ -7479,17 +7530,16 @@ func (c *S3) PutBucketIntelligentTieringConfigurationRequest(input *PutBucketInt // The S3 Intelligent-Tiering storage class is designed to optimize storage // costs by automatically moving data to the most cost-effective storage access // tier, without performance impact or operational overhead. S3 Intelligent-Tiering -// delivers automatic cost savings in two low latency and high throughput access -// tiers. For data that can be accessed asynchronously, you can choose to activate -// automatic archiving capabilities within the S3 Intelligent-Tiering storage -// class. +// delivers automatic cost savings in three low latency and high throughput +// access tiers. To get the lowest storage cost on data that can be accessed +// in minutes to hours, you can choose to activate additional archiving capabilities. // // The S3 Intelligent-Tiering storage class is the ideal storage class for data // with unknown, changing, or unpredictable access patterns, independent of // object size or retention period. If the size of an object is less than 128 -// KB, it is not eligible for auto-tiering. Smaller objects can be stored, but -// they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering -// storage class. +// KB, it is not monitored and not eligible for auto-tiering. Smaller objects +// can be stored, but they are always charged at the Frequent Access tier rates +// in the S3 Intelligent-Tiering storage class. // // For more information, see Storage class for automatically optimizing frequently // and infrequently accessed objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access). @@ -8003,6 +8053,12 @@ func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request // the Grantee request element to grant access to other people. The Permissions // request element specifies the kind of access the grantee has to the logs. // +// If the target bucket for log delivery uses the bucket owner enforced setting +// for S3 Object Ownership, you can't use the Grantee request element to grant +// access to others. Permissions can only be granted using policies. For more +// information, see Permissions for server access log delivery (https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general) +// in the Amazon S3 User Guide. +// // Grantee Values // // You can specify the person (grantee) to whom you're assigning access rights @@ -8026,7 +8082,8 @@ func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request // // // For more information about server access logging, see Server Access Logging -// (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html). +// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html) in +// the Amazon S3 User Guide. // // For more information about creating a bucket, see CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html). // For more information about returning the logging status of a bucket, see @@ -8435,11 +8492,11 @@ func (c *S3) PutBucketOwnershipControlsRequest(input *PutBucketOwnershipControls // // Creates or modifies OwnershipControls for an Amazon S3 bucket. To use this // operation, you must have the s3:PutBucketOwnershipControls permission. For -// more information about Amazon S3 permissions, see Specifying Permissions -// in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html). +// more information about Amazon S3 permissions, see Specifying permissions +// in a policy (https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-with-s3-actions.html). // -// For information about Amazon S3 Object Ownership, see Using Object Ownership -// (https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html). +// For information about Amazon S3 Object Ownership, see Using object ownership +// (https://docs.aws.amazon.com/AmazonS3/latest/user-guide/about-object-ownership.html). // // The following operations are related to PutBucketOwnershipControls: // @@ -9277,6 +9334,23 @@ func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, outp // Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html) // and Managing ACLs Using the REST API (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html). // +// If the bucket that you're uploading objects to uses the bucket owner enforced +// setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. +// Buckets that use this setting only accept PUT requests that don't specify +// an ACL or PUT requests that specify bucket owner full control ACLs, such +// as the bucket-owner-full-control canned ACL or an equivalent form of this +// ACL expressed in the XML format. PUT requests that contain other ACLs (for +// example, custom grants to certain Amazon Web Services accounts) fail and +// return a 400 error with the error code AccessControlListNotSupported. +// +// For more information, see Controlling ownership of objects and disabling +// ACLs (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) +// in the Amazon S3 User Guide. +// +// If your bucket uses the bucket owner enforced setting for Object Ownership, +// all objects written to the bucket by any account will be owned by the bucket +// owner. +// // Storage Class Options // // By default, Amazon S3 uses the STANDARD Storage Class to store newly created @@ -9396,6 +9470,14 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request // Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html) // in the Amazon S3 User Guide. // +// If your bucket uses the bucket owner enforced setting for S3 Object Ownership, +// ACLs are disabled and no longer affect permissions. You must use policies +// to grant access to your bucket and the objects in it. Requests to set ACLs +// or update ACLs fail and return the AccessControlListNotSupported error code. +// Requests to read ACLs are still supported. For more information, see Controlling +// object ownership (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) +// in the Amazon S3 User Guide. +// // Access Permissions // // You can set access permissions using one of the following methods: @@ -13734,6 +13816,22 @@ type CreateBucketInput struct { // Specifies whether you want S3 Object Lock to be enabled for the new bucket. ObjectLockEnabledForBucket *bool `location:"header" locationName:"x-amz-bucket-object-lock-enabled" type:"boolean"` + + // The container element for object ownership for a bucket's ownership controls. + // + // BucketOwnerPreferred - Objects uploaded to the bucket change ownership to + // the bucket owner if the objects are uploaded with the bucket-owner-full-control + // canned ACL. + // + // ObjectWriter - The uploading account will own the object if the object is + // uploaded with the bucket-owner-full-control canned ACL. + // + // BucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer + // affect permissions. The bucket owner automatically owns and has full control + // over every object in the bucket. The bucket only accepts PUT requests that + // don't specify an ACL or bucket owner full control ACLs, such as the bucket-owner-full-control + // canned ACL or an equivalent form of this ACL expressed in the XML format. + ObjectOwnership *string `location:"header" locationName:"x-amz-object-ownership" type:"string" enum:"ObjectOwnership"` } // String returns the string representation. @@ -13831,6 +13929,12 @@ func (s *CreateBucketInput) SetObjectLockEnabledForBucket(v bool) *CreateBucketI return s } +// SetObjectOwnership sets the ObjectOwnership field's value. +func (s *CreateBucketInput) SetObjectOwnership(v string) *CreateBucketInput { + s.ObjectOwnership = &v + return s +} + type CreateBucketOutput struct { _ struct{} `type:"structure"` @@ -19690,8 +19794,8 @@ func (s GetBucketOwnershipControlsInput) updateArnableField(v string) (interface type GetBucketOwnershipControlsOutput struct { _ struct{} `type:"structure" payload:"OwnershipControls"` - // The OwnershipControls (BucketOwnerPreferred or ObjectWriter) currently in - // effect for this Amazon S3 bucket. + // The OwnershipControls (BucketOwnerEnforced, BucketOwnerPreferred, or ObjectWriter) + // currently in effect for this Amazon S3 bucket. OwnershipControls *OwnershipControls `type:"structure"` } @@ -27477,6 +27581,11 @@ type LoggingEnabled struct { TargetBucket *string `type:"string" required:"true"` // Container for granting information. + // + // Buckets that use the bucket owner enforced setting for Object Ownership don't + // support target grants. For more information, see Permissions for server access + // log delivery (https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general) + // in the Amazon S3 User Guide. TargetGrants []*TargetGrant `locationNameList:"Grant" type:"list"` // A prefix for all log object keys. If you store log files from multiple Amazon @@ -28003,12 +28112,12 @@ func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVers } // Container for the transition rule that describes when noncurrent objects -// transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, -// or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning -// is suspended), you can set this action to request that Amazon S3 transition -// noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, -// GLACIER, or DEEP_ARCHIVE storage class at a specific period in the object's -// lifetime. +// transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER_IR, +// GLACIER, or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled +// (or versioning is suspended), you can set this action to request that Amazon +// S3 transition noncurrent object versions to the STANDARD_IA, ONEZONE_IA, +// INTELLIGENT_TIERING, GLACIER_IR, GLACIER, or DEEP_ARCHIVE storage class at +// a specific period in the object's lifetime. type NoncurrentVersionTransition struct { _ struct{} `type:"structure"` @@ -28862,6 +28971,12 @@ type OwnershipControlsRule struct { // ObjectWriter - The uploading account will own the object if the object is // uploaded with the bucket-owner-full-control canned ACL. // + // BucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer + // affect permissions. The bucket owner automatically owns and has full control + // over every object in the bucket. The bucket only accepts PUT requests that + // don't specify an ACL or bucket owner full control ACLs, such as the bucket-owner-full-control + // canned ACL or an equivalent form of this ACL expressed in the XML format. + // // ObjectOwnership is a required field ObjectOwnership *string `type:"string" required:"true" enum:"ObjectOwnership"` } @@ -31083,8 +31198,8 @@ type PutBucketOwnershipControlsInput struct { // error. ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"` - // The OwnershipControls (BucketOwnerPreferred or ObjectWriter) that you want - // to apply to this Amazon S3 bucket. + // The OwnershipControls (BucketOwnerEnforced, BucketOwnerPreferred, or ObjectWriter) + // that you want to apply to this Amazon S3 bucket. // // OwnershipControls is a required field OwnershipControls *OwnershipControls `locationName:"OwnershipControls" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"` @@ -35204,12 +35319,12 @@ type Rule struct { NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"` // Container for the transition rule that describes when noncurrent objects - // transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER, - // or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning - // is suspended), you can set this action to request that Amazon S3 transition - // noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, - // GLACIER, or DEEP_ARCHIVE storage class at a specific period in the object's - // lifetime. + // transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER_IR, + // GLACIER, or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled + // (or versioning is suspended), you can set this action to request that Amazon + // S3 transition noncurrent object versions to the STANDARD_IA, ONEZONE_IA, + // INTELLIGENT_TIERING, GLACIER_IR, GLACIER, or DEEP_ARCHIVE storage class at + // a specific period in the object's lifetime. NoncurrentVersionTransition *NoncurrentVersionTransition `type:"structure"` // Object key prefix that identifies one or more objects to which this rule @@ -36665,6 +36780,11 @@ func (s *Tagging) SetTagSet(v []*Tag) *Tagging { } // Container for granting information. +// +// Buckets that use the bucket owner enforced setting for Object Ownership don't +// support target grants. For more information, see Permissions server access +// log delivery (https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general) +// in the Amazon S3 User Guide. type TargetGrant struct { _ struct{} `type:"structure"` @@ -39202,12 +39322,21 @@ func ObjectLockRetentionMode_Values() []string { // // ObjectWriter - The uploading account will own the object if the object is // uploaded with the bucket-owner-full-control canned ACL. +// +// BucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer +// affect permissions. The bucket owner automatically owns and has full control +// over every object in the bucket. The bucket only accepts PUT requests that +// don't specify an ACL or bucket owner full control ACLs, such as the bucket-owner-full-control +// canned ACL or an equivalent form of this ACL expressed in the XML format. const ( // ObjectOwnershipBucketOwnerPreferred is a ObjectOwnership enum value ObjectOwnershipBucketOwnerPreferred = "BucketOwnerPreferred" // ObjectOwnershipObjectWriter is a ObjectOwnership enum value ObjectOwnershipObjectWriter = "ObjectWriter" + + // ObjectOwnershipBucketOwnerEnforced is a ObjectOwnership enum value + ObjectOwnershipBucketOwnerEnforced = "BucketOwnerEnforced" ) // ObjectOwnership_Values returns all elements of the ObjectOwnership enum @@ -39215,6 +39344,7 @@ func ObjectOwnership_Values() []string { return []string{ ObjectOwnershipBucketOwnerPreferred, ObjectOwnershipObjectWriter, + ObjectOwnershipBucketOwnerEnforced, } } @@ -39242,6 +39372,9 @@ const ( // ObjectStorageClassOutposts is a ObjectStorageClass enum value ObjectStorageClassOutposts = "OUTPOSTS" + + // ObjectStorageClassGlacierIr is a ObjectStorageClass enum value + ObjectStorageClassGlacierIr = "GLACIER_IR" ) // ObjectStorageClass_Values returns all elements of the ObjectStorageClass enum @@ -39255,6 +39388,7 @@ func ObjectStorageClass_Values() []string { ObjectStorageClassIntelligentTiering, ObjectStorageClassDeepArchive, ObjectStorageClassOutposts, + ObjectStorageClassGlacierIr, } } @@ -39529,6 +39663,9 @@ const ( // StorageClassOutposts is a StorageClass enum value StorageClassOutposts = "OUTPOSTS" + + // StorageClassGlacierIr is a StorageClass enum value + StorageClassGlacierIr = "GLACIER_IR" ) // StorageClass_Values returns all elements of the StorageClass enum @@ -39542,6 +39679,7 @@ func StorageClass_Values() []string { StorageClassGlacier, StorageClassDeepArchive, StorageClassOutposts, + StorageClassGlacierIr, } } @@ -39608,6 +39746,9 @@ const ( // TransitionStorageClassDeepArchive is a TransitionStorageClass enum value TransitionStorageClassDeepArchive = "DEEP_ARCHIVE" + + // TransitionStorageClassGlacierIr is a TransitionStorageClass enum value + TransitionStorageClassGlacierIr = "GLACIER_IR" ) // TransitionStorageClass_Values returns all elements of the TransitionStorageClass enum @@ -39618,6 +39759,7 @@ func TransitionStorageClass_Values() []string { TransitionStorageClassOnezoneIa, TransitionStorageClassIntelligentTiering, TransitionStorageClassDeepArchive, + TransitionStorageClassGlacierIr, } } diff --git a/service/s3/examples_test.go b/service/s3/examples_test.go index 0c2622f4e62..119a8fc302c 100644 --- a/service/s3/examples_test.go +++ b/service/s3/examples_test.go @@ -128,13 +128,17 @@ func ExampleS3_CopyObject_shared00() { fmt.Println(result) } -// To create a bucket +// To create a bucket in a specific region // -// The following example creates a bucket. +// The following example creates a bucket. The request specifies an AWS region where +// to create the bucket. func ExampleS3_CreateBucket_shared00() { svc := s3.New(session.New()) input := &s3.CreateBucketInput{ Bucket: aws.String("examplebucket"), + CreateBucketConfiguration: &s3.CreateBucketConfiguration{ + LocationConstraint: aws.String("eu-west-1"), + }, } result, err := svc.CreateBucket(input) @@ -159,17 +163,13 @@ func ExampleS3_CreateBucket_shared00() { fmt.Println(result) } -// To create a bucket in a specific region +// To create a bucket // -// The following example creates a bucket. The request specifies an AWS region where -// to create the bucket. +// The following example creates a bucket. func ExampleS3_CreateBucket_shared01() { svc := s3.New(session.New()) input := &s3.CreateBucketInput{ Bucket: aws.String("examplebucket"), - CreateBucketConfiguration: &s3.CreateBucketConfiguration{ - LocationConstraint: aws.String("eu-west-1"), - }, } result, err := svc.CreateBucket(input) @@ -411,14 +411,14 @@ func ExampleS3_DeleteBucketWebsite_shared00() { fmt.Println(result) } -// To delete an object (from a non-versioned bucket) +// To delete an object // -// The following example deletes an object from a non-versioned bucket. +// The following example deletes an object from an S3 bucket. func ExampleS3_DeleteObject_shared00() { svc := s3.New(session.New()) input := &s3.DeleteObjectInput{ - Bucket: aws.String("ExampleBucket"), - Key: aws.String("HappyFace.jpg"), + Bucket: aws.String("examplebucket"), + Key: aws.String("objectkey.jpg"), } result, err := svc.DeleteObject(input) @@ -439,14 +439,14 @@ func ExampleS3_DeleteObject_shared00() { fmt.Println(result) } -// To delete an object +// To delete an object (from a non-versioned bucket) // -// The following example deletes an object from an S3 bucket. +// The following example deletes an object from a non-versioned bucket. func ExampleS3_DeleteObject_shared01() { svc := s3.New(session.New()) input := &s3.DeleteObjectInput{ - Bucket: aws.String("examplebucket"), - Key: aws.String("objectkey.jpg"), + Bucket: aws.String("ExampleBucket"), + Key: aws.String("HappyFace.jpg"), } result, err := svc.DeleteObject(input) @@ -1808,17 +1808,18 @@ func ExampleS3_PutBucketWebsite_shared00() { fmt.Println(result) } -// To upload an object and specify optional tags +// To upload an object (specify optional headers) // -// The following example uploads an object. The request specifies optional object tags. -// The bucket is versioned, therefore S3 returns version ID of the newly created object. +// The following example uploads an object. The request specifies optional request headers +// to directs S3 to use specific storage class and use server-side encryption. func ExampleS3_PutObject_shared00() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("c:\\HappyFace.jpg")), - Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), - Tagging: aws.String("key1=value1&key2=value2"), + Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), + ServerSideEncryption: aws.String("AES256"), + StorageClass: aws.String("STANDARD_IA"), } result, err := svc.PutObject(input) @@ -1871,19 +1872,17 @@ func ExampleS3_PutObject_shared01() { fmt.Println(result) } -// To upload an object and specify server-side encryption and object tags +// To upload an object // -// The following example uploads and object. The request specifies the optional server-side -// encryption option. The request also specifies optional object tags. If the bucket -// is versioning enabled, S3 returns version ID in response. +// The following example uploads an object to a versioning-enabled bucket. The source +// file is specified using Windows file syntax. S3 returns VersionId of the newly created +// object. func ExampleS3_PutObject_shared02() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), - Bucket: aws.String("examplebucket"), - Key: aws.String("exampleobject"), - ServerSideEncryption: aws.String("AES256"), - Tagging: aws.String("key1=value1&key2=value2"), + Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), } result, err := svc.PutObject(input) @@ -1904,16 +1903,17 @@ func ExampleS3_PutObject_shared02() { fmt.Println(result) } -// To create an object. +// To upload an object and specify optional tags // -// The following example creates an object. If the bucket is versioning enabled, S3 -// returns version ID in response. +// The following example uploads an object. The request specifies optional object tags. +// The bucket is versioned, therefore S3 returns version ID of the newly created object. func ExampleS3_PutObject_shared03() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), - Bucket: aws.String("examplebucket"), - Key: aws.String("objectkey"), + Body: aws.ReadSeekCloser(strings.NewReader("c:\\HappyFace.jpg")), + Bucket: aws.String("examplebucket"), + Key: aws.String("HappyFace.jpg"), + Tagging: aws.String("key1=value1&key2=value2"), } result, err := svc.PutObject(input) @@ -1934,17 +1934,20 @@ func ExampleS3_PutObject_shared03() { fmt.Println(result) } -// To upload an object +// To upload object and specify user-defined metadata // -// The following example uploads an object to a versioning-enabled bucket. The source -// file is specified using Windows file syntax. S3 returns VersionId of the newly created -// object. +// The following example creates an object. The request also specifies optional metadata. +// If the bucket is versioning enabled, S3 returns version ID in response. func ExampleS3_PutObject_shared04() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), + Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), + Key: aws.String("exampleobject"), + Metadata: map[string]*string{ + "metadata1": aws.String("value1"), + "metadata2": aws.String("value2"), + }, } result, err := svc.PutObject(input) @@ -1965,18 +1968,19 @@ func ExampleS3_PutObject_shared04() { fmt.Println(result) } -// To upload an object (specify optional headers) +// To upload an object and specify server-side encryption and object tags // -// The following example uploads an object. The request specifies optional request headers -// to directs S3 to use specific storage class and use server-side encryption. +// The following example uploads and object. The request specifies the optional server-side +// encryption option. The request also specifies optional object tags. If the bucket +// is versioning enabled, S3 returns version ID in response. func ExampleS3_PutObject_shared05() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ - Body: aws.ReadSeekCloser(strings.NewReader("HappyFace.jpg")), + Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), Bucket: aws.String("examplebucket"), - Key: aws.String("HappyFace.jpg"), + Key: aws.String("exampleobject"), ServerSideEncryption: aws.String("AES256"), - StorageClass: aws.String("STANDARD_IA"), + Tagging: aws.String("key1=value1&key2=value2"), } result, err := svc.PutObject(input) @@ -1997,20 +2001,16 @@ func ExampleS3_PutObject_shared05() { fmt.Println(result) } -// To upload object and specify user-defined metadata +// To create an object. // -// The following example creates an object. The request also specifies optional metadata. -// If the bucket is versioning enabled, S3 returns version ID in response. +// The following example creates an object. If the bucket is versioning enabled, S3 +// returns version ID in response. func ExampleS3_PutObject_shared06() { svc := s3.New(session.New()) input := &s3.PutObjectInput{ Body: aws.ReadSeekCloser(strings.NewReader("filetoupload")), Bucket: aws.String("examplebucket"), - Key: aws.String("exampleobject"), - Metadata: map[string]*string{ - "metadata1": aws.String("value1"), - "metadata2": aws.String("value2"), - }, + Key: aws.String("objectkey"), } result, err := svc.PutObject(input) diff --git a/service/snowball/api.go b/service/snowball/api.go index 34063b6a74c..1fdb20b41fd 100644 --- a/service/snowball/api.go +++ b/service/snowball/api.go @@ -71,7 +71,7 @@ func (c *Snowball) CancelClusterRequest(input *CancelClusterInput) (req *request // // Returned Error Types: // * KMSRequestFailedException -// The provided AWS Key Management Service key lacks the permissions to perform +// The provided Key Management Service key lacks the permissions to perform // the specified CreateJob or UpdateJob action. // // * InvalidJobStateException @@ -170,7 +170,7 @@ func (c *Snowball) CancelJobRequest(input *CancelJobInput) (req *request.Request // that action to be performed. // // * KMSRequestFailedException -// The provided AWS Key Management Service key lacks the permissions to perform +// The provided Key Management Service key lacks the permissions to perform // the specified CreateJob or UpdateJob action. // // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CancelJob @@ -259,7 +259,7 @@ func (c *Snowball) CreateAddressRequest(input *CreateAddressInput) (req *request // * UnsupportedAddressException // The address is either outside the serviceable area for your region, or an // error occurred. Check the address with your region's carrier and try again. -// If the issue persists, contact AWS Support. +// If the issue persists, contact Amazon Web Services Support. // // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateAddress func (c *Snowball) CreateAddress(input *CreateAddressInput) (*CreateAddressOutput, error) { @@ -344,7 +344,7 @@ func (c *Snowball) CreateClusterRequest(input *CreateClusterInput) (req *request // in your last request, and try again. // // * KMSRequestFailedException -// The provided AWS Key Management Service key lacks the permissions to perform +// The provided Key Management Service key lacks the permissions to perform // the specified CreateJob or UpdateJob action. // // * InvalidInputCombinationException @@ -423,20 +423,21 @@ func (c *Snowball) CreateJobRequest(input *CreateJobInput) (req *request.Request // CreateJob API operation for Amazon Import/Export Snowball. // // Creates a job to import or export data between Amazon S3 and your on-premises -// data center. Your AWS account must have the right trust policies and permissions -// in place to create a job for a Snow device. If you're creating a job for -// a node in a cluster, you only need to provide the clusterId value; the other -// job attributes are inherited from the cluster. +// data center. Your Amazon Web Services account must have the right trust policies +// and permissions in place to create a job for a Snow device. If you're creating +// a job for a node in a cluster, you only need to provide the clusterId value; +// the other job attributes are inherited from the cluster. // // Only the Snowball; Edge device type is supported when ordering clustered // jobs. // // The device capacity is optional. // -// Availability of device types differ by AWS Region. For more information about -// Region availability, see AWS Regional Services (https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/?p=ngi&loc=4). +// Availability of device types differ by Amazon Web Services Region. For more +// information about Region availability, see Amazon Web Services Regional Services +// (https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/?p=ngi&loc=4). // -// AWS Snow Family device types and their capacities. +// Snow Family Devices and their capacities. // // * Snow Family device type: SNC1_SSD Capacity: T14 Description: Snowcone // @@ -455,12 +456,12 @@ func (c *Snowball) CreateJobRequest(input *CreateJobInput) (req *request.Request // Optimized with EC2 Compute // // * Device type: STANDARD Capacity: T50 Description: Original Snowball device -// This device is only available in the Ningxia, Beijing, and Singapore AWS -// Regions. +// This device is only available in the Ningxia, Beijing, and Singapore Amazon +// Web Services Region // // * Device type: STANDARD Capacity: T80 Description: Original Snowball device -// This device is only available in the Ningxia, Beijing, and Singapore AWS -// Regions. +// This device is only available in the Ningxia, Beijing, and Singapore Amazon +// Web Services Region. // // 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 @@ -475,7 +476,7 @@ func (c *Snowball) CreateJobRequest(input *CreateJobInput) (req *request.Request // in your last request, and try again. // // * KMSRequestFailedException -// The provided AWS Key Management Service key lacks the permissions to perform +// The provided Key Management Service key lacks the permissions to perform // the specified CreateJob or UpdateJob action. // // * InvalidInputCombinationException @@ -561,7 +562,8 @@ func (c *Snowball) CreateLongTermPricingRequest(input *CreateLongTermPricingInpu // // Creates a job with the long-term usage option for a device. The long-term // usage is a 1-year or 3-year long-term pricing type for the device. You are -// billed upfront, and AWS provides discounts for long-term pricing. +// billed upfront, and Amazon Web Services provides discounts for long-term +// pricing. // // 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 @@ -641,7 +643,8 @@ func (c *Snowball) CreateReturnShippingLabelRequest(input *CreateReturnShippingL // CreateReturnShippingLabel API operation for Amazon Import/Export Snowball. // -// Creates a shipping label that will be used to return the Snow device to AWS. +// Creates a shipping label that will be used to return the Snow device to Amazon +// Web Services. // // 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 @@ -671,7 +674,7 @@ func (c *Snowball) CreateReturnShippingLabelRequest(input *CreateReturnShippingL // * ReturnShippingLabelAlreadyExistsException // You get this exception if you call CreateReturnShippingLabel and a valid // return shipping label already exists. In this case, use DescribeReturnShippingLabel -// to get the url. +// to get the URL. // // See also, https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30/CreateReturnShippingLabel func (c *Snowball) CreateReturnShippingLabel(input *CreateReturnShippingLabelInput) (*CreateReturnShippingLabelOutput, error) { @@ -1127,7 +1130,7 @@ func (c *Snowball) DescribeReturnShippingLabelRequest(input *DescribeReturnShipp // DescribeReturnShippingLabel API operation for Amazon Import/Export Snowball. // // Information on the shipping label of a Snow device that is being returned -// to AWS. +// to Amazon Web Services. // // 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 @@ -1416,8 +1419,8 @@ func (c *Snowball) GetSnowballUsageRequest(input *GetSnowballUsageInput) (req *r // and also the number of Snow devices your account has in use. // // The default service limit for the number of Snow devices that you can have -// at one time is 1. If you want to increase your service limit, contact AWS -// Support. +// at one time is 1. If you want to increase your service limit, contact Amazon +// Web Services Support. // // 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 @@ -1745,10 +1748,10 @@ func (c *Snowball) ListCompatibleImagesRequest(input *ListCompatibleImagesInput) // ListCompatibleImages API operation for Amazon Import/Export Snowball. // // This action returns a list of the different Amazon EC2 Amazon Machine Images -// (AMIs) that are owned by your AWS account that would be supported for use -// on a Snow device. Currently, supported AMIs are based on the CentOS 7 (x86_64) -// - with Updates HVM, Ubuntu Server 14.04 LTS (HVM), and Ubuntu 16.04 LTS - -// Xenial (HVM) images, available on the AWS Marketplace. +// (AMIs) that are owned by your Amazon Web Services accountthat would be supported +// for use on a Snow device. Currently, supported AMIs are based on the CentOS +// 7 (x86_64) - with Updates HVM, Ubuntu Server 14.04 LTS (HVM), and Ubuntu +// 16.04 LTS - Xenial (HVM) images, available on the Amazon Web Services Marketplace. // // 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 @@ -2081,7 +2084,7 @@ func (c *Snowball) UpdateClusterRequest(input *UpdateClusterInput) (req *request // that action to be performed. // // * KMSRequestFailedException -// The provided AWS Key Management Service key lacks the permissions to perform +// The provided Key Management Service key lacks the permissions to perform // the specified CreateJob or UpdateJob action. // // * InvalidInputCombinationException @@ -2181,7 +2184,7 @@ func (c *Snowball) UpdateJobRequest(input *UpdateJobInput) (req *request.Request // that action to be performed. // // * KMSRequestFailedException -// The provided AWS Key Management Service key lacks the permissions to perform +// The provided Key Management Service key lacks the permissions to perform // the specified CreateJob or UpdateJob action. // // * InvalidInputCombinationException @@ -2896,15 +2899,15 @@ type ClusterMetadata struct { // The KmsKeyARN Amazon Resource Name (ARN) associated with this cluster. This // ARN was created using the CreateKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) - // API action in AWS Key Management Service (AWS KMS). + // API action in Key Management Service (KMS. KmsKeyARN *string `type:"string"` // The Amazon Simple Notification Service (Amazon SNS) notification settings // for this cluster. Notification *Notification `type:"structure"` - // Represents metadata and configuration settings for services on an AWS Snow - // Family device. + // Represents metadata and configuration settings for services on an Amazon + // Web Services Snow Family device. OnDeviceServiceConfiguration *OnDeviceServiceConfiguration `type:"structure"` // The arrays of JobResource objects that can include updated S3Resource objects @@ -2913,7 +2916,7 @@ type ClusterMetadata struct { // The role ARN associated with this cluster. This ARN was created using the // CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html) - // API action in AWS Identity and Access Management (IAM). + // API action in Identity and Access Management (IAM). RoleARN *string `type:"string"` // The shipping speed for each node in this cluster. This speed doesn't dictate @@ -2934,13 +2937,13 @@ type ClusterMetadata struct { // * In the US, you have access to one-day shipping and two-day shipping. ShippingOption *string `type:"string" enum:"ShippingOption"` - // The type of AWS Snow device to use for this cluster. + // The type of Snowcone device to use for this cluster. // - // For cluster jobs, AWS Snow Family currently supports only the EDGE device - // type. + // For cluster jobs, Amazon Web Services Snow Family currently supports only + // the EDGE device type. SnowballType *string `type:"string" enum:"Type"` - // The tax documents required in your AWS Region. + // The tax documents required in your Amazon Web Services Region. TaxDocuments *TaxDocuments `type:"structure"` } @@ -3275,7 +3278,7 @@ type CreateClusterInput struct { // The KmsKeyARN value that you want to associate with this cluster. KmsKeyARN // values are created by using the CreateKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) - // API action in AWS Key Management Service (AWS KMS). + // API action in Key Management Service (KMS). KmsKeyARN *string `type:"string"` // The Amazon Simple Notification Service (Amazon SNS) notification settings @@ -3283,8 +3286,8 @@ type CreateClusterInput struct { Notification *Notification `type:"structure"` // Specifies the service or services on the Snow Family device that your transferred - // data will be exported from or imported into. AWS Snow Family supports Amazon - // S3 and NFS (Network File System). + // data will be exported from or imported into. Amazon Web Services Snow Family + // device clusters support Amazon S3 and NFS (Network File System). OnDeviceServiceConfiguration *OnDeviceServiceConfiguration `type:"structure"` // Allows you to securely operate and manage Snow devices in a cluster remotely @@ -3294,14 +3297,14 @@ type CreateClusterInput struct { RemoteManagement *string `type:"string" enum:"RemoteManagement"` // The resources associated with the cluster job. These resources include Amazon - // S3 buckets and optional AWS Lambda functions written in the Python language. + // S3 buckets and optional Lambda functions written in the Python language. // // Resources is a required field Resources *JobResource `type:"structure" required:"true"` // The RoleARN that you want to associate with this cluster. RoleArn values // are created by using the CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html) - // API action in AWS Identity and Access Management (IAM). + // API action in Identity and Access Management (IAM). // // RoleARN is a required field RoleARN *string `type:"string" required:"true"` @@ -3339,10 +3342,10 @@ type CreateClusterInput struct { // ShippingOption is a required field ShippingOption *string `type:"string" required:"true" enum:"ShippingOption"` - // The type of AWS Snow Family device to use for this cluster. + // The type of Snow Family Devices to use for this cluster. // - // For cluster jobs, AWS Snow Family currently supports only the EDGE device - // type. + // For cluster jobs, Amazon Web Services Snow Family currently supports only + // the EDGE device type. // // For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html" // (Snow Family Devices and Capacity) in the Snowcone User Guide or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html" @@ -3351,7 +3354,7 @@ type CreateClusterInput struct { // SnowballType is a required field SnowballType *string `type:"string" required:"true" enum:"Type"` - // The tax documents required in your AWS Region. + // The tax documents required in your Amazon Web Services Region. TaxDocuments *TaxDocuments `type:"structure"` } @@ -3539,7 +3542,7 @@ type CreateJobInput struct { // Photos 2016-08-11. Description *string `min:"1" type:"string"` - // Defines the device configuration for an AWS Snowcone job. + // Defines the device configuration for an Snowcone job. // // For more information, see "https://docs.aws.amazon.com/snowball/latest/snowcone-guide/snow-device-types.html" // (Snow Family Devices and Capacity) in the Snowcone User Guide or "https://docs.aws.amazon.com/snowball/latest/developer-guide/snow-device-types.html" @@ -3555,7 +3558,7 @@ type CreateJobInput struct { // The KmsKeyARN that you want to associate with this job. KmsKeyARNs are created // using the CreateKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) - // AWS Key Management Service (KMS) API action. + // Key Management Service (KMS) API action. KmsKeyARN *string `type:"string"` // The ID of the long-term pricing type for the device. @@ -3566,8 +3569,9 @@ type CreateJobInput struct { Notification *Notification `type:"structure"` // Specifies the service or services on the Snow Family device that your transferred - // data will be exported from or imported into. AWS Snow Family supports Amazon - // S3 and NFS (Network File System). + // data will be exported from or imported into. Amazon Web Services Snow Family + // supports Amazon S3 and NFS (Network File System) and the Amazon Web Services + // Storage Gateway service Tape Gateway type. OnDeviceServiceConfiguration *OnDeviceServiceConfiguration `type:"structure"` // Allows you to securely operate and manage Snowcone devices remotely from @@ -3590,7 +3594,7 @@ type CreateJobInput struct { // The RoleARN that you want to associate with this job. RoleArns are created // using the CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html) - // AWS Identity and Access Management (IAM) API action. + // Identity and Access Management (IAM) API action. RoleARN *string `type:"string"` // The shipping speed for this job. This speed doesn't dictate how soon you'll @@ -3619,13 +3623,13 @@ type CreateJobInput struct { // (Snow Family Devices and Capacity) in the Snowcone User Guide. SnowballCapacityPreference *string `type:"string" enum:"Capacity"` - // The type of AWS Snow Family device to use for this job. + // The type of Snow Family Devices to use for this job. // - // For cluster jobs, AWS Snow Family currently supports only the EDGE device - // type. + // For cluster jobs, Amazon Web Services Snow Family currently supports only + // the EDGE device type. // - // The type of AWS Snow device to use for this job. Currently, the only supported - // device type for cluster jobs is EDGE. + // The type of Amazon Web Services Snow device to use for this job. Currently, + // the only supported device type for cluster jobs is EDGE. // // For more information, see Snowball Edge Device Options (https://docs.aws.amazon.com/snowball/latest/developer-guide/device-differences.html) // in the Snowball Edge Developer Guide. @@ -3635,7 +3639,7 @@ type CreateJobInput struct { // (Snow Family Devices and Capacity) in the Snowcone User Guide. SnowballType *string `type:"string" enum:"Type"` - // The tax documents required in your AWS Region. + // The tax documents required in your Amazon Web Services Region. TaxDocuments *TaxDocuments `type:"structure"` } @@ -3833,7 +3837,7 @@ type CreateLongTermPricingInput struct { // LongTermPricingType is a required field LongTermPricingType *string `type:"string" required:"true" enum:"LongTermPricingType"` - // The type of AWS Snow Family device to use for the long-term pricing job. + // The type of Snow Family Devices to use for the long-term pricing job. SnowballType *string `type:"string" enum:"Type"` } @@ -3927,8 +3931,9 @@ type CreateReturnShippingLabelInput struct { JobId *string `min:"39" type:"string" required:"true"` // The shipping speed for a particular job. This speed doesn't dictate how soon - // the device is returned to AWS. This speed represents how quickly it moves - // to its destination while in transit. Regional shipping speeds are as follows: + // the device is returned to Amazon Web Services. This speed represents how + // quickly it moves to its destination while in transit. Regional shipping speeds + // are as follows: ShippingOption *string `type:"string" enum:"ShippingOption"` } @@ -3982,7 +3987,7 @@ type CreateReturnShippingLabelOutput struct { _ struct{} `type:"structure"` // The status information of the task on a Snow device that is being returned - // to AWS. + // to Amazon Web Services. Status *string `type:"string" enum:"ShippingLabelStatus"` } @@ -4011,8 +4016,8 @@ func (s *CreateReturnShippingLabelOutput) SetStatus(v string) *CreateReturnShipp } // Defines the real-time status of a Snow device's data transfer while the device -// is at AWS. This data is only available while a job has a JobState value of -// InProgress, for both import and export jobs. +// is at Amazon Web Services. This data is only available while a job has a +// JobState value of InProgress, for both import and export jobs. type DataTransfer struct { _ struct{} `type:"structure"` @@ -4480,8 +4485,11 @@ type DescribeReturnShippingLabelOutput struct { // The expiration date of the current return shipping label. ExpirationDate *time.Time `type:"timestamp"` + // The pre-signed Amazon S3 URI used to download the return shipping label. + ReturnShippingLabelURI *string `min:"1" type:"string"` + // The status information of the task on a Snow device that is being returned - // to AWS. + // to Amazon Web Services. Status *string `type:"string" enum:"ShippingLabelStatus"` } @@ -4509,6 +4517,12 @@ func (s *DescribeReturnShippingLabelOutput) SetExpirationDate(v time.Time) *Desc return s } +// SetReturnShippingLabelURI sets the ReturnShippingLabelURI field's value. +func (s *DescribeReturnShippingLabelOutput) SetReturnShippingLabelURI(v string) *DescribeReturnShippingLabelOutput { + s.ReturnShippingLabelURI = &v + return s +} + // SetStatus sets the Status field's value. func (s *DescribeReturnShippingLabelOutput) SetStatus(v string) *DescribeReturnShippingLabelOutput { s.Status = &v @@ -4519,7 +4533,7 @@ func (s *DescribeReturnShippingLabelOutput) SetStatus(v string) *DescribeReturnS type DeviceConfiguration struct { _ struct{} `type:"structure"` - // Returns information about the device configuration for an AWS Snowcone job. + // Returns information about the device configuration for an Snowcone job. SnowconeDeviceConfiguration *SnowconeDeviceConfiguration `type:"structure"` } @@ -4549,8 +4563,8 @@ func (s *DeviceConfiguration) SetSnowconeDeviceConfiguration(v *SnowconeDeviceCo // A JSON-formatted object that contains the IDs for an Amazon Machine Image // (AMI), including the Amazon EC2 AMI ID and the Snow device AMI ID. Each AMI -// has these two IDs to simplify identifying the AMI in both the AWS Cloud and -// on the device. +// has these two IDs to simplify identifying the AMI in both the Amazon Web +// Services Cloud and on the device. type Ec2AmiResource struct { _ struct{} `type:"structure"` @@ -4682,7 +4696,7 @@ type EventTriggerDefinition struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) for any local Amazon S3 resource that is an - // AWS Lambda function's event trigger associated with this job. + // Lambda function's event trigger associated with this job. EventResourceARN *string `type:"string"` } @@ -5021,11 +5035,12 @@ func (s *GetSoftwareUpdatesOutput) SetUpdatesURI(v string) *GetSoftwareUpdatesOu return s } -// The tax documents required in AWS Regions in India. +// The tax documents required in Amazon Web Services Region in India. type INDTaxDocuments struct { _ struct{} `type:"structure"` - // The Goods and Services Tax (GST) documents required in AWS Regions in India. + // The Goods and Services Tax (GST) documents required in Amazon Web Services + // Region in India. GSTIN *string `type:"string"` } @@ -5560,8 +5575,8 @@ type JobMetadata struct { CreationDate *time.Time `type:"timestamp"` // A value that defines the real-time status of a Snow device's data transfer - // while the device is at AWS. This data is only available while a job has a - // JobState value of InProgress, for both import and export jobs. + // while the device is at Amazon Web Services. This data is only available while + // a job has a JobState value of InProgress, for both import and export jobs. DataTransferProgress *DataTransfer `type:"structure"` // The description of the job, provided at job creation. @@ -5589,9 +5604,9 @@ type JobMetadata struct { // The type of job. JobType *string `type:"string" enum:"JobType"` - // The Amazon Resource Name (ARN) for the AWS Key Management Service (AWS KMS) - // key associated with this job. This ARN was created using the CreateKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) - // API action in AWS KMS. + // The Amazon Resource Name (ARN) for the Key Management Service (KMS) key associated + // with this job. This ARN was created using the CreateKey (https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) + // API action in KMS. KmsKeyARN *string `type:"string"` // The ID of the long-term pricing type for the device. @@ -5603,8 +5618,8 @@ type JobMetadata struct { // data type. Notification *Notification `type:"structure"` - // Represents metadata and configuration settings for services on an AWS Snow - // Family device. + // Represents metadata and configuration settings for services on an Amazon + // Web Services Snow Family device. OnDeviceServiceConfiguration *OnDeviceServiceConfiguration `type:"structure"` // Allows you to securely operate and manage Snowcone devices remotely from @@ -5619,7 +5634,7 @@ type JobMetadata struct { // The role ARN associated with this job. This ARN was created using the CreateRole // (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html) - // API action in AWS Identity and Access Management (IAM). + // API action in Identity and Access Management. RoleARN *string `type:"string"` // A job's shipping information, including inbound and outbound tracking numbers @@ -5638,7 +5653,8 @@ type JobMetadata struct { // The type of device used with this job. SnowballType *string `type:"string" enum:"Type"` - // The metadata associated with the tax documents required in your AWS Region. + // The metadata associated with the tax documents required in your Amazon Web + // Services Region. TaxDocuments *TaxDocuments `type:"structure"` } @@ -5792,9 +5808,9 @@ func (s *JobMetadata) SetTaxDocuments(v *TaxDocuments) *JobMetadata { return s } -// Contains an array of AWS resource objects. Each object represents an Amazon -// S3 bucket, an AWS Lambda function, or an Amazon Machine Image (AMI) based -// on Amazon EC2 that is associated with a particular job. +// Contains an array of Amazon Web Services resource objects. Each object represents +// an Amazon S3 bucket, an Lambda function, or an Amazon Machine Image (AMI) +// based on Amazon EC2 that is associated with a particular job. type JobResource struct { _ struct{} `type:"structure"` @@ -5874,7 +5890,7 @@ func (s *JobResource) SetS3Resources(v []*S3Resource) *JobResource { return s } -// The provided AWS Key Management Service key lacks the permissions to perform +// The provided Key Management Service key lacks the permissions to perform // the specified CreateJob or UpdateJob action. type KMSRequestFailedException struct { _ struct{} `type:"structure"` @@ -6009,8 +6025,8 @@ type LambdaResource struct { // associated with this job. EventTriggers []*EventTriggerDefinition `type:"list"` - // An Amazon Resource Name (ARN) that represents an AWS Lambda function to be - // triggered by PUT object actions on the associated local Amazon S3 resource. + // An Amazon Resource Name (ARN) that represents an Lambda function to be triggered + // by PUT object actions on the associated local Amazon S3 resource. LambdaArn *string `type:"string"` } @@ -6583,8 +6599,7 @@ type LongTermPricingListEntry struct { // A new device that replaces a device that is ordered with long-term pricing. ReplacementJob *string `min:"39" type:"string"` - // The type of AWS Snow Family device associated with this long-term pricing - // job. + // The type of Snow Family Devices associated with this long-term pricing job. SnowballType *string `type:"string" enum:"Type"` } @@ -6666,12 +6681,12 @@ func (s *LongTermPricingListEntry) SetSnowballType(v string) *LongTermPricingLis return s } -// An object that represents metadata and configuration settings for NFS service -// on an AWS Snow Family device. +// An object that represents the metadata and configuration settings for the +// NFS (Network File System) service on an Amazon Web Services Snow Family device. type NFSOnDeviceServiceConfiguration struct { _ struct{} `type:"structure"` - // The maximum NFS storage for one Snowball Family device. + // The maximum NFS storage for one Snow Family device. StorageLimit *int64 `type:"integer"` // The scale unit of the NFS storage on the device. @@ -6732,8 +6747,8 @@ type Notification struct { // Amazon Resource Names (ARNs) for topics by using the CreateTopic (https://docs.aws.amazon.com/sns/latest/api/API_CreateTopic.html) // Amazon SNS API action. // - // You can subscribe email addresses to an Amazon SNS topic through the AWS - // Management Console, or by using the Subscribe (https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html) + // You can subscribe email addresses to an Amazon SNS topic through the Amazon + // Web Services Management Console, or by using the Subscribe (https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html) // Amazon Simple Notification Service (Amazon SNS) API action. SnsTopicARN *string `type:"string"` } @@ -6774,13 +6789,17 @@ func (s *Notification) SetSnsTopicARN(v string) *Notification { return s } -// An object that represents metadata and configuration settings for services -// on an AWS Snow Family device. +// An object that represents the metadata and configuration settings for services +// on an Amazon Web Services Snow Family device. type OnDeviceServiceConfiguration struct { _ struct{} `type:"structure"` - // Represents the NFS service on a Snow Family device. + // Represents the NFS (Network File System) service on a Snow Family device. NFSOnDeviceService *NFSOnDeviceServiceConfiguration `type:"structure"` + + // Represents the Storage Gateway service Tape Gateway type on a Snow Family + // device. + TGWOnDeviceService *TGWOnDeviceServiceConfiguration `type:"structure"` } // String returns the string representation. @@ -6807,9 +6826,15 @@ func (s *OnDeviceServiceConfiguration) SetNFSOnDeviceService(v *NFSOnDeviceServi return s } +// SetTGWOnDeviceService sets the TGWOnDeviceService field's value. +func (s *OnDeviceServiceConfiguration) SetTGWOnDeviceService(v *TGWOnDeviceServiceConfiguration) *OnDeviceServiceConfiguration { + s.TGWOnDeviceService = v + return s +} + // You get this exception if you call CreateReturnShippingLabel and a valid // return shipping label already exists. In this case, use DescribeReturnShippingLabel -// to get the url. +// to get the URL. type ReturnShippingLabelAlreadyExistsException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -6891,8 +6916,8 @@ type S3Resource struct { KeyRange *KeyRange `type:"structure"` // Specifies the service or services on the Snow Family device that your transferred - // data will be exported from or imported into. AWS Snow Family supports Amazon - // S3 and NFS (Network File System). + // data will be exported from or imported into. Amazon Web Services Snow Family + // supports Amazon S3 and NFS (Network File System). TargetOnDeviceServices []*TargetOnDeviceService `type:"list"` } @@ -6999,7 +7024,7 @@ type ShippingDetails struct { _ struct{} `type:"structure"` // The Status and TrackingNumber values for a Snow device being returned to - // AWS for a particular job. + // Amazon Web Services for a particular job. InboundShipment *Shipment `type:"structure"` // The Status and TrackingNumber values for a Snow device being delivered to @@ -7062,11 +7087,11 @@ func (s *ShippingDetails) SetShippingOption(v string) *ShippingDetails { return s } -// Specifies the device configuration for an AWS Snowcone job. +// Specifies the device configuration for an Snowcone job. type SnowconeDeviceConfiguration struct { _ struct{} `type:"structure"` - // Configures the wireless connection for the AWS Snowcone device. + // Configures the wireless connection for the Snowcone device. WirelessConnection *WirelessConnection `type:"structure"` } @@ -7094,9 +7119,54 @@ func (s *SnowconeDeviceConfiguration) SetWirelessConnection(v *WirelessConnectio return s } +// An object that represents the metadata and configuration settings for the +// Storage Gateway service Tape Gateway type on an Amazon Web Services Snow +// Family device. +type TGWOnDeviceServiceConfiguration struct { + _ struct{} `type:"structure"` + + // The maximum number of virtual tapes to store on one Snow Family device. Due + // to physical resource limitations, this value must be set to 80 for Snowball + // Edge. + StorageLimit *int64 `type:"integer"` + + // The scale unit of the virtual tapes on the device. + StorageUnit *string `type:"string" enum:"StorageUnit"` +} + +// 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 TGWOnDeviceServiceConfiguration) 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 TGWOnDeviceServiceConfiguration) GoString() string { + return s.String() +} + +// SetStorageLimit sets the StorageLimit field's value. +func (s *TGWOnDeviceServiceConfiguration) SetStorageLimit(v int64) *TGWOnDeviceServiceConfiguration { + s.StorageLimit = &v + return s +} + +// SetStorageUnit sets the StorageUnit field's value. +func (s *TGWOnDeviceServiceConfiguration) SetStorageUnit(v string) *TGWOnDeviceServiceConfiguration { + s.StorageUnit = &v + return s +} + // An object that represents the service or services on the Snow Family device -// that your transferred data will be exported from or imported into. AWS Snow -// Family supports Amazon S3 and NFS (Network File System). +// that your transferred data will be exported from or imported into. Amazon +// Web Services Snow Family supports Amazon S3 and NFS (Network File System). type TargetOnDeviceService struct { _ struct{} `type:"structure"` @@ -7139,11 +7209,11 @@ func (s *TargetOnDeviceService) SetTransferOption(v string) *TargetOnDeviceServi return s } -// The tax documents required in your AWS Region. +// The tax documents required in your Amazon Web Services Region. type TaxDocuments struct { _ struct{} `type:"structure"` - // The tax documents required in AWS Regions in India. + // The tax documents required in Amazon Web Services Region in India. IND *INDTaxDocuments `type:"structure"` } @@ -7173,7 +7243,7 @@ func (s *TaxDocuments) SetIND(v *INDTaxDocuments) *TaxDocuments { // The address is either outside the serviceable area for your region, or an // error occurred. Check the address with your region's carrier and try again. -// If the issue persists, contact AWS Support. +// If the issue persists, contact Amazon Web Services Support. type UnsupportedAddressException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -7259,8 +7329,8 @@ type UpdateClusterInput struct { Notification *Notification `type:"structure"` // Specifies the service or services on the Snow Family device that your transferred - // data will be exported from or imported into. AWS Snow Family supports Amazon - // S3 and NFS (Network File System). + // data will be exported from or imported into. Amazon Web Services Snow Family + // device clusters support Amazon S3 and NFS (Network File System). OnDeviceServiceConfiguration *OnDeviceServiceConfiguration `type:"structure"` // The updated arrays of JobResource objects that can include updated S3Resource @@ -7269,7 +7339,7 @@ type UpdateClusterInput struct { // The new role Amazon Resource Name (ARN) that you want to associate with this // cluster. To create a role ARN, use the CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html) - // API action in AWS Identity and Access Management (IAM). + // API action in Identity and Access Management (IAM). RoleARN *string `type:"string"` // The updated shipping option value of this cluster's ShippingDetails object. @@ -7422,16 +7492,17 @@ type UpdateJobInput struct { Notification *Notification `type:"structure"` // Specifies the service or services on the Snow Family device that your transferred - // data will be exported from or imported into. AWS Snow Family supports Amazon - // S3 and NFS (Network File System). + // data will be exported from or imported into. Amazon Web Services Snow Family + // supports Amazon S3 and NFS (Network File System) and the Amazon Web Services + // Storage Gateway service Tape Gateway type. OnDeviceServiceConfiguration *OnDeviceServiceConfiguration `type:"structure"` // The updated JobResource object, or the updated JobResource object. Resources *JobResource `type:"structure"` // The new role Amazon Resource Name (ARN) that you want to associate with this - // job. To create a role ARN, use the CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)AWS - // Identity and Access Management (IAM) API action. + // job. To create a role ARN, use the CreateRole (https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateRole.html)Identity + // and Access Management (IAM) API action. RoleARN *string `type:"string"` // The updated shipping option value of this job's ShippingDetails object. @@ -7589,7 +7660,7 @@ type UpdateJobShipmentStateInput struct { // // Set to RECEIVED when the device arrives at your location. // - // Set to RETURNED when you have returned the device to AWS. + // Set to RETURNED when you have returned the device to Amazon Web Services. // // ShipmentState is a required field ShipmentState *string `type:"string" required:"true" enum:"ShipmentState"` @@ -7761,11 +7832,11 @@ func (s UpdateLongTermPricingOutput) GoString() string { return s.String() } -// Configures the wireless connection on an AWS Snowcone device. +// Configures the wireless connection on an Snowcone device. type WirelessConnection struct { _ struct{} `type:"structure"` - // Enables the Wi-Fi adapter on an AWS Snowcone device. + // Enables the Wi-Fi adapter on an Snowcone device. IsWifiEnabled *bool `type:"boolean"` } diff --git a/service/snowball/doc.go b/service/snowball/doc.go index d7b43b84e32..64f46aaf516 100644 --- a/service/snowball/doc.go +++ b/service/snowball/doc.go @@ -3,14 +3,15 @@ // Package snowball provides the client and types for making API // requests to Amazon Import/Export Snowball. // -// AWS Snow Family is a petabyte-scale data transport solution that uses secure -// devices to transfer large amounts of data between your on-premises data centers -// and Amazon Simple Storage Service (Amazon S3). The Snow commands described -// here provide access to the same functionality that is available in the AWS -// Snow Family Management Console, which enables you to create and manage jobs -// for a Snow device. To transfer data locally with a Snow device, you'll need -// to use the Snowball Edge client or the Amazon S3 API Interface for Snowball -// or AWS OpsHub for Snow Family. For more information, see the User Guide (https://docs.aws.amazon.com/AWSImportExport/latest/ug/api-reference.html). +// The Amazon Web Services Snow Family provides a petabyte-scale data transport +// solution that uses secure devices to transfer large amounts of data between +// your on-premises data centers and Amazon Simple Storage Service (Amazon S3). +// The Snow Family commands described here provide access to the same functionality +// that is available in the Amazon Web Services Snow Family Management Console, +// which enables you to create and manage jobs for a Snow Family device. To +// transfer data locally with a Snow Family device, you'll need to use the Snowball +// Edge client or the Amazon S3 API Interface for Snowball or OpsHub for Snow +// Family. For more information, see the User Guide (https://docs.aws.amazon.com/AWSImportExport/latest/ug/api-reference.html). // // See https://docs.aws.amazon.com/goto/WebAPI/snowball-2016-06-30 for more information on this service. // diff --git a/service/snowball/errors.go b/service/snowball/errors.go index 6f8ec33f720..8f140ce95b0 100644 --- a/service/snowball/errors.go +++ b/service/snowball/errors.go @@ -70,7 +70,7 @@ const ( // ErrCodeKMSRequestFailedException for service response error code // "KMSRequestFailedException". // - // The provided AWS Key Management Service key lacks the permissions to perform + // The provided Key Management Service key lacks the permissions to perform // the specified CreateJob or UpdateJob action. ErrCodeKMSRequestFailedException = "KMSRequestFailedException" @@ -79,7 +79,7 @@ const ( // // You get this exception if you call CreateReturnShippingLabel and a valid // return shipping label already exists. In this case, use DescribeReturnShippingLabel - // to get the url. + // to get the URL. ErrCodeReturnShippingLabelAlreadyExistsException = "ReturnShippingLabelAlreadyExistsException" // ErrCodeUnsupportedAddressException for service response error code @@ -87,7 +87,7 @@ const ( // // The address is either outside the serviceable area for your region, or an // error occurred. Check the address with your region's carrier and try again. - // If the issue persists, contact AWS Support. + // If the issue persists, contact Amazon Web Services Support. ErrCodeUnsupportedAddressException = "UnsupportedAddressException" ) diff --git a/service/storagegateway/api.go b/service/storagegateway/api.go index 454560f1fa3..60845382194 100644 --- a/service/storagegateway/api.go +++ b/service/storagegateway/api.go @@ -8889,7 +8889,7 @@ type ActivateGatewayInput struct { // is critical to all later functions of the gateway and cannot be changed after // activation. The default value is CACHED. // - // Valid Values: STORED | CACHED | VTL | FILE_S3 | FILE_FSX_SMB| + // Valid Values: STORED | CACHED | VTL | VTL_SNOW | FILE_S3 | FILE_FSX_SMB GatewayType *string `min:"2" type:"string"` // The value that indicates the type of medium changer to use for tape gateway. @@ -14771,9 +14771,14 @@ type DescribeGatewayInformationOutput struct { // The type of the gateway. GatewayType *string `min:"2" type:"string"` - // The type of hypervisor environment used by the host. + // The type of hardware or software platform on which the gateway is running. HostEnvironment *string `type:"string" enum:"HostEnvironment"` + // A unique identifier for the specific instance of the host platform running + // the gateway. This value is only available for certain host environments, + // and its format depends on the host environment type. + HostEnvironmentId *string `min:"1" type:"string"` + // The date on which the last software update was applied to the gateway. If // the gateway has never been updated, this field does not return a value in // the response. @@ -14903,6 +14908,12 @@ func (s *DescribeGatewayInformationOutput) SetHostEnvironment(v string) *Describ return s } +// SetHostEnvironmentId sets the HostEnvironmentId field's value. +func (s *DescribeGatewayInformationOutput) SetHostEnvironmentId(v string) *DescribeGatewayInformationOutput { + s.HostEnvironmentId = &v + return s +} + // SetLastSoftwareUpdate sets the LastSoftwareUpdate field's value. func (s *DescribeGatewayInformationOutput) SetLastSoftwareUpdate(v string) *DescribeGatewayInformationOutput { s.LastSoftwareUpdate = &v @@ -17269,6 +17280,14 @@ type GatewayInfo struct { // The type of the gateway. GatewayType *string `min:"2" type:"string"` + + // The type of hardware or software platform on which the gateway is running. + HostEnvironment *string `type:"string" enum:"HostEnvironment"` + + // A unique identifier for the specific instance of the host platform running + // the gateway. This value is only available for certain host environments, + // and its format depends on the host environment type. + HostEnvironmentId *string `min:"1" type:"string"` } // String returns the string representation. @@ -17331,6 +17350,18 @@ func (s *GatewayInfo) SetGatewayType(v string) *GatewayInfo { return s } +// SetHostEnvironment sets the HostEnvironment field's value. +func (s *GatewayInfo) SetHostEnvironment(v string) *GatewayInfo { + s.HostEnvironment = &v + return s +} + +// SetHostEnvironmentId sets the HostEnvironmentId field's value. +func (s *GatewayInfo) SetHostEnvironmentId(v string) *GatewayInfo { + s.HostEnvironmentId = &v + return s +} + // An internal server error has occurred during the request. For more information, // see the error and message fields. type InternalServerError struct { @@ -24595,6 +24626,9 @@ const ( // HostEnvironmentOther is a HostEnvironment enum value HostEnvironmentOther = "OTHER" + + // HostEnvironmentSnowball is a HostEnvironment enum value + HostEnvironmentSnowball = "SNOWBALL" ) // HostEnvironment_Values returns all elements of the HostEnvironment enum @@ -24605,6 +24639,7 @@ func HostEnvironment_Values() []string { HostEnvironmentEc2, HostEnvironmentKvm, HostEnvironmentOther, + HostEnvironmentSnowball, } } diff --git a/service/workspacesweb/api.go b/service/workspacesweb/api.go new file mode 100644 index 00000000000..eb7bff9ebd9 --- /dev/null +++ b/service/workspacesweb/api.go @@ -0,0 +1,10707 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package workspacesweb + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opAssociateBrowserSettings = "AssociateBrowserSettings" + +// AssociateBrowserSettingsRequest generates a "aws/request.Request" representing the +// client's request for the AssociateBrowserSettings 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 AssociateBrowserSettings for more information on using the AssociateBrowserSettings +// 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 AssociateBrowserSettingsRequest method. +// req, resp := client.AssociateBrowserSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/AssociateBrowserSettings +func (c *WorkSpacesWeb) AssociateBrowserSettingsRequest(input *AssociateBrowserSettingsInput) (req *request.Request, output *AssociateBrowserSettingsOutput) { + op := &request.Operation{ + Name: opAssociateBrowserSettings, + HTTPMethod: "PUT", + HTTPPath: "/portals/{portalArn+}/browserSettings", + } + + if input == nil { + input = &AssociateBrowserSettingsInput{} + } + + output = &AssociateBrowserSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateBrowserSettings API operation for Amazon WorkSpaces Web. +// +// Associates a browser settings resource with a web portal. +// +// 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 WorkSpaces Web's +// API operation AssociateBrowserSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// * ConflictException +// There is a conflict. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/AssociateBrowserSettings +func (c *WorkSpacesWeb) AssociateBrowserSettings(input *AssociateBrowserSettingsInput) (*AssociateBrowserSettingsOutput, error) { + req, out := c.AssociateBrowserSettingsRequest(input) + return out, req.Send() +} + +// AssociateBrowserSettingsWithContext is the same as AssociateBrowserSettings with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateBrowserSettings 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 *WorkSpacesWeb) AssociateBrowserSettingsWithContext(ctx aws.Context, input *AssociateBrowserSettingsInput, opts ...request.Option) (*AssociateBrowserSettingsOutput, error) { + req, out := c.AssociateBrowserSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opAssociateNetworkSettings = "AssociateNetworkSettings" + +// AssociateNetworkSettingsRequest generates a "aws/request.Request" representing the +// client's request for the AssociateNetworkSettings 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 AssociateNetworkSettings for more information on using the AssociateNetworkSettings +// 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 AssociateNetworkSettingsRequest method. +// req, resp := client.AssociateNetworkSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/AssociateNetworkSettings +func (c *WorkSpacesWeb) AssociateNetworkSettingsRequest(input *AssociateNetworkSettingsInput) (req *request.Request, output *AssociateNetworkSettingsOutput) { + op := &request.Operation{ + Name: opAssociateNetworkSettings, + HTTPMethod: "PUT", + HTTPPath: "/portals/{portalArn+}/networkSettings", + } + + if input == nil { + input = &AssociateNetworkSettingsInput{} + } + + output = &AssociateNetworkSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateNetworkSettings API operation for Amazon WorkSpaces Web. +// +// Associates a network settings resource with a web portal. +// +// 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 WorkSpaces Web's +// API operation AssociateNetworkSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// * ConflictException +// There is a conflict. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/AssociateNetworkSettings +func (c *WorkSpacesWeb) AssociateNetworkSettings(input *AssociateNetworkSettingsInput) (*AssociateNetworkSettingsOutput, error) { + req, out := c.AssociateNetworkSettingsRequest(input) + return out, req.Send() +} + +// AssociateNetworkSettingsWithContext is the same as AssociateNetworkSettings with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateNetworkSettings 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 *WorkSpacesWeb) AssociateNetworkSettingsWithContext(ctx aws.Context, input *AssociateNetworkSettingsInput, opts ...request.Option) (*AssociateNetworkSettingsOutput, error) { + req, out := c.AssociateNetworkSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opAssociateTrustStore = "AssociateTrustStore" + +// AssociateTrustStoreRequest generates a "aws/request.Request" representing the +// client's request for the AssociateTrustStore 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 AssociateTrustStore for more information on using the AssociateTrustStore +// 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 AssociateTrustStoreRequest method. +// req, resp := client.AssociateTrustStoreRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/AssociateTrustStore +func (c *WorkSpacesWeb) AssociateTrustStoreRequest(input *AssociateTrustStoreInput) (req *request.Request, output *AssociateTrustStoreOutput) { + op := &request.Operation{ + Name: opAssociateTrustStore, + HTTPMethod: "PUT", + HTTPPath: "/portals/{portalArn+}/trustStores", + } + + if input == nil { + input = &AssociateTrustStoreInput{} + } + + output = &AssociateTrustStoreOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateTrustStore API operation for Amazon WorkSpaces Web. +// +// Associates a trust store with a web portal. +// +// 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 WorkSpaces Web's +// API operation AssociateTrustStore for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/AssociateTrustStore +func (c *WorkSpacesWeb) AssociateTrustStore(input *AssociateTrustStoreInput) (*AssociateTrustStoreOutput, error) { + req, out := c.AssociateTrustStoreRequest(input) + return out, req.Send() +} + +// AssociateTrustStoreWithContext is the same as AssociateTrustStore with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateTrustStore 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 *WorkSpacesWeb) AssociateTrustStoreWithContext(ctx aws.Context, input *AssociateTrustStoreInput, opts ...request.Option) (*AssociateTrustStoreOutput, error) { + req, out := c.AssociateTrustStoreRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opAssociateUserSettings = "AssociateUserSettings" + +// AssociateUserSettingsRequest generates a "aws/request.Request" representing the +// client's request for the AssociateUserSettings 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 AssociateUserSettings for more information on using the AssociateUserSettings +// 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 AssociateUserSettingsRequest method. +// req, resp := client.AssociateUserSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/AssociateUserSettings +func (c *WorkSpacesWeb) AssociateUserSettingsRequest(input *AssociateUserSettingsInput) (req *request.Request, output *AssociateUserSettingsOutput) { + op := &request.Operation{ + Name: opAssociateUserSettings, + HTTPMethod: "PUT", + HTTPPath: "/portals/{portalArn+}/userSettings", + } + + if input == nil { + input = &AssociateUserSettingsInput{} + } + + output = &AssociateUserSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// AssociateUserSettings API operation for Amazon WorkSpaces Web. +// +// Associates a user settings resource with a web portal. +// +// 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 WorkSpaces Web's +// API operation AssociateUserSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// * ConflictException +// There is a conflict. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/AssociateUserSettings +func (c *WorkSpacesWeb) AssociateUserSettings(input *AssociateUserSettingsInput) (*AssociateUserSettingsOutput, error) { + req, out := c.AssociateUserSettingsRequest(input) + return out, req.Send() +} + +// AssociateUserSettingsWithContext is the same as AssociateUserSettings with the addition of +// the ability to pass a context and additional request options. +// +// See AssociateUserSettings 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 *WorkSpacesWeb) AssociateUserSettingsWithContext(ctx aws.Context, input *AssociateUserSettingsInput, opts ...request.Option) (*AssociateUserSettingsOutput, error) { + req, out := c.AssociateUserSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateBrowserSettings = "CreateBrowserSettings" + +// CreateBrowserSettingsRequest generates a "aws/request.Request" representing the +// client's request for the CreateBrowserSettings 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 CreateBrowserSettings for more information on using the CreateBrowserSettings +// 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 CreateBrowserSettingsRequest method. +// req, resp := client.CreateBrowserSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/CreateBrowserSettings +func (c *WorkSpacesWeb) CreateBrowserSettingsRequest(input *CreateBrowserSettingsInput) (req *request.Request, output *CreateBrowserSettingsOutput) { + op := &request.Operation{ + Name: opCreateBrowserSettings, + HTTPMethod: "POST", + HTTPPath: "/browserSettings", + } + + if input == nil { + input = &CreateBrowserSettingsInput{} + } + + output = &CreateBrowserSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateBrowserSettings API operation for Amazon WorkSpaces Web. +// +// Creates a browser settings resource that can be associated with a web portal. +// Once associated with a web portal, browser settings control how the browser +// will behave once a user starts a streaming session for the web portal. +// +// 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 WorkSpaces Web's +// API operation CreateBrowserSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ServiceQuotaExceededException +// The service quota has been exceeded. +// +// * ValidationException +// There is a validation error. +// +// * ConflictException +// There is a conflict. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/CreateBrowserSettings +func (c *WorkSpacesWeb) CreateBrowserSettings(input *CreateBrowserSettingsInput) (*CreateBrowserSettingsOutput, error) { + req, out := c.CreateBrowserSettingsRequest(input) + return out, req.Send() +} + +// CreateBrowserSettingsWithContext is the same as CreateBrowserSettings with the addition of +// the ability to pass a context and additional request options. +// +// See CreateBrowserSettings 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 *WorkSpacesWeb) CreateBrowserSettingsWithContext(ctx aws.Context, input *CreateBrowserSettingsInput, opts ...request.Option) (*CreateBrowserSettingsOutput, error) { + req, out := c.CreateBrowserSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateIdentityProvider = "CreateIdentityProvider" + +// CreateIdentityProviderRequest generates a "aws/request.Request" representing the +// client's request for the CreateIdentityProvider 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 CreateIdentityProvider for more information on using the CreateIdentityProvider +// 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 CreateIdentityProviderRequest method. +// req, resp := client.CreateIdentityProviderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/CreateIdentityProvider +func (c *WorkSpacesWeb) CreateIdentityProviderRequest(input *CreateIdentityProviderInput) (req *request.Request, output *CreateIdentityProviderOutput) { + op := &request.Operation{ + Name: opCreateIdentityProvider, + HTTPMethod: "POST", + HTTPPath: "/identityProviders", + } + + if input == nil { + input = &CreateIdentityProviderInput{} + } + + output = &CreateIdentityProviderOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateIdentityProvider API operation for Amazon WorkSpaces Web. +// +// Creates an identity provider resource that is then associated with a web +// portal. +// +// 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 WorkSpaces Web's +// API operation CreateIdentityProvider for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// * ConflictException +// There is a conflict. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/CreateIdentityProvider +func (c *WorkSpacesWeb) CreateIdentityProvider(input *CreateIdentityProviderInput) (*CreateIdentityProviderOutput, error) { + req, out := c.CreateIdentityProviderRequest(input) + return out, req.Send() +} + +// CreateIdentityProviderWithContext is the same as CreateIdentityProvider with the addition of +// the ability to pass a context and additional request options. +// +// See CreateIdentityProvider 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 *WorkSpacesWeb) CreateIdentityProviderWithContext(ctx aws.Context, input *CreateIdentityProviderInput, opts ...request.Option) (*CreateIdentityProviderOutput, error) { + req, out := c.CreateIdentityProviderRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateNetworkSettings = "CreateNetworkSettings" + +// CreateNetworkSettingsRequest generates a "aws/request.Request" representing the +// client's request for the CreateNetworkSettings 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 CreateNetworkSettings for more information on using the CreateNetworkSettings +// 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 CreateNetworkSettingsRequest method. +// req, resp := client.CreateNetworkSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/CreateNetworkSettings +func (c *WorkSpacesWeb) CreateNetworkSettingsRequest(input *CreateNetworkSettingsInput) (req *request.Request, output *CreateNetworkSettingsOutput) { + op := &request.Operation{ + Name: opCreateNetworkSettings, + HTTPMethod: "POST", + HTTPPath: "/networkSettings", + } + + if input == nil { + input = &CreateNetworkSettingsInput{} + } + + output = &CreateNetworkSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateNetworkSettings API operation for Amazon WorkSpaces Web. +// +// Creates a network settings resource that can be associated with a web portal. +// Once associated with a web portal, network settings define how streaming +// instances will connect with your specified VPC. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkSpaces Web's +// API operation CreateNetworkSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ServiceQuotaExceededException +// The service quota has been exceeded. +// +// * ValidationException +// There is a validation error. +// +// * ConflictException +// There is a conflict. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/CreateNetworkSettings +func (c *WorkSpacesWeb) CreateNetworkSettings(input *CreateNetworkSettingsInput) (*CreateNetworkSettingsOutput, error) { + req, out := c.CreateNetworkSettingsRequest(input) + return out, req.Send() +} + +// CreateNetworkSettingsWithContext is the same as CreateNetworkSettings with the addition of +// the ability to pass a context and additional request options. +// +// See CreateNetworkSettings 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 *WorkSpacesWeb) CreateNetworkSettingsWithContext(ctx aws.Context, input *CreateNetworkSettingsInput, opts ...request.Option) (*CreateNetworkSettingsOutput, error) { + req, out := c.CreateNetworkSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreatePortal = "CreatePortal" + +// CreatePortalRequest generates a "aws/request.Request" representing the +// client's request for the CreatePortal 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 CreatePortal for more information on using the CreatePortal +// 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 CreatePortalRequest method. +// req, resp := client.CreatePortalRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/CreatePortal +func (c *WorkSpacesWeb) CreatePortalRequest(input *CreatePortalInput) (req *request.Request, output *CreatePortalOutput) { + op := &request.Operation{ + Name: opCreatePortal, + HTTPMethod: "POST", + HTTPPath: "/portals", + } + + if input == nil { + input = &CreatePortalInput{} + } + + output = &CreatePortalOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreatePortal API operation for Amazon WorkSpaces Web. +// +// Creates a web portal. +// +// 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 WorkSpaces Web's +// API operation CreatePortal for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ServiceQuotaExceededException +// The service quota has been exceeded. +// +// * ValidationException +// There is a validation error. +// +// * ConflictException +// There is a conflict. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/CreatePortal +func (c *WorkSpacesWeb) CreatePortal(input *CreatePortalInput) (*CreatePortalOutput, error) { + req, out := c.CreatePortalRequest(input) + return out, req.Send() +} + +// CreatePortalWithContext is the same as CreatePortal with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePortal 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 *WorkSpacesWeb) CreatePortalWithContext(ctx aws.Context, input *CreatePortalInput, opts ...request.Option) (*CreatePortalOutput, error) { + req, out := c.CreatePortalRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateTrustStore = "CreateTrustStore" + +// CreateTrustStoreRequest generates a "aws/request.Request" representing the +// client's request for the CreateTrustStore 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 CreateTrustStore for more information on using the CreateTrustStore +// 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 CreateTrustStoreRequest method. +// req, resp := client.CreateTrustStoreRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/CreateTrustStore +func (c *WorkSpacesWeb) CreateTrustStoreRequest(input *CreateTrustStoreInput) (req *request.Request, output *CreateTrustStoreOutput) { + op := &request.Operation{ + Name: opCreateTrustStore, + HTTPMethod: "POST", + HTTPPath: "/trustStores", + } + + if input == nil { + input = &CreateTrustStoreInput{} + } + + output = &CreateTrustStoreOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateTrustStore API operation for Amazon WorkSpaces Web. +// +// Creates a trust store that can be associated with a web portal. A trust store +// contains certificate authority (CA) certificates. Once associated with a +// web portal, the browser in a streaming session will recognize certificates +// that have been issued using any of the CAs in the trust store. If your organization +// has internal websites that use certificates issued by private CAs, you should +// add the private CA certificate to the trust store. +// +// 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 WorkSpaces Web's +// API operation CreateTrustStore for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ServiceQuotaExceededException +// The service quota has been exceeded. +// +// * ValidationException +// There is a validation error. +// +// * ConflictException +// There is a conflict. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/CreateTrustStore +func (c *WorkSpacesWeb) CreateTrustStore(input *CreateTrustStoreInput) (*CreateTrustStoreOutput, error) { + req, out := c.CreateTrustStoreRequest(input) + return out, req.Send() +} + +// CreateTrustStoreWithContext is the same as CreateTrustStore with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTrustStore 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 *WorkSpacesWeb) CreateTrustStoreWithContext(ctx aws.Context, input *CreateTrustStoreInput, opts ...request.Option) (*CreateTrustStoreOutput, error) { + req, out := c.CreateTrustStoreRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateUserSettings = "CreateUserSettings" + +// CreateUserSettingsRequest generates a "aws/request.Request" representing the +// client's request for the CreateUserSettings 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 CreateUserSettings for more information on using the CreateUserSettings +// 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 CreateUserSettingsRequest method. +// req, resp := client.CreateUserSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/CreateUserSettings +func (c *WorkSpacesWeb) CreateUserSettingsRequest(input *CreateUserSettingsInput) (req *request.Request, output *CreateUserSettingsOutput) { + op := &request.Operation{ + Name: opCreateUserSettings, + HTTPMethod: "POST", + HTTPPath: "/userSettings", + } + + if input == nil { + input = &CreateUserSettingsInput{} + } + + output = &CreateUserSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateUserSettings API operation for Amazon WorkSpaces Web. +// +// Creates a user settings resource that can be associated with a web portal. +// Once associated with a web portal, user settings control how users can transfer +// data between a streaming session and the their local devices. +// +// 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 WorkSpaces Web's +// API operation CreateUserSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ServiceQuotaExceededException +// The service quota has been exceeded. +// +// * ValidationException +// There is a validation error. +// +// * ConflictException +// There is a conflict. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/CreateUserSettings +func (c *WorkSpacesWeb) CreateUserSettings(input *CreateUserSettingsInput) (*CreateUserSettingsOutput, error) { + req, out := c.CreateUserSettingsRequest(input) + return out, req.Send() +} + +// CreateUserSettingsWithContext is the same as CreateUserSettings with the addition of +// the ability to pass a context and additional request options. +// +// See CreateUserSettings 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 *WorkSpacesWeb) CreateUserSettingsWithContext(ctx aws.Context, input *CreateUserSettingsInput, opts ...request.Option) (*CreateUserSettingsOutput, error) { + req, out := c.CreateUserSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteBrowserSettings = "DeleteBrowserSettings" + +// DeleteBrowserSettingsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteBrowserSettings 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 DeleteBrowserSettings for more information on using the DeleteBrowserSettings +// 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 DeleteBrowserSettingsRequest method. +// req, resp := client.DeleteBrowserSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/DeleteBrowserSettings +func (c *WorkSpacesWeb) DeleteBrowserSettingsRequest(input *DeleteBrowserSettingsInput) (req *request.Request, output *DeleteBrowserSettingsOutput) { + op := &request.Operation{ + Name: opDeleteBrowserSettings, + HTTPMethod: "DELETE", + HTTPPath: "/browserSettings/{browserSettingsArn+}", + } + + if input == nil { + input = &DeleteBrowserSettingsInput{} + } + + output = &DeleteBrowserSettingsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteBrowserSettings API operation for Amazon WorkSpaces Web. +// +// Deletes browser settings. +// +// 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 WorkSpaces Web's +// API operation DeleteBrowserSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// * ConflictException +// There is a conflict. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/DeleteBrowserSettings +func (c *WorkSpacesWeb) DeleteBrowserSettings(input *DeleteBrowserSettingsInput) (*DeleteBrowserSettingsOutput, error) { + req, out := c.DeleteBrowserSettingsRequest(input) + return out, req.Send() +} + +// DeleteBrowserSettingsWithContext is the same as DeleteBrowserSettings with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteBrowserSettings 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 *WorkSpacesWeb) DeleteBrowserSettingsWithContext(ctx aws.Context, input *DeleteBrowserSettingsInput, opts ...request.Option) (*DeleteBrowserSettingsOutput, error) { + req, out := c.DeleteBrowserSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteIdentityProvider = "DeleteIdentityProvider" + +// DeleteIdentityProviderRequest generates a "aws/request.Request" representing the +// client's request for the DeleteIdentityProvider 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 DeleteIdentityProvider for more information on using the DeleteIdentityProvider +// 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 DeleteIdentityProviderRequest method. +// req, resp := client.DeleteIdentityProviderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/DeleteIdentityProvider +func (c *WorkSpacesWeb) DeleteIdentityProviderRequest(input *DeleteIdentityProviderInput) (req *request.Request, output *DeleteIdentityProviderOutput) { + op := &request.Operation{ + Name: opDeleteIdentityProvider, + HTTPMethod: "DELETE", + HTTPPath: "/identityProviders/{identityProviderArn+}", + } + + if input == nil { + input = &DeleteIdentityProviderInput{} + } + + output = &DeleteIdentityProviderOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteIdentityProvider API operation for Amazon WorkSpaces Web. +// +// Deletes the identity provider. +// +// 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 WorkSpaces Web's +// API operation DeleteIdentityProvider for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// * ConflictException +// There is a conflict. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/DeleteIdentityProvider +func (c *WorkSpacesWeb) DeleteIdentityProvider(input *DeleteIdentityProviderInput) (*DeleteIdentityProviderOutput, error) { + req, out := c.DeleteIdentityProviderRequest(input) + return out, req.Send() +} + +// DeleteIdentityProviderWithContext is the same as DeleteIdentityProvider with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteIdentityProvider 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 *WorkSpacesWeb) DeleteIdentityProviderWithContext(ctx aws.Context, input *DeleteIdentityProviderInput, opts ...request.Option) (*DeleteIdentityProviderOutput, error) { + req, out := c.DeleteIdentityProviderRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteNetworkSettings = "DeleteNetworkSettings" + +// DeleteNetworkSettingsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteNetworkSettings 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 DeleteNetworkSettings for more information on using the DeleteNetworkSettings +// 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 DeleteNetworkSettingsRequest method. +// req, resp := client.DeleteNetworkSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/DeleteNetworkSettings +func (c *WorkSpacesWeb) DeleteNetworkSettingsRequest(input *DeleteNetworkSettingsInput) (req *request.Request, output *DeleteNetworkSettingsOutput) { + op := &request.Operation{ + Name: opDeleteNetworkSettings, + HTTPMethod: "DELETE", + HTTPPath: "/networkSettings/{networkSettingsArn+}", + } + + if input == nil { + input = &DeleteNetworkSettingsInput{} + } + + output = &DeleteNetworkSettingsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteNetworkSettings API operation for Amazon WorkSpaces Web. +// +// Deletes network settings. +// +// 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 WorkSpaces Web's +// API operation DeleteNetworkSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// * ConflictException +// There is a conflict. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/DeleteNetworkSettings +func (c *WorkSpacesWeb) DeleteNetworkSettings(input *DeleteNetworkSettingsInput) (*DeleteNetworkSettingsOutput, error) { + req, out := c.DeleteNetworkSettingsRequest(input) + return out, req.Send() +} + +// DeleteNetworkSettingsWithContext is the same as DeleteNetworkSettings with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteNetworkSettings 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 *WorkSpacesWeb) DeleteNetworkSettingsWithContext(ctx aws.Context, input *DeleteNetworkSettingsInput, opts ...request.Option) (*DeleteNetworkSettingsOutput, error) { + req, out := c.DeleteNetworkSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeletePortal = "DeletePortal" + +// DeletePortalRequest generates a "aws/request.Request" representing the +// client's request for the DeletePortal 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 DeletePortal for more information on using the DeletePortal +// 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 DeletePortalRequest method. +// req, resp := client.DeletePortalRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/DeletePortal +func (c *WorkSpacesWeb) DeletePortalRequest(input *DeletePortalInput) (req *request.Request, output *DeletePortalOutput) { + op := &request.Operation{ + Name: opDeletePortal, + HTTPMethod: "DELETE", + HTTPPath: "/portals/{portalArn+}", + } + + if input == nil { + input = &DeletePortalInput{} + } + + output = &DeletePortalOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeletePortal API operation for Amazon WorkSpaces Web. +// +// Deletes a web portal. +// +// 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 WorkSpaces Web's +// API operation DeletePortal for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// * ConflictException +// There is a conflict. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/DeletePortal +func (c *WorkSpacesWeb) DeletePortal(input *DeletePortalInput) (*DeletePortalOutput, error) { + req, out := c.DeletePortalRequest(input) + return out, req.Send() +} + +// DeletePortalWithContext is the same as DeletePortal with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePortal 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 *WorkSpacesWeb) DeletePortalWithContext(ctx aws.Context, input *DeletePortalInput, opts ...request.Option) (*DeletePortalOutput, error) { + req, out := c.DeletePortalRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteTrustStore = "DeleteTrustStore" + +// DeleteTrustStoreRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTrustStore 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 DeleteTrustStore for more information on using the DeleteTrustStore +// 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 DeleteTrustStoreRequest method. +// req, resp := client.DeleteTrustStoreRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/DeleteTrustStore +func (c *WorkSpacesWeb) DeleteTrustStoreRequest(input *DeleteTrustStoreInput) (req *request.Request, output *DeleteTrustStoreOutput) { + op := &request.Operation{ + Name: opDeleteTrustStore, + HTTPMethod: "DELETE", + HTTPPath: "/trustStores/{trustStoreArn+}", + } + + if input == nil { + input = &DeleteTrustStoreInput{} + } + + output = &DeleteTrustStoreOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteTrustStore API operation for Amazon WorkSpaces Web. +// +// Deletes the trust store. +// +// 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 WorkSpaces Web's +// API operation DeleteTrustStore for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// * ConflictException +// There is a conflict. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/DeleteTrustStore +func (c *WorkSpacesWeb) DeleteTrustStore(input *DeleteTrustStoreInput) (*DeleteTrustStoreOutput, error) { + req, out := c.DeleteTrustStoreRequest(input) + return out, req.Send() +} + +// DeleteTrustStoreWithContext is the same as DeleteTrustStore with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTrustStore 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 *WorkSpacesWeb) DeleteTrustStoreWithContext(ctx aws.Context, input *DeleteTrustStoreInput, opts ...request.Option) (*DeleteTrustStoreOutput, error) { + req, out := c.DeleteTrustStoreRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteUserSettings = "DeleteUserSettings" + +// DeleteUserSettingsRequest generates a "aws/request.Request" representing the +// client's request for the DeleteUserSettings 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 DeleteUserSettings for more information on using the DeleteUserSettings +// 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 DeleteUserSettingsRequest method. +// req, resp := client.DeleteUserSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/DeleteUserSettings +func (c *WorkSpacesWeb) DeleteUserSettingsRequest(input *DeleteUserSettingsInput) (req *request.Request, output *DeleteUserSettingsOutput) { + op := &request.Operation{ + Name: opDeleteUserSettings, + HTTPMethod: "DELETE", + HTTPPath: "/userSettings/{userSettingsArn+}", + } + + if input == nil { + input = &DeleteUserSettingsInput{} + } + + output = &DeleteUserSettingsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteUserSettings API operation for Amazon WorkSpaces Web. +// +// Deletes user settings. +// +// 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 WorkSpaces Web's +// API operation DeleteUserSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// * ConflictException +// There is a conflict. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/DeleteUserSettings +func (c *WorkSpacesWeb) DeleteUserSettings(input *DeleteUserSettingsInput) (*DeleteUserSettingsOutput, error) { + req, out := c.DeleteUserSettingsRequest(input) + return out, req.Send() +} + +// DeleteUserSettingsWithContext is the same as DeleteUserSettings with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteUserSettings 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 *WorkSpacesWeb) DeleteUserSettingsWithContext(ctx aws.Context, input *DeleteUserSettingsInput, opts ...request.Option) (*DeleteUserSettingsOutput, error) { + req, out := c.DeleteUserSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateBrowserSettings = "DisassociateBrowserSettings" + +// DisassociateBrowserSettingsRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateBrowserSettings 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 DisassociateBrowserSettings for more information on using the DisassociateBrowserSettings +// 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 DisassociateBrowserSettingsRequest method. +// req, resp := client.DisassociateBrowserSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/DisassociateBrowserSettings +func (c *WorkSpacesWeb) DisassociateBrowserSettingsRequest(input *DisassociateBrowserSettingsInput) (req *request.Request, output *DisassociateBrowserSettingsOutput) { + op := &request.Operation{ + Name: opDisassociateBrowserSettings, + HTTPMethod: "DELETE", + HTTPPath: "/portals/{portalArn+}/browserSettings", + } + + if input == nil { + input = &DisassociateBrowserSettingsInput{} + } + + output = &DisassociateBrowserSettingsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisassociateBrowserSettings API operation for Amazon WorkSpaces Web. +// +// Disassociates browser settings from a web portal. +// +// 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 WorkSpaces Web's +// API operation DisassociateBrowserSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/DisassociateBrowserSettings +func (c *WorkSpacesWeb) DisassociateBrowserSettings(input *DisassociateBrowserSettingsInput) (*DisassociateBrowserSettingsOutput, error) { + req, out := c.DisassociateBrowserSettingsRequest(input) + return out, req.Send() +} + +// DisassociateBrowserSettingsWithContext is the same as DisassociateBrowserSettings with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateBrowserSettings 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 *WorkSpacesWeb) DisassociateBrowserSettingsWithContext(ctx aws.Context, input *DisassociateBrowserSettingsInput, opts ...request.Option) (*DisassociateBrowserSettingsOutput, error) { + req, out := c.DisassociateBrowserSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateNetworkSettings = "DisassociateNetworkSettings" + +// DisassociateNetworkSettingsRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateNetworkSettings 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 DisassociateNetworkSettings for more information on using the DisassociateNetworkSettings +// 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 DisassociateNetworkSettingsRequest method. +// req, resp := client.DisassociateNetworkSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/DisassociateNetworkSettings +func (c *WorkSpacesWeb) DisassociateNetworkSettingsRequest(input *DisassociateNetworkSettingsInput) (req *request.Request, output *DisassociateNetworkSettingsOutput) { + op := &request.Operation{ + Name: opDisassociateNetworkSettings, + HTTPMethod: "DELETE", + HTTPPath: "/portals/{portalArn+}/networkSettings", + } + + if input == nil { + input = &DisassociateNetworkSettingsInput{} + } + + output = &DisassociateNetworkSettingsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisassociateNetworkSettings API operation for Amazon WorkSpaces Web. +// +// Disassociates network settings from a web portal. +// +// 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 WorkSpaces Web's +// API operation DisassociateNetworkSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/DisassociateNetworkSettings +func (c *WorkSpacesWeb) DisassociateNetworkSettings(input *DisassociateNetworkSettingsInput) (*DisassociateNetworkSettingsOutput, error) { + req, out := c.DisassociateNetworkSettingsRequest(input) + return out, req.Send() +} + +// DisassociateNetworkSettingsWithContext is the same as DisassociateNetworkSettings with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateNetworkSettings 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 *WorkSpacesWeb) DisassociateNetworkSettingsWithContext(ctx aws.Context, input *DisassociateNetworkSettingsInput, opts ...request.Option) (*DisassociateNetworkSettingsOutput, error) { + req, out := c.DisassociateNetworkSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateTrustStore = "DisassociateTrustStore" + +// DisassociateTrustStoreRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateTrustStore 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 DisassociateTrustStore for more information on using the DisassociateTrustStore +// 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 DisassociateTrustStoreRequest method. +// req, resp := client.DisassociateTrustStoreRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/DisassociateTrustStore +func (c *WorkSpacesWeb) DisassociateTrustStoreRequest(input *DisassociateTrustStoreInput) (req *request.Request, output *DisassociateTrustStoreOutput) { + op := &request.Operation{ + Name: opDisassociateTrustStore, + HTTPMethod: "DELETE", + HTTPPath: "/portals/{portalArn+}/trustStores", + } + + if input == nil { + input = &DisassociateTrustStoreInput{} + } + + output = &DisassociateTrustStoreOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisassociateTrustStore API operation for Amazon WorkSpaces Web. +// +// Disassociates a trust store from a web portal. +// +// 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 WorkSpaces Web's +// API operation DisassociateTrustStore for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/DisassociateTrustStore +func (c *WorkSpacesWeb) DisassociateTrustStore(input *DisassociateTrustStoreInput) (*DisassociateTrustStoreOutput, error) { + req, out := c.DisassociateTrustStoreRequest(input) + return out, req.Send() +} + +// DisassociateTrustStoreWithContext is the same as DisassociateTrustStore with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateTrustStore 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 *WorkSpacesWeb) DisassociateTrustStoreWithContext(ctx aws.Context, input *DisassociateTrustStoreInput, opts ...request.Option) (*DisassociateTrustStoreOutput, error) { + req, out := c.DisassociateTrustStoreRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDisassociateUserSettings = "DisassociateUserSettings" + +// DisassociateUserSettingsRequest generates a "aws/request.Request" representing the +// client's request for the DisassociateUserSettings 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 DisassociateUserSettings for more information on using the DisassociateUserSettings +// 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 DisassociateUserSettingsRequest method. +// req, resp := client.DisassociateUserSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/DisassociateUserSettings +func (c *WorkSpacesWeb) DisassociateUserSettingsRequest(input *DisassociateUserSettingsInput) (req *request.Request, output *DisassociateUserSettingsOutput) { + op := &request.Operation{ + Name: opDisassociateUserSettings, + HTTPMethod: "DELETE", + HTTPPath: "/portals/{portalArn+}/userSettings", + } + + if input == nil { + input = &DisassociateUserSettingsInput{} + } + + output = &DisassociateUserSettingsOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DisassociateUserSettings API operation for Amazon WorkSpaces Web. +// +// Disassociates user settings from a web portal. +// +// 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 WorkSpaces Web's +// API operation DisassociateUserSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/DisassociateUserSettings +func (c *WorkSpacesWeb) DisassociateUserSettings(input *DisassociateUserSettingsInput) (*DisassociateUserSettingsOutput, error) { + req, out := c.DisassociateUserSettingsRequest(input) + return out, req.Send() +} + +// DisassociateUserSettingsWithContext is the same as DisassociateUserSettings with the addition of +// the ability to pass a context and additional request options. +// +// See DisassociateUserSettings 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 *WorkSpacesWeb) DisassociateUserSettingsWithContext(ctx aws.Context, input *DisassociateUserSettingsInput, opts ...request.Option) (*DisassociateUserSettingsOutput, error) { + req, out := c.DisassociateUserSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetBrowserSettings = "GetBrowserSettings" + +// GetBrowserSettingsRequest generates a "aws/request.Request" representing the +// client's request for the GetBrowserSettings 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 GetBrowserSettings for more information on using the GetBrowserSettings +// 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 GetBrowserSettingsRequest method. +// req, resp := client.GetBrowserSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/GetBrowserSettings +func (c *WorkSpacesWeb) GetBrowserSettingsRequest(input *GetBrowserSettingsInput) (req *request.Request, output *GetBrowserSettingsOutput) { + op := &request.Operation{ + Name: opGetBrowserSettings, + HTTPMethod: "GET", + HTTPPath: "/browserSettings/{browserSettingsArn+}", + } + + if input == nil { + input = &GetBrowserSettingsInput{} + } + + output = &GetBrowserSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetBrowserSettings API operation for Amazon WorkSpaces Web. +// +// Gets browser settings. +// +// 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 WorkSpaces Web's +// API operation GetBrowserSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/GetBrowserSettings +func (c *WorkSpacesWeb) GetBrowserSettings(input *GetBrowserSettingsInput) (*GetBrowserSettingsOutput, error) { + req, out := c.GetBrowserSettingsRequest(input) + return out, req.Send() +} + +// GetBrowserSettingsWithContext is the same as GetBrowserSettings with the addition of +// the ability to pass a context and additional request options. +// +// See GetBrowserSettings 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 *WorkSpacesWeb) GetBrowserSettingsWithContext(ctx aws.Context, input *GetBrowserSettingsInput, opts ...request.Option) (*GetBrowserSettingsOutput, error) { + req, out := c.GetBrowserSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetIdentityProvider = "GetIdentityProvider" + +// GetIdentityProviderRequest generates a "aws/request.Request" representing the +// client's request for the GetIdentityProvider 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 GetIdentityProvider for more information on using the GetIdentityProvider +// 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 GetIdentityProviderRequest method. +// req, resp := client.GetIdentityProviderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/GetIdentityProvider +func (c *WorkSpacesWeb) GetIdentityProviderRequest(input *GetIdentityProviderInput) (req *request.Request, output *GetIdentityProviderOutput) { + op := &request.Operation{ + Name: opGetIdentityProvider, + HTTPMethod: "GET", + HTTPPath: "/identityProviders/{identityProviderArn+}", + } + + if input == nil { + input = &GetIdentityProviderInput{} + } + + output = &GetIdentityProviderOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetIdentityProvider API operation for Amazon WorkSpaces Web. +// +// Gets the identity provider. +// +// 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 WorkSpaces Web's +// API operation GetIdentityProvider for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/GetIdentityProvider +func (c *WorkSpacesWeb) GetIdentityProvider(input *GetIdentityProviderInput) (*GetIdentityProviderOutput, error) { + req, out := c.GetIdentityProviderRequest(input) + return out, req.Send() +} + +// GetIdentityProviderWithContext is the same as GetIdentityProvider with the addition of +// the ability to pass a context and additional request options. +// +// See GetIdentityProvider 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 *WorkSpacesWeb) GetIdentityProviderWithContext(ctx aws.Context, input *GetIdentityProviderInput, opts ...request.Option) (*GetIdentityProviderOutput, error) { + req, out := c.GetIdentityProviderRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetNetworkSettings = "GetNetworkSettings" + +// GetNetworkSettingsRequest generates a "aws/request.Request" representing the +// client's request for the GetNetworkSettings 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 GetNetworkSettings for more information on using the GetNetworkSettings +// 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 GetNetworkSettingsRequest method. +// req, resp := client.GetNetworkSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/GetNetworkSettings +func (c *WorkSpacesWeb) GetNetworkSettingsRequest(input *GetNetworkSettingsInput) (req *request.Request, output *GetNetworkSettingsOutput) { + op := &request.Operation{ + Name: opGetNetworkSettings, + HTTPMethod: "GET", + HTTPPath: "/networkSettings/{networkSettingsArn+}", + } + + if input == nil { + input = &GetNetworkSettingsInput{} + } + + output = &GetNetworkSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetNetworkSettings API operation for Amazon WorkSpaces Web. +// +// Gets the network settings. +// +// 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 WorkSpaces Web's +// API operation GetNetworkSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/GetNetworkSettings +func (c *WorkSpacesWeb) GetNetworkSettings(input *GetNetworkSettingsInput) (*GetNetworkSettingsOutput, error) { + req, out := c.GetNetworkSettingsRequest(input) + return out, req.Send() +} + +// GetNetworkSettingsWithContext is the same as GetNetworkSettings with the addition of +// the ability to pass a context and additional request options. +// +// See GetNetworkSettings 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 *WorkSpacesWeb) GetNetworkSettingsWithContext(ctx aws.Context, input *GetNetworkSettingsInput, opts ...request.Option) (*GetNetworkSettingsOutput, error) { + req, out := c.GetNetworkSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetPortal = "GetPortal" + +// GetPortalRequest generates a "aws/request.Request" representing the +// client's request for the GetPortal 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 GetPortal for more information on using the GetPortal +// 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 GetPortalRequest method. +// req, resp := client.GetPortalRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/GetPortal +func (c *WorkSpacesWeb) GetPortalRequest(input *GetPortalInput) (req *request.Request, output *GetPortalOutput) { + op := &request.Operation{ + Name: opGetPortal, + HTTPMethod: "GET", + HTTPPath: "/portals/{portalArn+}", + } + + if input == nil { + input = &GetPortalInput{} + } + + output = &GetPortalOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPortal API operation for Amazon WorkSpaces Web. +// +// Gets the web portal. +// +// 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 WorkSpaces Web's +// API operation GetPortal for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/GetPortal +func (c *WorkSpacesWeb) GetPortal(input *GetPortalInput) (*GetPortalOutput, error) { + req, out := c.GetPortalRequest(input) + return out, req.Send() +} + +// GetPortalWithContext is the same as GetPortal with the addition of +// the ability to pass a context and additional request options. +// +// See GetPortal 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 *WorkSpacesWeb) GetPortalWithContext(ctx aws.Context, input *GetPortalInput, opts ...request.Option) (*GetPortalOutput, error) { + req, out := c.GetPortalRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetPortalServiceProviderMetadata = "GetPortalServiceProviderMetadata" + +// GetPortalServiceProviderMetadataRequest generates a "aws/request.Request" representing the +// client's request for the GetPortalServiceProviderMetadata 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 GetPortalServiceProviderMetadata for more information on using the GetPortalServiceProviderMetadata +// 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 GetPortalServiceProviderMetadataRequest method. +// req, resp := client.GetPortalServiceProviderMetadataRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/GetPortalServiceProviderMetadata +func (c *WorkSpacesWeb) GetPortalServiceProviderMetadataRequest(input *GetPortalServiceProviderMetadataInput) (req *request.Request, output *GetPortalServiceProviderMetadataOutput) { + op := &request.Operation{ + Name: opGetPortalServiceProviderMetadata, + HTTPMethod: "GET", + HTTPPath: "/portalIdp/{portalArn+}", + } + + if input == nil { + input = &GetPortalServiceProviderMetadataInput{} + } + + output = &GetPortalServiceProviderMetadataOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPortalServiceProviderMetadata API operation for Amazon WorkSpaces Web. +// +// Gets the service provider metadata. +// +// 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 WorkSpaces Web's +// API operation GetPortalServiceProviderMetadata for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/GetPortalServiceProviderMetadata +func (c *WorkSpacesWeb) GetPortalServiceProviderMetadata(input *GetPortalServiceProviderMetadataInput) (*GetPortalServiceProviderMetadataOutput, error) { + req, out := c.GetPortalServiceProviderMetadataRequest(input) + return out, req.Send() +} + +// GetPortalServiceProviderMetadataWithContext is the same as GetPortalServiceProviderMetadata with the addition of +// the ability to pass a context and additional request options. +// +// See GetPortalServiceProviderMetadata 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 *WorkSpacesWeb) GetPortalServiceProviderMetadataWithContext(ctx aws.Context, input *GetPortalServiceProviderMetadataInput, opts ...request.Option) (*GetPortalServiceProviderMetadataOutput, error) { + req, out := c.GetPortalServiceProviderMetadataRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetTrustStore = "GetTrustStore" + +// GetTrustStoreRequest generates a "aws/request.Request" representing the +// client's request for the GetTrustStore 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 GetTrustStore for more information on using the GetTrustStore +// 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 GetTrustStoreRequest method. +// req, resp := client.GetTrustStoreRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/GetTrustStore +func (c *WorkSpacesWeb) GetTrustStoreRequest(input *GetTrustStoreInput) (req *request.Request, output *GetTrustStoreOutput) { + op := &request.Operation{ + Name: opGetTrustStore, + HTTPMethod: "GET", + HTTPPath: "/trustStores/{trustStoreArn+}", + } + + if input == nil { + input = &GetTrustStoreInput{} + } + + output = &GetTrustStoreOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTrustStore API operation for Amazon WorkSpaces Web. +// +// Gets the trust store. +// +// 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 WorkSpaces Web's +// API operation GetTrustStore for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/GetTrustStore +func (c *WorkSpacesWeb) GetTrustStore(input *GetTrustStoreInput) (*GetTrustStoreOutput, error) { + req, out := c.GetTrustStoreRequest(input) + return out, req.Send() +} + +// GetTrustStoreWithContext is the same as GetTrustStore with the addition of +// the ability to pass a context and additional request options. +// +// See GetTrustStore 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 *WorkSpacesWeb) GetTrustStoreWithContext(ctx aws.Context, input *GetTrustStoreInput, opts ...request.Option) (*GetTrustStoreOutput, error) { + req, out := c.GetTrustStoreRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetTrustStoreCertificate = "GetTrustStoreCertificate" + +// GetTrustStoreCertificateRequest generates a "aws/request.Request" representing the +// client's request for the GetTrustStoreCertificate 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 GetTrustStoreCertificate for more information on using the GetTrustStoreCertificate +// 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 GetTrustStoreCertificateRequest method. +// req, resp := client.GetTrustStoreCertificateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/GetTrustStoreCertificate +func (c *WorkSpacesWeb) GetTrustStoreCertificateRequest(input *GetTrustStoreCertificateInput) (req *request.Request, output *GetTrustStoreCertificateOutput) { + op := &request.Operation{ + Name: opGetTrustStoreCertificate, + HTTPMethod: "GET", + HTTPPath: "/trustStores/{trustStoreArn+}/certificate", + } + + if input == nil { + input = &GetTrustStoreCertificateInput{} + } + + output = &GetTrustStoreCertificateOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTrustStoreCertificate API operation for Amazon WorkSpaces Web. +// +// Gets the trust store certificate. +// +// 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 WorkSpaces Web's +// API operation GetTrustStoreCertificate for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/GetTrustStoreCertificate +func (c *WorkSpacesWeb) GetTrustStoreCertificate(input *GetTrustStoreCertificateInput) (*GetTrustStoreCertificateOutput, error) { + req, out := c.GetTrustStoreCertificateRequest(input) + return out, req.Send() +} + +// GetTrustStoreCertificateWithContext is the same as GetTrustStoreCertificate with the addition of +// the ability to pass a context and additional request options. +// +// See GetTrustStoreCertificate 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 *WorkSpacesWeb) GetTrustStoreCertificateWithContext(ctx aws.Context, input *GetTrustStoreCertificateInput, opts ...request.Option) (*GetTrustStoreCertificateOutput, error) { + req, out := c.GetTrustStoreCertificateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetUserSettings = "GetUserSettings" + +// GetUserSettingsRequest generates a "aws/request.Request" representing the +// client's request for the GetUserSettings 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 GetUserSettings for more information on using the GetUserSettings +// 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 GetUserSettingsRequest method. +// req, resp := client.GetUserSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/GetUserSettings +func (c *WorkSpacesWeb) GetUserSettingsRequest(input *GetUserSettingsInput) (req *request.Request, output *GetUserSettingsOutput) { + op := &request.Operation{ + Name: opGetUserSettings, + HTTPMethod: "GET", + HTTPPath: "/userSettings/{userSettingsArn+}", + } + + if input == nil { + input = &GetUserSettingsInput{} + } + + output = &GetUserSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetUserSettings API operation for Amazon WorkSpaces Web. +// +// Gets user settings. +// +// 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 WorkSpaces Web's +// API operation GetUserSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/GetUserSettings +func (c *WorkSpacesWeb) GetUserSettings(input *GetUserSettingsInput) (*GetUserSettingsOutput, error) { + req, out := c.GetUserSettingsRequest(input) + return out, req.Send() +} + +// GetUserSettingsWithContext is the same as GetUserSettings with the addition of +// the ability to pass a context and additional request options. +// +// See GetUserSettings 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 *WorkSpacesWeb) GetUserSettingsWithContext(ctx aws.Context, input *GetUserSettingsInput, opts ...request.Option) (*GetUserSettingsOutput, error) { + req, out := c.GetUserSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListBrowserSettings = "ListBrowserSettings" + +// ListBrowserSettingsRequest generates a "aws/request.Request" representing the +// client's request for the ListBrowserSettings 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 ListBrowserSettings for more information on using the ListBrowserSettings +// 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 ListBrowserSettingsRequest method. +// req, resp := client.ListBrowserSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/ListBrowserSettings +func (c *WorkSpacesWeb) ListBrowserSettingsRequest(input *ListBrowserSettingsInput) (req *request.Request, output *ListBrowserSettingsOutput) { + op := &request.Operation{ + Name: opListBrowserSettings, + HTTPMethod: "GET", + HTTPPath: "/browserSettings", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListBrowserSettingsInput{} + } + + output = &ListBrowserSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListBrowserSettings API operation for Amazon WorkSpaces Web. +// +// Retrieves a list of browser settings. +// +// 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 WorkSpaces Web's +// API operation ListBrowserSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/ListBrowserSettings +func (c *WorkSpacesWeb) ListBrowserSettings(input *ListBrowserSettingsInput) (*ListBrowserSettingsOutput, error) { + req, out := c.ListBrowserSettingsRequest(input) + return out, req.Send() +} + +// ListBrowserSettingsWithContext is the same as ListBrowserSettings with the addition of +// the ability to pass a context and additional request options. +// +// See ListBrowserSettings 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 *WorkSpacesWeb) ListBrowserSettingsWithContext(ctx aws.Context, input *ListBrowserSettingsInput, opts ...request.Option) (*ListBrowserSettingsOutput, error) { + req, out := c.ListBrowserSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListBrowserSettingsPages iterates over the pages of a ListBrowserSettings operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListBrowserSettings 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 ListBrowserSettings operation. +// pageNum := 0 +// err := client.ListBrowserSettingsPages(params, +// func(page *workspacesweb.ListBrowserSettingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *WorkSpacesWeb) ListBrowserSettingsPages(input *ListBrowserSettingsInput, fn func(*ListBrowserSettingsOutput, bool) bool) error { + return c.ListBrowserSettingsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListBrowserSettingsPagesWithContext same as ListBrowserSettingsPages 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 *WorkSpacesWeb) ListBrowserSettingsPagesWithContext(ctx aws.Context, input *ListBrowserSettingsInput, fn func(*ListBrowserSettingsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListBrowserSettingsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListBrowserSettingsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListBrowserSettingsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListIdentityProviders = "ListIdentityProviders" + +// ListIdentityProvidersRequest generates a "aws/request.Request" representing the +// client's request for the ListIdentityProviders 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 ListIdentityProviders for more information on using the ListIdentityProviders +// 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 ListIdentityProvidersRequest method. +// req, resp := client.ListIdentityProvidersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/ListIdentityProviders +func (c *WorkSpacesWeb) ListIdentityProvidersRequest(input *ListIdentityProvidersInput) (req *request.Request, output *ListIdentityProvidersOutput) { + op := &request.Operation{ + Name: opListIdentityProviders, + HTTPMethod: "GET", + HTTPPath: "/portals/{portalArn+}/identityProviders", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListIdentityProvidersInput{} + } + + output = &ListIdentityProvidersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListIdentityProviders API operation for Amazon WorkSpaces Web. +// +// Retrieves a list of identity providers for a specific web portal. +// +// 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 WorkSpaces Web's +// API operation ListIdentityProviders for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/ListIdentityProviders +func (c *WorkSpacesWeb) ListIdentityProviders(input *ListIdentityProvidersInput) (*ListIdentityProvidersOutput, error) { + req, out := c.ListIdentityProvidersRequest(input) + return out, req.Send() +} + +// ListIdentityProvidersWithContext is the same as ListIdentityProviders with the addition of +// the ability to pass a context and additional request options. +// +// See ListIdentityProviders 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 *WorkSpacesWeb) ListIdentityProvidersWithContext(ctx aws.Context, input *ListIdentityProvidersInput, opts ...request.Option) (*ListIdentityProvidersOutput, error) { + req, out := c.ListIdentityProvidersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListIdentityProvidersPages iterates over the pages of a ListIdentityProviders operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListIdentityProviders 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 ListIdentityProviders operation. +// pageNum := 0 +// err := client.ListIdentityProvidersPages(params, +// func(page *workspacesweb.ListIdentityProvidersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *WorkSpacesWeb) ListIdentityProvidersPages(input *ListIdentityProvidersInput, fn func(*ListIdentityProvidersOutput, bool) bool) error { + return c.ListIdentityProvidersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListIdentityProvidersPagesWithContext same as ListIdentityProvidersPages 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 *WorkSpacesWeb) ListIdentityProvidersPagesWithContext(ctx aws.Context, input *ListIdentityProvidersInput, fn func(*ListIdentityProvidersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListIdentityProvidersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListIdentityProvidersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListIdentityProvidersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListNetworkSettings = "ListNetworkSettings" + +// ListNetworkSettingsRequest generates a "aws/request.Request" representing the +// client's request for the ListNetworkSettings 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 ListNetworkSettings for more information on using the ListNetworkSettings +// 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 ListNetworkSettingsRequest method. +// req, resp := client.ListNetworkSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/ListNetworkSettings +func (c *WorkSpacesWeb) ListNetworkSettingsRequest(input *ListNetworkSettingsInput) (req *request.Request, output *ListNetworkSettingsOutput) { + op := &request.Operation{ + Name: opListNetworkSettings, + HTTPMethod: "GET", + HTTPPath: "/networkSettings", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListNetworkSettingsInput{} + } + + output = &ListNetworkSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListNetworkSettings API operation for Amazon WorkSpaces Web. +// +// Retrieves a list of network settings. +// +// 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 WorkSpaces Web's +// API operation ListNetworkSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/ListNetworkSettings +func (c *WorkSpacesWeb) ListNetworkSettings(input *ListNetworkSettingsInput) (*ListNetworkSettingsOutput, error) { + req, out := c.ListNetworkSettingsRequest(input) + return out, req.Send() +} + +// ListNetworkSettingsWithContext is the same as ListNetworkSettings with the addition of +// the ability to pass a context and additional request options. +// +// See ListNetworkSettings 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 *WorkSpacesWeb) ListNetworkSettingsWithContext(ctx aws.Context, input *ListNetworkSettingsInput, opts ...request.Option) (*ListNetworkSettingsOutput, error) { + req, out := c.ListNetworkSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListNetworkSettingsPages iterates over the pages of a ListNetworkSettings operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListNetworkSettings 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 ListNetworkSettings operation. +// pageNum := 0 +// err := client.ListNetworkSettingsPages(params, +// func(page *workspacesweb.ListNetworkSettingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *WorkSpacesWeb) ListNetworkSettingsPages(input *ListNetworkSettingsInput, fn func(*ListNetworkSettingsOutput, bool) bool) error { + return c.ListNetworkSettingsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListNetworkSettingsPagesWithContext same as ListNetworkSettingsPages 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 *WorkSpacesWeb) ListNetworkSettingsPagesWithContext(ctx aws.Context, input *ListNetworkSettingsInput, fn func(*ListNetworkSettingsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListNetworkSettingsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListNetworkSettingsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListNetworkSettingsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListPortals = "ListPortals" + +// ListPortalsRequest generates a "aws/request.Request" representing the +// client's request for the ListPortals 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 ListPortals for more information on using the ListPortals +// 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 ListPortalsRequest method. +// req, resp := client.ListPortalsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/ListPortals +func (c *WorkSpacesWeb) ListPortalsRequest(input *ListPortalsInput) (req *request.Request, output *ListPortalsOutput) { + op := &request.Operation{ + Name: opListPortals, + HTTPMethod: "GET", + HTTPPath: "/portals", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPortalsInput{} + } + + output = &ListPortalsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPortals API operation for Amazon WorkSpaces Web. +// +// Retrieves a list or web portals. +// +// 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 WorkSpaces Web's +// API operation ListPortals for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/ListPortals +func (c *WorkSpacesWeb) ListPortals(input *ListPortalsInput) (*ListPortalsOutput, error) { + req, out := c.ListPortalsRequest(input) + return out, req.Send() +} + +// ListPortalsWithContext is the same as ListPortals with the addition of +// the ability to pass a context and additional request options. +// +// See ListPortals 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 *WorkSpacesWeb) ListPortalsWithContext(ctx aws.Context, input *ListPortalsInput, opts ...request.Option) (*ListPortalsOutput, error) { + req, out := c.ListPortalsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListPortalsPages iterates over the pages of a ListPortals operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPortals 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 ListPortals operation. +// pageNum := 0 +// err := client.ListPortalsPages(params, +// func(page *workspacesweb.ListPortalsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *WorkSpacesWeb) ListPortalsPages(input *ListPortalsInput, fn func(*ListPortalsOutput, bool) bool) error { + return c.ListPortalsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPortalsPagesWithContext same as ListPortalsPages 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 *WorkSpacesWeb) ListPortalsPagesWithContext(ctx aws.Context, input *ListPortalsInput, fn func(*ListPortalsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPortalsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPortalsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPortalsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTagsForResource for more information on using the ListTagsForResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/ListTagsForResource +func (c *WorkSpacesWeb) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{resourceArn+}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for Amazon WorkSpaces Web. +// +// Retrieves a list of tags for a resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkSpaces Web's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/ListTagsForResource +func (c *WorkSpacesWeb) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkSpacesWeb) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListTrustStoreCertificates = "ListTrustStoreCertificates" + +// ListTrustStoreCertificatesRequest generates a "aws/request.Request" representing the +// client's request for the ListTrustStoreCertificates 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 ListTrustStoreCertificates for more information on using the ListTrustStoreCertificates +// 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 ListTrustStoreCertificatesRequest method. +// req, resp := client.ListTrustStoreCertificatesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/ListTrustStoreCertificates +func (c *WorkSpacesWeb) ListTrustStoreCertificatesRequest(input *ListTrustStoreCertificatesInput) (req *request.Request, output *ListTrustStoreCertificatesOutput) { + op := &request.Operation{ + Name: opListTrustStoreCertificates, + HTTPMethod: "GET", + HTTPPath: "/trustStores/{trustStoreArn+}/certificates", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTrustStoreCertificatesInput{} + } + + output = &ListTrustStoreCertificatesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTrustStoreCertificates API operation for Amazon WorkSpaces Web. +// +// Retrieves a list of trust store certificates. +// +// 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 WorkSpaces Web's +// API operation ListTrustStoreCertificates for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/ListTrustStoreCertificates +func (c *WorkSpacesWeb) ListTrustStoreCertificates(input *ListTrustStoreCertificatesInput) (*ListTrustStoreCertificatesOutput, error) { + req, out := c.ListTrustStoreCertificatesRequest(input) + return out, req.Send() +} + +// ListTrustStoreCertificatesWithContext is the same as ListTrustStoreCertificates with the addition of +// the ability to pass a context and additional request options. +// +// See ListTrustStoreCertificates 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 *WorkSpacesWeb) ListTrustStoreCertificatesWithContext(ctx aws.Context, input *ListTrustStoreCertificatesInput, opts ...request.Option) (*ListTrustStoreCertificatesOutput, error) { + req, out := c.ListTrustStoreCertificatesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTrustStoreCertificatesPages iterates over the pages of a ListTrustStoreCertificates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTrustStoreCertificates 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 ListTrustStoreCertificates operation. +// pageNum := 0 +// err := client.ListTrustStoreCertificatesPages(params, +// func(page *workspacesweb.ListTrustStoreCertificatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *WorkSpacesWeb) ListTrustStoreCertificatesPages(input *ListTrustStoreCertificatesInput, fn func(*ListTrustStoreCertificatesOutput, bool) bool) error { + return c.ListTrustStoreCertificatesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTrustStoreCertificatesPagesWithContext same as ListTrustStoreCertificatesPages 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 *WorkSpacesWeb) ListTrustStoreCertificatesPagesWithContext(ctx aws.Context, input *ListTrustStoreCertificatesInput, fn func(*ListTrustStoreCertificatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTrustStoreCertificatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTrustStoreCertificatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTrustStoreCertificatesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTrustStores = "ListTrustStores" + +// ListTrustStoresRequest generates a "aws/request.Request" representing the +// client's request for the ListTrustStores 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 ListTrustStores for more information on using the ListTrustStores +// 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 ListTrustStoresRequest method. +// req, resp := client.ListTrustStoresRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/ListTrustStores +func (c *WorkSpacesWeb) ListTrustStoresRequest(input *ListTrustStoresInput) (req *request.Request, output *ListTrustStoresOutput) { + op := &request.Operation{ + Name: opListTrustStores, + HTTPMethod: "GET", + HTTPPath: "/trustStores", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTrustStoresInput{} + } + + output = &ListTrustStoresOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTrustStores API operation for Amazon WorkSpaces Web. +// +// Retrieves a list of trust stores. +// +// 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 WorkSpaces Web's +// API operation ListTrustStores for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/ListTrustStores +func (c *WorkSpacesWeb) ListTrustStores(input *ListTrustStoresInput) (*ListTrustStoresOutput, error) { + req, out := c.ListTrustStoresRequest(input) + return out, req.Send() +} + +// ListTrustStoresWithContext is the same as ListTrustStores with the addition of +// the ability to pass a context and additional request options. +// +// See ListTrustStores 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 *WorkSpacesWeb) ListTrustStoresWithContext(ctx aws.Context, input *ListTrustStoresInput, opts ...request.Option) (*ListTrustStoresOutput, error) { + req, out := c.ListTrustStoresRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTrustStoresPages iterates over the pages of a ListTrustStores operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTrustStores 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 ListTrustStores operation. +// pageNum := 0 +// err := client.ListTrustStoresPages(params, +// func(page *workspacesweb.ListTrustStoresOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *WorkSpacesWeb) ListTrustStoresPages(input *ListTrustStoresInput, fn func(*ListTrustStoresOutput, bool) bool) error { + return c.ListTrustStoresPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTrustStoresPagesWithContext same as ListTrustStoresPages 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 *WorkSpacesWeb) ListTrustStoresPagesWithContext(ctx aws.Context, input *ListTrustStoresInput, fn func(*ListTrustStoresOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTrustStoresInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTrustStoresRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTrustStoresOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListUserSettings = "ListUserSettings" + +// ListUserSettingsRequest generates a "aws/request.Request" representing the +// client's request for the ListUserSettings 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 ListUserSettings for more information on using the ListUserSettings +// 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 ListUserSettingsRequest method. +// req, resp := client.ListUserSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/ListUserSettings +func (c *WorkSpacesWeb) ListUserSettingsRequest(input *ListUserSettingsInput) (req *request.Request, output *ListUserSettingsOutput) { + op := &request.Operation{ + Name: opListUserSettings, + HTTPMethod: "GET", + HTTPPath: "/userSettings", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListUserSettingsInput{} + } + + output = &ListUserSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListUserSettings API operation for Amazon WorkSpaces Web. +// +// Retrieves a list of user settings. +// +// 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 WorkSpaces Web's +// API operation ListUserSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/ListUserSettings +func (c *WorkSpacesWeb) ListUserSettings(input *ListUserSettingsInput) (*ListUserSettingsOutput, error) { + req, out := c.ListUserSettingsRequest(input) + return out, req.Send() +} + +// ListUserSettingsWithContext is the same as ListUserSettings with the addition of +// the ability to pass a context and additional request options. +// +// See ListUserSettings 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 *WorkSpacesWeb) ListUserSettingsWithContext(ctx aws.Context, input *ListUserSettingsInput, opts ...request.Option) (*ListUserSettingsOutput, error) { + req, out := c.ListUserSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListUserSettingsPages iterates over the pages of a ListUserSettings operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListUserSettings 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 ListUserSettings operation. +// pageNum := 0 +// err := client.ListUserSettingsPages(params, +// func(page *workspacesweb.ListUserSettingsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *WorkSpacesWeb) ListUserSettingsPages(input *ListUserSettingsInput, fn func(*ListUserSettingsOutput, bool) bool) error { + return c.ListUserSettingsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListUserSettingsPagesWithContext same as ListUserSettingsPages 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 *WorkSpacesWeb) ListUserSettingsPagesWithContext(ctx aws.Context, input *ListUserSettingsInput, fn func(*ListUserSettingsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListUserSettingsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListUserSettingsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListUserSettingsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/TagResource +func (c *WorkSpacesWeb) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/tags/{resourceArn+}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for Amazon WorkSpaces Web. +// +// Adds or overwrites one or more tags for the specified resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkSpaces Web's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// * TooManyTagsException +// There are too many tags. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/TagResource +func (c *WorkSpacesWeb) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkSpacesWeb) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UntagResource for more information on using the UntagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/UntagResource +func (c *WorkSpacesWeb) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/tags/{resourceArn+}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for Amazon WorkSpaces Web. +// +// Removes one or more tags from the specified resource. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon WorkSpaces Web's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/UntagResource +func (c *WorkSpacesWeb) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *WorkSpacesWeb) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateBrowserSettings = "UpdateBrowserSettings" + +// UpdateBrowserSettingsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateBrowserSettings 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 UpdateBrowserSettings for more information on using the UpdateBrowserSettings +// 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 UpdateBrowserSettingsRequest method. +// req, resp := client.UpdateBrowserSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/UpdateBrowserSettings +func (c *WorkSpacesWeb) UpdateBrowserSettingsRequest(input *UpdateBrowserSettingsInput) (req *request.Request, output *UpdateBrowserSettingsOutput) { + op := &request.Operation{ + Name: opUpdateBrowserSettings, + HTTPMethod: "PATCH", + HTTPPath: "/browserSettings/{browserSettingsArn+}", + } + + if input == nil { + input = &UpdateBrowserSettingsInput{} + } + + output = &UpdateBrowserSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateBrowserSettings API operation for Amazon WorkSpaces Web. +// +// Updates browser settings. +// +// 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 WorkSpaces Web's +// API operation UpdateBrowserSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/UpdateBrowserSettings +func (c *WorkSpacesWeb) UpdateBrowserSettings(input *UpdateBrowserSettingsInput) (*UpdateBrowserSettingsOutput, error) { + req, out := c.UpdateBrowserSettingsRequest(input) + return out, req.Send() +} + +// UpdateBrowserSettingsWithContext is the same as UpdateBrowserSettings with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateBrowserSettings 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 *WorkSpacesWeb) UpdateBrowserSettingsWithContext(ctx aws.Context, input *UpdateBrowserSettingsInput, opts ...request.Option) (*UpdateBrowserSettingsOutput, error) { + req, out := c.UpdateBrowserSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateIdentityProvider = "UpdateIdentityProvider" + +// UpdateIdentityProviderRequest generates a "aws/request.Request" representing the +// client's request for the UpdateIdentityProvider 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 UpdateIdentityProvider for more information on using the UpdateIdentityProvider +// 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 UpdateIdentityProviderRequest method. +// req, resp := client.UpdateIdentityProviderRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/UpdateIdentityProvider +func (c *WorkSpacesWeb) UpdateIdentityProviderRequest(input *UpdateIdentityProviderInput) (req *request.Request, output *UpdateIdentityProviderOutput) { + op := &request.Operation{ + Name: opUpdateIdentityProvider, + HTTPMethod: "PATCH", + HTTPPath: "/identityProviders/{identityProviderArn+}", + } + + if input == nil { + input = &UpdateIdentityProviderInput{} + } + + output = &UpdateIdentityProviderOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateIdentityProvider API operation for Amazon WorkSpaces Web. +// +// Updates the identity provider. +// +// 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 WorkSpaces Web's +// API operation UpdateIdentityProvider for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/UpdateIdentityProvider +func (c *WorkSpacesWeb) UpdateIdentityProvider(input *UpdateIdentityProviderInput) (*UpdateIdentityProviderOutput, error) { + req, out := c.UpdateIdentityProviderRequest(input) + return out, req.Send() +} + +// UpdateIdentityProviderWithContext is the same as UpdateIdentityProvider with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateIdentityProvider 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 *WorkSpacesWeb) UpdateIdentityProviderWithContext(ctx aws.Context, input *UpdateIdentityProviderInput, opts ...request.Option) (*UpdateIdentityProviderOutput, error) { + req, out := c.UpdateIdentityProviderRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateNetworkSettings = "UpdateNetworkSettings" + +// UpdateNetworkSettingsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateNetworkSettings 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 UpdateNetworkSettings for more information on using the UpdateNetworkSettings +// 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 UpdateNetworkSettingsRequest method. +// req, resp := client.UpdateNetworkSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/UpdateNetworkSettings +func (c *WorkSpacesWeb) UpdateNetworkSettingsRequest(input *UpdateNetworkSettingsInput) (req *request.Request, output *UpdateNetworkSettingsOutput) { + op := &request.Operation{ + Name: opUpdateNetworkSettings, + HTTPMethod: "PATCH", + HTTPPath: "/networkSettings/{networkSettingsArn+}", + } + + if input == nil { + input = &UpdateNetworkSettingsInput{} + } + + output = &UpdateNetworkSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateNetworkSettings API operation for Amazon WorkSpaces Web. +// +// Updates network settings. +// +// 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 WorkSpaces Web's +// API operation UpdateNetworkSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/UpdateNetworkSettings +func (c *WorkSpacesWeb) UpdateNetworkSettings(input *UpdateNetworkSettingsInput) (*UpdateNetworkSettingsOutput, error) { + req, out := c.UpdateNetworkSettingsRequest(input) + return out, req.Send() +} + +// UpdateNetworkSettingsWithContext is the same as UpdateNetworkSettings with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateNetworkSettings 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 *WorkSpacesWeb) UpdateNetworkSettingsWithContext(ctx aws.Context, input *UpdateNetworkSettingsInput, opts ...request.Option) (*UpdateNetworkSettingsOutput, error) { + req, out := c.UpdateNetworkSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdatePortal = "UpdatePortal" + +// UpdatePortalRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePortal 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 UpdatePortal for more information on using the UpdatePortal +// 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 UpdatePortalRequest method. +// req, resp := client.UpdatePortalRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/UpdatePortal +func (c *WorkSpacesWeb) UpdatePortalRequest(input *UpdatePortalInput) (req *request.Request, output *UpdatePortalOutput) { + op := &request.Operation{ + Name: opUpdatePortal, + HTTPMethod: "PUT", + HTTPPath: "/portals/{portalArn+}", + } + + if input == nil { + input = &UpdatePortalInput{} + } + + output = &UpdatePortalOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdatePortal API operation for Amazon WorkSpaces Web. +// +// Updates a web portal. +// +// 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 WorkSpaces Web's +// API operation UpdatePortal for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/UpdatePortal +func (c *WorkSpacesWeb) UpdatePortal(input *UpdatePortalInput) (*UpdatePortalOutput, error) { + req, out := c.UpdatePortalRequest(input) + return out, req.Send() +} + +// UpdatePortalWithContext is the same as UpdatePortal with the addition of +// the ability to pass a context and additional request options. +// +// See UpdatePortal 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 *WorkSpacesWeb) UpdatePortalWithContext(ctx aws.Context, input *UpdatePortalInput, opts ...request.Option) (*UpdatePortalOutput, error) { + req, out := c.UpdatePortalRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateTrustStore = "UpdateTrustStore" + +// UpdateTrustStoreRequest generates a "aws/request.Request" representing the +// client's request for the UpdateTrustStore 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 UpdateTrustStore for more information on using the UpdateTrustStore +// 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 UpdateTrustStoreRequest method. +// req, resp := client.UpdateTrustStoreRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/UpdateTrustStore +func (c *WorkSpacesWeb) UpdateTrustStoreRequest(input *UpdateTrustStoreInput) (req *request.Request, output *UpdateTrustStoreOutput) { + op := &request.Operation{ + Name: opUpdateTrustStore, + HTTPMethod: "PATCH", + HTTPPath: "/trustStores/{trustStoreArn+}", + } + + if input == nil { + input = &UpdateTrustStoreInput{} + } + + output = &UpdateTrustStoreOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateTrustStore API operation for Amazon WorkSpaces Web. +// +// Updates the trust store. +// +// 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 WorkSpaces Web's +// API operation UpdateTrustStore for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ServiceQuotaExceededException +// The service quota has been exceeded. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/UpdateTrustStore +func (c *WorkSpacesWeb) UpdateTrustStore(input *UpdateTrustStoreInput) (*UpdateTrustStoreOutput, error) { + req, out := c.UpdateTrustStoreRequest(input) + return out, req.Send() +} + +// UpdateTrustStoreWithContext is the same as UpdateTrustStore with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateTrustStore 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 *WorkSpacesWeb) UpdateTrustStoreWithContext(ctx aws.Context, input *UpdateTrustStoreInput, opts ...request.Option) (*UpdateTrustStoreOutput, error) { + req, out := c.UpdateTrustStoreRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateUserSettings = "UpdateUserSettings" + +// UpdateUserSettingsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateUserSettings 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 UpdateUserSettings for more information on using the UpdateUserSettings +// 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 UpdateUserSettingsRequest method. +// req, resp := client.UpdateUserSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/UpdateUserSettings +func (c *WorkSpacesWeb) UpdateUserSettingsRequest(input *UpdateUserSettingsInput) (req *request.Request, output *UpdateUserSettingsOutput) { + op := &request.Operation{ + Name: opUpdateUserSettings, + HTTPMethod: "PATCH", + HTTPPath: "/userSettings/{userSettingsArn+}", + } + + if input == nil { + input = &UpdateUserSettingsInput{} + } + + output = &UpdateUserSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateUserSettings API operation for Amazon WorkSpaces Web. +// +// Updates the user settings. +// +// 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 WorkSpaces Web's +// API operation UpdateUserSettings for usage and error information. +// +// Returned Error Types: +// * InternalServerException +// There is an internal server error. +// +// * ResourceNotFoundException +// The resource cannot be found. +// +// * AccessDeniedException +// Access is denied. +// +// * ThrottlingException +// There is a throttling error. +// +// * ValidationException +// There is a validation error. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08/UpdateUserSettings +func (c *WorkSpacesWeb) UpdateUserSettings(input *UpdateUserSettingsInput) (*UpdateUserSettingsOutput, error) { + req, out := c.UpdateUserSettingsRequest(input) + return out, req.Send() +} + +// UpdateUserSettingsWithContext is the same as UpdateUserSettings with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateUserSettings 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 *WorkSpacesWeb) UpdateUserSettingsWithContext(ctx aws.Context, input *UpdateUserSettingsInput, opts ...request.Option) (*UpdateUserSettingsOutput, error) { + req, out := c.UpdateUserSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Access is denied. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +type AssociateBrowserSettingsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the browser settings. + // + // BrowserSettingsArn is a required field + BrowserSettingsArn *string `location:"querystring" locationName:"browserSettingsArn" min:"20" type:"string" required:"true"` + + // The ARN of the web portal. + // + // PortalArn is a required field + PortalArn *string `location:"uri" locationName:"portalArn" min:"20" 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 AssociateBrowserSettingsInput) 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 AssociateBrowserSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateBrowserSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateBrowserSettingsInput"} + if s.BrowserSettingsArn == nil { + invalidParams.Add(request.NewErrParamRequired("BrowserSettingsArn")) + } + if s.BrowserSettingsArn != nil && len(*s.BrowserSettingsArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("BrowserSettingsArn", 20)) + } + if s.PortalArn == nil { + invalidParams.Add(request.NewErrParamRequired("PortalArn")) + } + if s.PortalArn != nil && len(*s.PortalArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("PortalArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBrowserSettingsArn sets the BrowserSettingsArn field's value. +func (s *AssociateBrowserSettingsInput) SetBrowserSettingsArn(v string) *AssociateBrowserSettingsInput { + s.BrowserSettingsArn = &v + return s +} + +// SetPortalArn sets the PortalArn field's value. +func (s *AssociateBrowserSettingsInput) SetPortalArn(v string) *AssociateBrowserSettingsInput { + s.PortalArn = &v + return s +} + +type AssociateBrowserSettingsOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the browser settings. + // + // BrowserSettingsArn is a required field + BrowserSettingsArn *string `locationName:"browserSettingsArn" min:"20" type:"string" required:"true"` + + // The ARN of the web portal. + // + // PortalArn is a required field + PortalArn *string `locationName:"portalArn" min:"20" 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 AssociateBrowserSettingsOutput) 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 AssociateBrowserSettingsOutput) GoString() string { + return s.String() +} + +// SetBrowserSettingsArn sets the BrowserSettingsArn field's value. +func (s *AssociateBrowserSettingsOutput) SetBrowserSettingsArn(v string) *AssociateBrowserSettingsOutput { + s.BrowserSettingsArn = &v + return s +} + +// SetPortalArn sets the PortalArn field's value. +func (s *AssociateBrowserSettingsOutput) SetPortalArn(v string) *AssociateBrowserSettingsOutput { + s.PortalArn = &v + return s +} + +type AssociateNetworkSettingsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the network settings. + // + // NetworkSettingsArn is a required field + NetworkSettingsArn *string `location:"querystring" locationName:"networkSettingsArn" min:"20" type:"string" required:"true"` + + // The ARN of the web portal. + // + // PortalArn is a required field + PortalArn *string `location:"uri" locationName:"portalArn" min:"20" 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 AssociateNetworkSettingsInput) 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 AssociateNetworkSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateNetworkSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateNetworkSettingsInput"} + if s.NetworkSettingsArn == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkSettingsArn")) + } + if s.NetworkSettingsArn != nil && len(*s.NetworkSettingsArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("NetworkSettingsArn", 20)) + } + if s.PortalArn == nil { + invalidParams.Add(request.NewErrParamRequired("PortalArn")) + } + if s.PortalArn != nil && len(*s.PortalArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("PortalArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNetworkSettingsArn sets the NetworkSettingsArn field's value. +func (s *AssociateNetworkSettingsInput) SetNetworkSettingsArn(v string) *AssociateNetworkSettingsInput { + s.NetworkSettingsArn = &v + return s +} + +// SetPortalArn sets the PortalArn field's value. +func (s *AssociateNetworkSettingsInput) SetPortalArn(v string) *AssociateNetworkSettingsInput { + s.PortalArn = &v + return s +} + +type AssociateNetworkSettingsOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the network settings. + // + // NetworkSettingsArn is a required field + NetworkSettingsArn *string `locationName:"networkSettingsArn" min:"20" type:"string" required:"true"` + + // The ARN of the web portal. + // + // PortalArn is a required field + PortalArn *string `locationName:"portalArn" min:"20" 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 AssociateNetworkSettingsOutput) 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 AssociateNetworkSettingsOutput) GoString() string { + return s.String() +} + +// SetNetworkSettingsArn sets the NetworkSettingsArn field's value. +func (s *AssociateNetworkSettingsOutput) SetNetworkSettingsArn(v string) *AssociateNetworkSettingsOutput { + s.NetworkSettingsArn = &v + return s +} + +// SetPortalArn sets the PortalArn field's value. +func (s *AssociateNetworkSettingsOutput) SetPortalArn(v string) *AssociateNetworkSettingsOutput { + s.PortalArn = &v + return s +} + +type AssociateTrustStoreInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the web portal. + // + // PortalArn is a required field + PortalArn *string `location:"uri" locationName:"portalArn" min:"20" type:"string" required:"true"` + + // The ARN of the trust store. + // + // TrustStoreArn is a required field + TrustStoreArn *string `location:"querystring" locationName:"trustStoreArn" min:"20" 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 AssociateTrustStoreInput) 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 AssociateTrustStoreInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateTrustStoreInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateTrustStoreInput"} + if s.PortalArn == nil { + invalidParams.Add(request.NewErrParamRequired("PortalArn")) + } + if s.PortalArn != nil && len(*s.PortalArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("PortalArn", 20)) + } + if s.TrustStoreArn == nil { + invalidParams.Add(request.NewErrParamRequired("TrustStoreArn")) + } + if s.TrustStoreArn != nil && len(*s.TrustStoreArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("TrustStoreArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPortalArn sets the PortalArn field's value. +func (s *AssociateTrustStoreInput) SetPortalArn(v string) *AssociateTrustStoreInput { + s.PortalArn = &v + return s +} + +// SetTrustStoreArn sets the TrustStoreArn field's value. +func (s *AssociateTrustStoreInput) SetTrustStoreArn(v string) *AssociateTrustStoreInput { + s.TrustStoreArn = &v + return s +} + +type AssociateTrustStoreOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the web portal. + // + // PortalArn is a required field + PortalArn *string `locationName:"portalArn" min:"20" type:"string" required:"true"` + + // The ARN of the trust store. + // + // TrustStoreArn is a required field + TrustStoreArn *string `locationName:"trustStoreArn" min:"20" 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 AssociateTrustStoreOutput) 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 AssociateTrustStoreOutput) GoString() string { + return s.String() +} + +// SetPortalArn sets the PortalArn field's value. +func (s *AssociateTrustStoreOutput) SetPortalArn(v string) *AssociateTrustStoreOutput { + s.PortalArn = &v + return s +} + +// SetTrustStoreArn sets the TrustStoreArn field's value. +func (s *AssociateTrustStoreOutput) SetTrustStoreArn(v string) *AssociateTrustStoreOutput { + s.TrustStoreArn = &v + return s +} + +type AssociateUserSettingsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the web portal. + // + // PortalArn is a required field + PortalArn *string `location:"uri" locationName:"portalArn" min:"20" type:"string" required:"true"` + + // The ARN of the user settings. + // + // UserSettingsArn is a required field + UserSettingsArn *string `location:"querystring" locationName:"userSettingsArn" min:"20" 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 AssociateUserSettingsInput) 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 AssociateUserSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AssociateUserSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AssociateUserSettingsInput"} + if s.PortalArn == nil { + invalidParams.Add(request.NewErrParamRequired("PortalArn")) + } + if s.PortalArn != nil && len(*s.PortalArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("PortalArn", 20)) + } + if s.UserSettingsArn == nil { + invalidParams.Add(request.NewErrParamRequired("UserSettingsArn")) + } + if s.UserSettingsArn != nil && len(*s.UserSettingsArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("UserSettingsArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPortalArn sets the PortalArn field's value. +func (s *AssociateUserSettingsInput) SetPortalArn(v string) *AssociateUserSettingsInput { + s.PortalArn = &v + return s +} + +// SetUserSettingsArn sets the UserSettingsArn field's value. +func (s *AssociateUserSettingsInput) SetUserSettingsArn(v string) *AssociateUserSettingsInput { + s.UserSettingsArn = &v + return s +} + +type AssociateUserSettingsOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the web portal. + // + // PortalArn is a required field + PortalArn *string `locationName:"portalArn" min:"20" type:"string" required:"true"` + + // The ARN of the user settings. + // + // UserSettingsArn is a required field + UserSettingsArn *string `locationName:"userSettingsArn" min:"20" 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 AssociateUserSettingsOutput) 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 AssociateUserSettingsOutput) GoString() string { + return s.String() +} + +// SetPortalArn sets the PortalArn field's value. +func (s *AssociateUserSettingsOutput) SetPortalArn(v string) *AssociateUserSettingsOutput { + s.PortalArn = &v + return s +} + +// SetUserSettingsArn sets the UserSettingsArn field's value. +func (s *AssociateUserSettingsOutput) SetUserSettingsArn(v string) *AssociateUserSettingsOutput { + s.UserSettingsArn = &v + return s +} + +// The browser settings resource that can be associated with a web portal. Once +// associated with a web portal, browser settings control how the browser will +// behave once a user starts a streaming session for the web portal. +type BrowserSettings struct { + _ struct{} `type:"structure"` + + // A list of web portal ARNs that this browser settings is associated with. + AssociatedPortalArns []*string `locationName:"associatedPortalArns" type:"list"` + + // A JSON string containing Chrome Enterprise policies that will be applied + // to all streaming sessions. + BrowserPolicy *string `locationName:"browserPolicy" min:"2" type:"string"` + + // The ARN of the browser settings. + // + // BrowserSettingsArn is a required field + BrowserSettingsArn *string `locationName:"browserSettingsArn" min:"20" 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 BrowserSettings) 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 BrowserSettings) GoString() string { + return s.String() +} + +// SetAssociatedPortalArns sets the AssociatedPortalArns field's value. +func (s *BrowserSettings) SetAssociatedPortalArns(v []*string) *BrowserSettings { + s.AssociatedPortalArns = v + return s +} + +// SetBrowserPolicy sets the BrowserPolicy field's value. +func (s *BrowserSettings) SetBrowserPolicy(v string) *BrowserSettings { + s.BrowserPolicy = &v + return s +} + +// SetBrowserSettingsArn sets the BrowserSettingsArn field's value. +func (s *BrowserSettings) SetBrowserSettingsArn(v string) *BrowserSettings { + s.BrowserSettingsArn = &v + return s +} + +// The summary for browser settings. +type BrowserSettingsSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the browser settings. + BrowserSettingsArn *string `locationName:"browserSettingsArn" min:"20" 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 BrowserSettingsSummary) 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 BrowserSettingsSummary) GoString() string { + return s.String() +} + +// SetBrowserSettingsArn sets the BrowserSettingsArn field's value. +func (s *BrowserSettingsSummary) SetBrowserSettingsArn(v string) *BrowserSettingsSummary { + s.BrowserSettingsArn = &v + return s +} + +// The certificate. +type Certificate struct { + _ struct{} `type:"structure"` + + // The body of the certificate. + // Body is automatically base64 encoded/decoded by the SDK. + Body []byte `locationName:"body" type:"blob"` + + // The entity that issued the certificate. + Issuer *string `locationName:"issuer" min:"1" type:"string"` + + // The certificate is not valid after this date. + NotValidAfter *time.Time `locationName:"notValidAfter" type:"timestamp"` + + // The certificate is not valid before this date. + NotValidBefore *time.Time `locationName:"notValidBefore" type:"timestamp"` + + // The entity the certificate belongs to. + Subject *string `locationName:"subject" min:"1" type:"string"` + + // A hexadecimal identifier for the certificate. + Thumbprint *string `locationName:"thumbprint" min:"64" 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 Certificate) 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 Certificate) GoString() string { + return s.String() +} + +// SetBody sets the Body field's value. +func (s *Certificate) SetBody(v []byte) *Certificate { + s.Body = v + return s +} + +// SetIssuer sets the Issuer field's value. +func (s *Certificate) SetIssuer(v string) *Certificate { + s.Issuer = &v + return s +} + +// SetNotValidAfter sets the NotValidAfter field's value. +func (s *Certificate) SetNotValidAfter(v time.Time) *Certificate { + s.NotValidAfter = &v + return s +} + +// SetNotValidBefore sets the NotValidBefore field's value. +func (s *Certificate) SetNotValidBefore(v time.Time) *Certificate { + s.NotValidBefore = &v + return s +} + +// SetSubject sets the Subject field's value. +func (s *Certificate) SetSubject(v string) *Certificate { + s.Subject = &v + return s +} + +// SetThumbprint sets the Thumbprint field's value. +func (s *Certificate) SetThumbprint(v string) *Certificate { + s.Thumbprint = &v + return s +} + +// The summary of the certificate. +type CertificateSummary struct { + _ struct{} `type:"structure"` + + // The entity that issued the certificate. + Issuer *string `locationName:"issuer" min:"1" type:"string"` + + // The certificate is not valid after this date. + NotValidAfter *time.Time `locationName:"notValidAfter" type:"timestamp"` + + // The certificate is not valid before this date. + NotValidBefore *time.Time `locationName:"notValidBefore" type:"timestamp"` + + // The entity the certificate belongs to. + Subject *string `locationName:"subject" min:"1" type:"string"` + + // A hexadecimal identifier for the certificate. + Thumbprint *string `locationName:"thumbprint" min:"64" 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 CertificateSummary) 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 CertificateSummary) GoString() string { + return s.String() +} + +// SetIssuer sets the Issuer field's value. +func (s *CertificateSummary) SetIssuer(v string) *CertificateSummary { + s.Issuer = &v + return s +} + +// SetNotValidAfter sets the NotValidAfter field's value. +func (s *CertificateSummary) SetNotValidAfter(v time.Time) *CertificateSummary { + s.NotValidAfter = &v + return s +} + +// SetNotValidBefore sets the NotValidBefore field's value. +func (s *CertificateSummary) SetNotValidBefore(v time.Time) *CertificateSummary { + s.NotValidBefore = &v + return s +} + +// SetSubject sets the Subject field's value. +func (s *CertificateSummary) SetSubject(v string) *CertificateSummary { + s.Subject = &v + return s +} + +// SetThumbprint sets the Thumbprint field's value. +func (s *CertificateSummary) SetThumbprint(v string) *CertificateSummary { + s.Thumbprint = &v + return s +} + +// There is a conflict. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // Identifier of the resource affected. + ResourceId *string `locationName:"resourceId" type:"string"` + + // Type of the resource affected. + ResourceType *string `locationName:"resourceType" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateBrowserSettingsInput struct { + _ struct{} `type:"structure"` + + // Additional encryption context of the browser settings. + AdditionalEncryptionContext map[string]*string `locationName:"additionalEncryptionContext" type:"map"` + + // A JSON string containing Chrome Enterprise policies that will be applied + // to all streaming sessions. + // + // BrowserPolicy is a required field + BrowserPolicy *string `locationName:"browserPolicy" min:"2" type:"string" required:"true"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. Idempotency ensures that an API request completes only once. + // With an idempotent request, if the original request completes successfully, + // subsequent retries with the same client token returns the result from the + // original successful request. + // + // If you do not specify a client token, one is automatically generated by the + // AWS SDK. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The custom managed key of the browser settings. + CustomerManagedKey *string `locationName:"customerManagedKey" min:"20" type:"string"` + + // The tags to add to the browser settings resource. A tag is a key-value pair. + Tags []*Tag `locationName:"tags" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateBrowserSettingsInput) 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 CreateBrowserSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateBrowserSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateBrowserSettingsInput"} + if s.BrowserPolicy == nil { + invalidParams.Add(request.NewErrParamRequired("BrowserPolicy")) + } + if s.BrowserPolicy != nil && len(*s.BrowserPolicy) < 2 { + invalidParams.Add(request.NewErrParamMinLen("BrowserPolicy", 2)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.CustomerManagedKey != nil && len(*s.CustomerManagedKey) < 20 { + invalidParams.Add(request.NewErrParamMinLen("CustomerManagedKey", 20)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdditionalEncryptionContext sets the AdditionalEncryptionContext field's value. +func (s *CreateBrowserSettingsInput) SetAdditionalEncryptionContext(v map[string]*string) *CreateBrowserSettingsInput { + s.AdditionalEncryptionContext = v + return s +} + +// SetBrowserPolicy sets the BrowserPolicy field's value. +func (s *CreateBrowserSettingsInput) SetBrowserPolicy(v string) *CreateBrowserSettingsInput { + s.BrowserPolicy = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateBrowserSettingsInput) SetClientToken(v string) *CreateBrowserSettingsInput { + s.ClientToken = &v + return s +} + +// SetCustomerManagedKey sets the CustomerManagedKey field's value. +func (s *CreateBrowserSettingsInput) SetCustomerManagedKey(v string) *CreateBrowserSettingsInput { + s.CustomerManagedKey = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateBrowserSettingsInput) SetTags(v []*Tag) *CreateBrowserSettingsInput { + s.Tags = v + return s +} + +type CreateBrowserSettingsOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the browser settings. + // + // BrowserSettingsArn is a required field + BrowserSettingsArn *string `locationName:"browserSettingsArn" min:"20" 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 CreateBrowserSettingsOutput) 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 CreateBrowserSettingsOutput) GoString() string { + return s.String() +} + +// SetBrowserSettingsArn sets the BrowserSettingsArn field's value. +func (s *CreateBrowserSettingsOutput) SetBrowserSettingsArn(v string) *CreateBrowserSettingsOutput { + s.BrowserSettingsArn = &v + return s +} + +type CreateIdentityProviderInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. Idempotency ensures that an API request completes only once. + // With an idempotent request, if the original request completes successfully, + // subsequent retries with the same client token returns the result from the + // original successful request. + // + // If you do not specify a client token, one is automatically generated by the + // AWS SDK. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The identity provider details. The following list describes the provider + // detail keys for each identity provider type. + // + // * For Google and Login with Amazon: client_id client_secret authorize_scopes + // + // * For Facebook: client_id client_secret authorize_scopes api_version + // + // * For Sign in with Apple: client_id team_id key_id private_key authorize_scopes + // + // * For OIDC providers: client_id client_secret attributes_request_method + // oidc_issuer authorize_scopes authorize_url if not available from discovery + // URL specified by oidc_issuer key token_url if not available from discovery + // URL specified by oidc_issuer key attributes_url if not available from + // discovery URL specified by oidc_issuer key jwks_uri if not available from + // discovery URL specified by oidc_issuer key + // + // * For SAML providers: MetadataFile OR MetadataURL IDPSignout optional + // + // IdentityProviderDetails is a required field + IdentityProviderDetails map[string]*string `locationName:"identityProviderDetails" type:"map" required:"true"` + + // The identity provider name. + // + // IdentityProviderName is a required field + IdentityProviderName *string `locationName:"identityProviderName" min:"1" type:"string" required:"true"` + + // The identity provider type. + // + // IdentityProviderType is a required field + IdentityProviderType *string `locationName:"identityProviderType" type:"string" required:"true" enum:"IdentityProviderType"` + + // The ARN of the web portal. + // + // PortalArn is a required field + PortalArn *string `locationName:"portalArn" min:"20" 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 CreateIdentityProviderInput) 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 CreateIdentityProviderInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateIdentityProviderInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateIdentityProviderInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.IdentityProviderDetails == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityProviderDetails")) + } + if s.IdentityProviderName == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityProviderName")) + } + if s.IdentityProviderName != nil && len(*s.IdentityProviderName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IdentityProviderName", 1)) + } + if s.IdentityProviderType == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityProviderType")) + } + if s.PortalArn == nil { + invalidParams.Add(request.NewErrParamRequired("PortalArn")) + } + if s.PortalArn != nil && len(*s.PortalArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("PortalArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateIdentityProviderInput) SetClientToken(v string) *CreateIdentityProviderInput { + s.ClientToken = &v + return s +} + +// SetIdentityProviderDetails sets the IdentityProviderDetails field's value. +func (s *CreateIdentityProviderInput) SetIdentityProviderDetails(v map[string]*string) *CreateIdentityProviderInput { + s.IdentityProviderDetails = v + return s +} + +// SetIdentityProviderName sets the IdentityProviderName field's value. +func (s *CreateIdentityProviderInput) SetIdentityProviderName(v string) *CreateIdentityProviderInput { + s.IdentityProviderName = &v + return s +} + +// SetIdentityProviderType sets the IdentityProviderType field's value. +func (s *CreateIdentityProviderInput) SetIdentityProviderType(v string) *CreateIdentityProviderInput { + s.IdentityProviderType = &v + return s +} + +// SetPortalArn sets the PortalArn field's value. +func (s *CreateIdentityProviderInput) SetPortalArn(v string) *CreateIdentityProviderInput { + s.PortalArn = &v + return s +} + +type CreateIdentityProviderOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the identity provider. + // + // IdentityProviderArn is a required field + IdentityProviderArn *string `locationName:"identityProviderArn" min:"20" 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 CreateIdentityProviderOutput) 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 CreateIdentityProviderOutput) GoString() string { + return s.String() +} + +// SetIdentityProviderArn sets the IdentityProviderArn field's value. +func (s *CreateIdentityProviderOutput) SetIdentityProviderArn(v string) *CreateIdentityProviderOutput { + s.IdentityProviderArn = &v + return s +} + +type CreateNetworkSettingsInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. Idempotency ensures that an API request completes only once. + // With an idempotent request, if the original request completes successfully, + // subsequent retries with the same client token returns the result from the + // original successful request. + // + // If you do not specify a client token, one is automatically generated by the + // AWS SDK. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // One or more security groups used to control access from streaming instances + // to your VPC. + // + // SecurityGroupIds is a required field + SecurityGroupIds []*string `locationName:"securityGroupIds" min:"1" type:"list" required:"true"` + + // The subnets in which network interfaces are created to connect streaming + // instances to your VPC. At least two of these subnets must be in different + // availability zones. + // + // SubnetIds is a required field + SubnetIds []*string `locationName:"subnetIds" min:"2" type:"list" required:"true"` + + // The tags to add to the network settings resource. A tag is a key-value pair. + Tags []*Tag `locationName:"tags" type:"list"` + + // The VPC that streaming instances will connect to. + // + // VpcId is a required field + VpcId *string `locationName:"vpcId" 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 CreateNetworkSettingsInput) 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 CreateNetworkSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateNetworkSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateNetworkSettingsInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.SecurityGroupIds == nil { + invalidParams.Add(request.NewErrParamRequired("SecurityGroupIds")) + } + if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1)) + } + if s.SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("SubnetIds")) + } + if s.SubnetIds != nil && len(s.SubnetIds) < 2 { + invalidParams.Add(request.NewErrParamMinLen("SubnetIds", 2)) + } + if s.VpcId == nil { + invalidParams.Add(request.NewErrParamRequired("VpcId")) + } + if s.VpcId != nil && len(*s.VpcId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VpcId", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateNetworkSettingsInput) SetClientToken(v string) *CreateNetworkSettingsInput { + s.ClientToken = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *CreateNetworkSettingsInput) SetSecurityGroupIds(v []*string) *CreateNetworkSettingsInput { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *CreateNetworkSettingsInput) SetSubnetIds(v []*string) *CreateNetworkSettingsInput { + s.SubnetIds = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateNetworkSettingsInput) SetTags(v []*Tag) *CreateNetworkSettingsInput { + s.Tags = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *CreateNetworkSettingsInput) SetVpcId(v string) *CreateNetworkSettingsInput { + s.VpcId = &v + return s +} + +type CreateNetworkSettingsOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the network settings. + // + // NetworkSettingsArn is a required field + NetworkSettingsArn *string `locationName:"networkSettingsArn" min:"20" 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 CreateNetworkSettingsOutput) 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 CreateNetworkSettingsOutput) GoString() string { + return s.String() +} + +// SetNetworkSettingsArn sets the NetworkSettingsArn field's value. +func (s *CreateNetworkSettingsOutput) SetNetworkSettingsArn(v string) *CreateNetworkSettingsOutput { + s.NetworkSettingsArn = &v + return s +} + +type CreatePortalInput struct { + _ struct{} `type:"structure"` + + // The additional encryption context of the portal. + AdditionalEncryptionContext map[string]*string `locationName:"additionalEncryptionContext" type:"map"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. Idempotency ensures that an API request completes only once. + // With an idempotent request, if the original request completes successfully, + // subsequent retries with the same client token returns the result from the + // original successful request. + // + // If you do not specify a client token, one is automatically generated by the + // AWS SDK. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The customer managed key of the web portal. + CustomerManagedKey *string `locationName:"customerManagedKey" min:"20" type:"string"` + + // The name of the web portal. This is not visible to users who log into the + // web portal. + DisplayName *string `locationName:"displayName" min:"1" type:"string"` + + // The tags to add to the web portal. A tag is a key-value pair. + Tags []*Tag `locationName:"tags" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreatePortalInput) 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 CreatePortalInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePortalInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePortalInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.CustomerManagedKey != nil && len(*s.CustomerManagedKey) < 20 { + invalidParams.Add(request.NewErrParamMinLen("CustomerManagedKey", 20)) + } + if s.DisplayName != nil && len(*s.DisplayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdditionalEncryptionContext sets the AdditionalEncryptionContext field's value. +func (s *CreatePortalInput) SetAdditionalEncryptionContext(v map[string]*string) *CreatePortalInput { + s.AdditionalEncryptionContext = v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreatePortalInput) SetClientToken(v string) *CreatePortalInput { + s.ClientToken = &v + return s +} + +// SetCustomerManagedKey sets the CustomerManagedKey field's value. +func (s *CreatePortalInput) SetCustomerManagedKey(v string) *CreatePortalInput { + s.CustomerManagedKey = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *CreatePortalInput) SetDisplayName(v string) *CreatePortalInput { + s.DisplayName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreatePortalInput) SetTags(v []*Tag) *CreatePortalInput { + s.Tags = v + return s +} + +type CreatePortalOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the web portal. + // + // PortalArn is a required field + PortalArn *string `locationName:"portalArn" min:"20" type:"string" required:"true"` + + // The endpoint URL of the web portal that users access in order to start streaming + // sessions. + // + // PortalEndpoint is a required field + PortalEndpoint *string `locationName:"portalEndpoint" 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 CreatePortalOutput) 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 CreatePortalOutput) GoString() string { + return s.String() +} + +// SetPortalArn sets the PortalArn field's value. +func (s *CreatePortalOutput) SetPortalArn(v string) *CreatePortalOutput { + s.PortalArn = &v + return s +} + +// SetPortalEndpoint sets the PortalEndpoint field's value. +func (s *CreatePortalOutput) SetPortalEndpoint(v string) *CreatePortalOutput { + s.PortalEndpoint = &v + return s +} + +type CreateTrustStoreInput struct { + _ struct{} `type:"structure"` + + // A list of CA certificates to be added to the trust store. + // + // CertificateList is a required field + CertificateList [][]byte `locationName:"certificateList" type:"list" required:"true"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. Idempotency ensures that an API request completes only once. + // With an idempotent request, if the original request completes successfully, + // subsequent retries with the same client token returns the result from the + // original successful request. + // + // If you do not specify a client token, one is automatically generated by the + // AWS SDK. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The tags to add to the trust store. A tag is a key-value pair. + Tags []*Tag `locationName:"tags" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTrustStoreInput) 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 CreateTrustStoreInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTrustStoreInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTrustStoreInput"} + if s.CertificateList == nil { + invalidParams.Add(request.NewErrParamRequired("CertificateList")) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificateList sets the CertificateList field's value. +func (s *CreateTrustStoreInput) SetCertificateList(v [][]byte) *CreateTrustStoreInput { + s.CertificateList = v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateTrustStoreInput) SetClientToken(v string) *CreateTrustStoreInput { + s.ClientToken = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateTrustStoreInput) SetTags(v []*Tag) *CreateTrustStoreInput { + s.Tags = v + return s +} + +type CreateTrustStoreOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the trust store. + // + // TrustStoreArn is a required field + TrustStoreArn *string `locationName:"trustStoreArn" min:"20" 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 CreateTrustStoreOutput) 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 CreateTrustStoreOutput) GoString() string { + return s.String() +} + +// SetTrustStoreArn sets the TrustStoreArn field's value. +func (s *CreateTrustStoreOutput) SetTrustStoreArn(v string) *CreateTrustStoreOutput { + s.TrustStoreArn = &v + return s +} + +type CreateUserSettingsInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. Idempotency ensures that an API request completes only once. + // With an idempotent request, if the original request completes successfully, + // subsequent retries with the same client token returns the result from the + // original successful request. + // + // If you do not specify a client token, one is automatically generated by the + // AWS SDK. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // Specifies whether the user can copy text from the streaming session to the + // local device. + // + // CopyAllowed is a required field + CopyAllowed *string `locationName:"copyAllowed" type:"string" required:"true" enum:"EnabledType"` + + // Specifies whether the user can download files from the streaming session + // to the local device. + // + // DownloadAllowed is a required field + DownloadAllowed *string `locationName:"downloadAllowed" type:"string" required:"true" enum:"EnabledType"` + + // Specifies whether the user can paste text from the local device to the streaming + // session. + // + // PasteAllowed is a required field + PasteAllowed *string `locationName:"pasteAllowed" type:"string" required:"true" enum:"EnabledType"` + + // Specifies whether the user can print to the local device. + // + // PrintAllowed is a required field + PrintAllowed *string `locationName:"printAllowed" type:"string" required:"true" enum:"EnabledType"` + + // The tags to add to the user settings resource. A tag is a key-value pair. + Tags []*Tag `locationName:"tags" type:"list"` + + // Specifies whether the user can upload files from the local device to the + // streaming session. + // + // UploadAllowed is a required field + UploadAllowed *string `locationName:"uploadAllowed" type:"string" required:"true" enum:"EnabledType"` +} + +// 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 CreateUserSettingsInput) 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 CreateUserSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateUserSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateUserSettingsInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.CopyAllowed == nil { + invalidParams.Add(request.NewErrParamRequired("CopyAllowed")) + } + if s.DownloadAllowed == nil { + invalidParams.Add(request.NewErrParamRequired("DownloadAllowed")) + } + if s.PasteAllowed == nil { + invalidParams.Add(request.NewErrParamRequired("PasteAllowed")) + } + if s.PrintAllowed == nil { + invalidParams.Add(request.NewErrParamRequired("PrintAllowed")) + } + if s.UploadAllowed == nil { + invalidParams.Add(request.NewErrParamRequired("UploadAllowed")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateUserSettingsInput) SetClientToken(v string) *CreateUserSettingsInput { + s.ClientToken = &v + return s +} + +// SetCopyAllowed sets the CopyAllowed field's value. +func (s *CreateUserSettingsInput) SetCopyAllowed(v string) *CreateUserSettingsInput { + s.CopyAllowed = &v + return s +} + +// SetDownloadAllowed sets the DownloadAllowed field's value. +func (s *CreateUserSettingsInput) SetDownloadAllowed(v string) *CreateUserSettingsInput { + s.DownloadAllowed = &v + return s +} + +// SetPasteAllowed sets the PasteAllowed field's value. +func (s *CreateUserSettingsInput) SetPasteAllowed(v string) *CreateUserSettingsInput { + s.PasteAllowed = &v + return s +} + +// SetPrintAllowed sets the PrintAllowed field's value. +func (s *CreateUserSettingsInput) SetPrintAllowed(v string) *CreateUserSettingsInput { + s.PrintAllowed = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateUserSettingsInput) SetTags(v []*Tag) *CreateUserSettingsInput { + s.Tags = v + return s +} + +// SetUploadAllowed sets the UploadAllowed field's value. +func (s *CreateUserSettingsInput) SetUploadAllowed(v string) *CreateUserSettingsInput { + s.UploadAllowed = &v + return s +} + +type CreateUserSettingsOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the user settings. + // + // UserSettingsArn is a required field + UserSettingsArn *string `locationName:"userSettingsArn" min:"20" 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 CreateUserSettingsOutput) 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 CreateUserSettingsOutput) GoString() string { + return s.String() +} + +// SetUserSettingsArn sets the UserSettingsArn field's value. +func (s *CreateUserSettingsOutput) SetUserSettingsArn(v string) *CreateUserSettingsOutput { + s.UserSettingsArn = &v + return s +} + +type DeleteBrowserSettingsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the browser settings. + // + // BrowserSettingsArn is a required field + BrowserSettingsArn *string `location:"uri" locationName:"browserSettingsArn" min:"20" 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 DeleteBrowserSettingsInput) 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 DeleteBrowserSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteBrowserSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteBrowserSettingsInput"} + if s.BrowserSettingsArn == nil { + invalidParams.Add(request.NewErrParamRequired("BrowserSettingsArn")) + } + if s.BrowserSettingsArn != nil && len(*s.BrowserSettingsArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("BrowserSettingsArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBrowserSettingsArn sets the BrowserSettingsArn field's value. +func (s *DeleteBrowserSettingsInput) SetBrowserSettingsArn(v string) *DeleteBrowserSettingsInput { + s.BrowserSettingsArn = &v + return s +} + +type DeleteBrowserSettingsOutput 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 DeleteBrowserSettingsOutput) 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 DeleteBrowserSettingsOutput) GoString() string { + return s.String() +} + +type DeleteIdentityProviderInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the identity provider. + // + // IdentityProviderArn is a required field + IdentityProviderArn *string `location:"uri" locationName:"identityProviderArn" min:"20" 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 DeleteIdentityProviderInput) 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 DeleteIdentityProviderInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteIdentityProviderInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteIdentityProviderInput"} + if s.IdentityProviderArn == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityProviderArn")) + } + if s.IdentityProviderArn != nil && len(*s.IdentityProviderArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("IdentityProviderArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdentityProviderArn sets the IdentityProviderArn field's value. +func (s *DeleteIdentityProviderInput) SetIdentityProviderArn(v string) *DeleteIdentityProviderInput { + s.IdentityProviderArn = &v + return s +} + +type DeleteIdentityProviderOutput 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 DeleteIdentityProviderOutput) 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 DeleteIdentityProviderOutput) GoString() string { + return s.String() +} + +type DeleteNetworkSettingsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the network settings. + // + // NetworkSettingsArn is a required field + NetworkSettingsArn *string `location:"uri" locationName:"networkSettingsArn" min:"20" 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 DeleteNetworkSettingsInput) 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 DeleteNetworkSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteNetworkSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteNetworkSettingsInput"} + if s.NetworkSettingsArn == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkSettingsArn")) + } + if s.NetworkSettingsArn != nil && len(*s.NetworkSettingsArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("NetworkSettingsArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNetworkSettingsArn sets the NetworkSettingsArn field's value. +func (s *DeleteNetworkSettingsInput) SetNetworkSettingsArn(v string) *DeleteNetworkSettingsInput { + s.NetworkSettingsArn = &v + return s +} + +type DeleteNetworkSettingsOutput 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 DeleteNetworkSettingsOutput) 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 DeleteNetworkSettingsOutput) GoString() string { + return s.String() +} + +type DeletePortalInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the web portal. + // + // PortalArn is a required field + PortalArn *string `location:"uri" locationName:"portalArn" min:"20" 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 DeletePortalInput) 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 DeletePortalInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePortalInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePortalInput"} + if s.PortalArn == nil { + invalidParams.Add(request.NewErrParamRequired("PortalArn")) + } + if s.PortalArn != nil && len(*s.PortalArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("PortalArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPortalArn sets the PortalArn field's value. +func (s *DeletePortalInput) SetPortalArn(v string) *DeletePortalInput { + s.PortalArn = &v + return s +} + +type DeletePortalOutput 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 DeletePortalOutput) 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 DeletePortalOutput) GoString() string { + return s.String() +} + +type DeleteTrustStoreInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the trust store. + // + // TrustStoreArn is a required field + TrustStoreArn *string `location:"uri" locationName:"trustStoreArn" min:"20" 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 DeleteTrustStoreInput) 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 DeleteTrustStoreInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTrustStoreInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTrustStoreInput"} + if s.TrustStoreArn == nil { + invalidParams.Add(request.NewErrParamRequired("TrustStoreArn")) + } + if s.TrustStoreArn != nil && len(*s.TrustStoreArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("TrustStoreArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTrustStoreArn sets the TrustStoreArn field's value. +func (s *DeleteTrustStoreInput) SetTrustStoreArn(v string) *DeleteTrustStoreInput { + s.TrustStoreArn = &v + return s +} + +type DeleteTrustStoreOutput 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 DeleteTrustStoreOutput) 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 DeleteTrustStoreOutput) GoString() string { + return s.String() +} + +type DeleteUserSettingsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the user settings. + // + // UserSettingsArn is a required field + UserSettingsArn *string `location:"uri" locationName:"userSettingsArn" min:"20" 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 DeleteUserSettingsInput) 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 DeleteUserSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteUserSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteUserSettingsInput"} + if s.UserSettingsArn == nil { + invalidParams.Add(request.NewErrParamRequired("UserSettingsArn")) + } + if s.UserSettingsArn != nil && len(*s.UserSettingsArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("UserSettingsArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetUserSettingsArn sets the UserSettingsArn field's value. +func (s *DeleteUserSettingsInput) SetUserSettingsArn(v string) *DeleteUserSettingsInput { + s.UserSettingsArn = &v + return s +} + +type DeleteUserSettingsOutput 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 DeleteUserSettingsOutput) 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 DeleteUserSettingsOutput) GoString() string { + return s.String() +} + +type DisassociateBrowserSettingsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the web portal. + // + // PortalArn is a required field + PortalArn *string `location:"uri" locationName:"portalArn" min:"20" 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 DisassociateBrowserSettingsInput) 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 DisassociateBrowserSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateBrowserSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateBrowserSettingsInput"} + if s.PortalArn == nil { + invalidParams.Add(request.NewErrParamRequired("PortalArn")) + } + if s.PortalArn != nil && len(*s.PortalArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("PortalArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPortalArn sets the PortalArn field's value. +func (s *DisassociateBrowserSettingsInput) SetPortalArn(v string) *DisassociateBrowserSettingsInput { + s.PortalArn = &v + return s +} + +type DisassociateBrowserSettingsOutput 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 DisassociateBrowserSettingsOutput) 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 DisassociateBrowserSettingsOutput) GoString() string { + return s.String() +} + +type DisassociateNetworkSettingsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the web portal. + // + // PortalArn is a required field + PortalArn *string `location:"uri" locationName:"portalArn" min:"20" 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 DisassociateNetworkSettingsInput) 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 DisassociateNetworkSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateNetworkSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateNetworkSettingsInput"} + if s.PortalArn == nil { + invalidParams.Add(request.NewErrParamRequired("PortalArn")) + } + if s.PortalArn != nil && len(*s.PortalArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("PortalArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPortalArn sets the PortalArn field's value. +func (s *DisassociateNetworkSettingsInput) SetPortalArn(v string) *DisassociateNetworkSettingsInput { + s.PortalArn = &v + return s +} + +type DisassociateNetworkSettingsOutput 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 DisassociateNetworkSettingsOutput) 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 DisassociateNetworkSettingsOutput) GoString() string { + return s.String() +} + +type DisassociateTrustStoreInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the web portal. + // + // PortalArn is a required field + PortalArn *string `location:"uri" locationName:"portalArn" min:"20" 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 DisassociateTrustStoreInput) 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 DisassociateTrustStoreInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateTrustStoreInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateTrustStoreInput"} + if s.PortalArn == nil { + invalidParams.Add(request.NewErrParamRequired("PortalArn")) + } + if s.PortalArn != nil && len(*s.PortalArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("PortalArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPortalArn sets the PortalArn field's value. +func (s *DisassociateTrustStoreInput) SetPortalArn(v string) *DisassociateTrustStoreInput { + s.PortalArn = &v + return s +} + +type DisassociateTrustStoreOutput 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 DisassociateTrustStoreOutput) 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 DisassociateTrustStoreOutput) GoString() string { + return s.String() +} + +type DisassociateUserSettingsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the web portal. + // + // PortalArn is a required field + PortalArn *string `location:"uri" locationName:"portalArn" min:"20" 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 DisassociateUserSettingsInput) 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 DisassociateUserSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DisassociateUserSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DisassociateUserSettingsInput"} + if s.PortalArn == nil { + invalidParams.Add(request.NewErrParamRequired("PortalArn")) + } + if s.PortalArn != nil && len(*s.PortalArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("PortalArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPortalArn sets the PortalArn field's value. +func (s *DisassociateUserSettingsInput) SetPortalArn(v string) *DisassociateUserSettingsInput { + s.PortalArn = &v + return s +} + +type DisassociateUserSettingsOutput 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 DisassociateUserSettingsOutput) 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 DisassociateUserSettingsOutput) GoString() string { + return s.String() +} + +type GetBrowserSettingsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the browser settings. + // + // BrowserSettingsArn is a required field + BrowserSettingsArn *string `location:"uri" locationName:"browserSettingsArn" min:"20" 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 GetBrowserSettingsInput) 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 GetBrowserSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetBrowserSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetBrowserSettingsInput"} + if s.BrowserSettingsArn == nil { + invalidParams.Add(request.NewErrParamRequired("BrowserSettingsArn")) + } + if s.BrowserSettingsArn != nil && len(*s.BrowserSettingsArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("BrowserSettingsArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBrowserSettingsArn sets the BrowserSettingsArn field's value. +func (s *GetBrowserSettingsInput) SetBrowserSettingsArn(v string) *GetBrowserSettingsInput { + s.BrowserSettingsArn = &v + return s +} + +type GetBrowserSettingsOutput struct { + _ struct{} `type:"structure"` + + // The browser settings. + BrowserSettings *BrowserSettings `locationName:"browserSettings" 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 GetBrowserSettingsOutput) 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 GetBrowserSettingsOutput) GoString() string { + return s.String() +} + +// SetBrowserSettings sets the BrowserSettings field's value. +func (s *GetBrowserSettingsOutput) SetBrowserSettings(v *BrowserSettings) *GetBrowserSettingsOutput { + s.BrowserSettings = v + return s +} + +type GetIdentityProviderInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the identity provider. + // + // IdentityProviderArn is a required field + IdentityProviderArn *string `location:"uri" locationName:"identityProviderArn" min:"20" 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 GetIdentityProviderInput) 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 GetIdentityProviderInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetIdentityProviderInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetIdentityProviderInput"} + if s.IdentityProviderArn == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityProviderArn")) + } + if s.IdentityProviderArn != nil && len(*s.IdentityProviderArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("IdentityProviderArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdentityProviderArn sets the IdentityProviderArn field's value. +func (s *GetIdentityProviderInput) SetIdentityProviderArn(v string) *GetIdentityProviderInput { + s.IdentityProviderArn = &v + return s +} + +type GetIdentityProviderOutput struct { + _ struct{} `type:"structure"` + + // The identity provider. + IdentityProvider *IdentityProvider `locationName:"identityProvider" 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 GetIdentityProviderOutput) 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 GetIdentityProviderOutput) GoString() string { + return s.String() +} + +// SetIdentityProvider sets the IdentityProvider field's value. +func (s *GetIdentityProviderOutput) SetIdentityProvider(v *IdentityProvider) *GetIdentityProviderOutput { + s.IdentityProvider = v + return s +} + +type GetNetworkSettingsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the network settings. + // + // NetworkSettingsArn is a required field + NetworkSettingsArn *string `location:"uri" locationName:"networkSettingsArn" min:"20" 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 GetNetworkSettingsInput) 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 GetNetworkSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetNetworkSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetNetworkSettingsInput"} + if s.NetworkSettingsArn == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkSettingsArn")) + } + if s.NetworkSettingsArn != nil && len(*s.NetworkSettingsArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("NetworkSettingsArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNetworkSettingsArn sets the NetworkSettingsArn field's value. +func (s *GetNetworkSettingsInput) SetNetworkSettingsArn(v string) *GetNetworkSettingsInput { + s.NetworkSettingsArn = &v + return s +} + +type GetNetworkSettingsOutput struct { + _ struct{} `type:"structure"` + + // The network settings. + NetworkSettings *NetworkSettings `locationName:"networkSettings" 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 GetNetworkSettingsOutput) 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 GetNetworkSettingsOutput) GoString() string { + return s.String() +} + +// SetNetworkSettings sets the NetworkSettings field's value. +func (s *GetNetworkSettingsOutput) SetNetworkSettings(v *NetworkSettings) *GetNetworkSettingsOutput { + s.NetworkSettings = v + return s +} + +type GetPortalInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the web portal. + // + // PortalArn is a required field + PortalArn *string `location:"uri" locationName:"portalArn" min:"20" 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 GetPortalInput) 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 GetPortalInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPortalInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPortalInput"} + if s.PortalArn == nil { + invalidParams.Add(request.NewErrParamRequired("PortalArn")) + } + if s.PortalArn != nil && len(*s.PortalArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("PortalArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPortalArn sets the PortalArn field's value. +func (s *GetPortalInput) SetPortalArn(v string) *GetPortalInput { + s.PortalArn = &v + return s +} + +type GetPortalOutput struct { + _ struct{} `type:"structure"` + + // The web portal. + Portal *Portal `locationName:"portal" 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 GetPortalOutput) 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 GetPortalOutput) GoString() string { + return s.String() +} + +// SetPortal sets the Portal field's value. +func (s *GetPortalOutput) SetPortal(v *Portal) *GetPortalOutput { + s.Portal = v + return s +} + +type GetPortalServiceProviderMetadataInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the web portal. + // + // PortalArn is a required field + PortalArn *string `location:"uri" locationName:"portalArn" min:"20" 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 GetPortalServiceProviderMetadataInput) 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 GetPortalServiceProviderMetadataInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPortalServiceProviderMetadataInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPortalServiceProviderMetadataInput"} + if s.PortalArn == nil { + invalidParams.Add(request.NewErrParamRequired("PortalArn")) + } + if s.PortalArn != nil && len(*s.PortalArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("PortalArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPortalArn sets the PortalArn field's value. +func (s *GetPortalServiceProviderMetadataInput) SetPortalArn(v string) *GetPortalServiceProviderMetadataInput { + s.PortalArn = &v + return s +} + +type GetPortalServiceProviderMetadataOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the web portal. + // + // PortalArn is a required field + PortalArn *string `locationName:"portalArn" min:"20" type:"string" required:"true"` + + // The service provider SAML metadata. + ServiceProviderSamlMetadata *string `locationName:"serviceProviderSamlMetadata" 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 GetPortalServiceProviderMetadataOutput) 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 GetPortalServiceProviderMetadataOutput) GoString() string { + return s.String() +} + +// SetPortalArn sets the PortalArn field's value. +func (s *GetPortalServiceProviderMetadataOutput) SetPortalArn(v string) *GetPortalServiceProviderMetadataOutput { + s.PortalArn = &v + return s +} + +// SetServiceProviderSamlMetadata sets the ServiceProviderSamlMetadata field's value. +func (s *GetPortalServiceProviderMetadataOutput) SetServiceProviderSamlMetadata(v string) *GetPortalServiceProviderMetadataOutput { + s.ServiceProviderSamlMetadata = &v + return s +} + +type GetTrustStoreCertificateInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The thumbprint of the trust store certificate. + // + // Thumbprint is a required field + Thumbprint *string `location:"querystring" locationName:"thumbprint" min:"64" type:"string" required:"true"` + + // The ARN of the trust store certificate. + // + // TrustStoreArn is a required field + TrustStoreArn *string `location:"uri" locationName:"trustStoreArn" min:"20" 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 GetTrustStoreCertificateInput) 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 GetTrustStoreCertificateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTrustStoreCertificateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTrustStoreCertificateInput"} + if s.Thumbprint == nil { + invalidParams.Add(request.NewErrParamRequired("Thumbprint")) + } + if s.Thumbprint != nil && len(*s.Thumbprint) < 64 { + invalidParams.Add(request.NewErrParamMinLen("Thumbprint", 64)) + } + if s.TrustStoreArn == nil { + invalidParams.Add(request.NewErrParamRequired("TrustStoreArn")) + } + if s.TrustStoreArn != nil && len(*s.TrustStoreArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("TrustStoreArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetThumbprint sets the Thumbprint field's value. +func (s *GetTrustStoreCertificateInput) SetThumbprint(v string) *GetTrustStoreCertificateInput { + s.Thumbprint = &v + return s +} + +// SetTrustStoreArn sets the TrustStoreArn field's value. +func (s *GetTrustStoreCertificateInput) SetTrustStoreArn(v string) *GetTrustStoreCertificateInput { + s.TrustStoreArn = &v + return s +} + +type GetTrustStoreCertificateOutput struct { + _ struct{} `type:"structure"` + + // The certificate of the trust store certificate. + Certificate *Certificate `locationName:"certificate" type:"structure"` + + // The ARN of the trust store certificate. + TrustStoreArn *string `locationName:"trustStoreArn" min:"20" 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 GetTrustStoreCertificateOutput) 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 GetTrustStoreCertificateOutput) GoString() string { + return s.String() +} + +// SetCertificate sets the Certificate field's value. +func (s *GetTrustStoreCertificateOutput) SetCertificate(v *Certificate) *GetTrustStoreCertificateOutput { + s.Certificate = v + return s +} + +// SetTrustStoreArn sets the TrustStoreArn field's value. +func (s *GetTrustStoreCertificateOutput) SetTrustStoreArn(v string) *GetTrustStoreCertificateOutput { + s.TrustStoreArn = &v + return s +} + +type GetTrustStoreInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the trust store. + // + // TrustStoreArn is a required field + TrustStoreArn *string `location:"uri" locationName:"trustStoreArn" min:"20" 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 GetTrustStoreInput) 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 GetTrustStoreInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTrustStoreInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTrustStoreInput"} + if s.TrustStoreArn == nil { + invalidParams.Add(request.NewErrParamRequired("TrustStoreArn")) + } + if s.TrustStoreArn != nil && len(*s.TrustStoreArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("TrustStoreArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTrustStoreArn sets the TrustStoreArn field's value. +func (s *GetTrustStoreInput) SetTrustStoreArn(v string) *GetTrustStoreInput { + s.TrustStoreArn = &v + return s +} + +type GetTrustStoreOutput struct { + _ struct{} `type:"structure"` + + // The trust store. + TrustStore *TrustStore `locationName:"trustStore" 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 GetTrustStoreOutput) 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 GetTrustStoreOutput) GoString() string { + return s.String() +} + +// SetTrustStore sets the TrustStore field's value. +func (s *GetTrustStoreOutput) SetTrustStore(v *TrustStore) *GetTrustStoreOutput { + s.TrustStore = v + return s +} + +type GetUserSettingsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the user settings. + // + // UserSettingsArn is a required field + UserSettingsArn *string `location:"uri" locationName:"userSettingsArn" min:"20" 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 GetUserSettingsInput) 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 GetUserSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetUserSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetUserSettingsInput"} + if s.UserSettingsArn == nil { + invalidParams.Add(request.NewErrParamRequired("UserSettingsArn")) + } + if s.UserSettingsArn != nil && len(*s.UserSettingsArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("UserSettingsArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetUserSettingsArn sets the UserSettingsArn field's value. +func (s *GetUserSettingsInput) SetUserSettingsArn(v string) *GetUserSettingsInput { + s.UserSettingsArn = &v + return s +} + +type GetUserSettingsOutput struct { + _ struct{} `type:"structure"` + + // The user settings. + UserSettings *UserSettings `locationName:"userSettings" 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 GetUserSettingsOutput) 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 GetUserSettingsOutput) GoString() string { + return s.String() +} + +// SetUserSettings sets the UserSettings field's value. +func (s *GetUserSettingsOutput) SetUserSettings(v *UserSettings) *GetUserSettingsOutput { + s.UserSettings = v + return s +} + +// The identity provider. +type IdentityProvider struct { + _ struct{} `type:"structure"` + + // The ARN of the identity provider. + // + // IdentityProviderArn is a required field + IdentityProviderArn *string `locationName:"identityProviderArn" min:"20" type:"string" required:"true"` + + // The identity provider details. The following list describes the provider + // detail keys for each identity provider type. + // + // * For Google and Login with Amazon: client_id client_secret authorize_scopes + // + // * For Facebook: client_id client_secret authorize_scopes api_version + // + // * For Sign in with Apple: client_id team_id key_id private_key authorize_scopes + // + // * For OIDC providers: client_id client_secret attributes_request_method + // oidc_issuer authorize_scopes authorize_url if not available from discovery + // URL specified by oidc_issuer key token_url if not available from discovery + // URL specified by oidc_issuer key attributes_url if not available from + // discovery URL specified by oidc_issuer key jwks_uri if not available from + // discovery URL specified by oidc_issuer key + // + // * For SAML providers: MetadataFile OR MetadataURL IDPSignout optional + IdentityProviderDetails map[string]*string `locationName:"identityProviderDetails" type:"map"` + + // The identity provider name. + IdentityProviderName *string `locationName:"identityProviderName" min:"1" type:"string"` + + // The identity provider type. + IdentityProviderType *string `locationName:"identityProviderType" type:"string" enum:"IdentityProviderType"` +} + +// 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 IdentityProvider) 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 IdentityProvider) GoString() string { + return s.String() +} + +// SetIdentityProviderArn sets the IdentityProviderArn field's value. +func (s *IdentityProvider) SetIdentityProviderArn(v string) *IdentityProvider { + s.IdentityProviderArn = &v + return s +} + +// SetIdentityProviderDetails sets the IdentityProviderDetails field's value. +func (s *IdentityProvider) SetIdentityProviderDetails(v map[string]*string) *IdentityProvider { + s.IdentityProviderDetails = v + return s +} + +// SetIdentityProviderName sets the IdentityProviderName field's value. +func (s *IdentityProvider) SetIdentityProviderName(v string) *IdentityProvider { + s.IdentityProviderName = &v + return s +} + +// SetIdentityProviderType sets the IdentityProviderType field's value. +func (s *IdentityProvider) SetIdentityProviderType(v string) *IdentityProvider { + s.IdentityProviderType = &v + return s +} + +// The summary of the identity provider. +type IdentityProviderSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the identity provider. + IdentityProviderArn *string `locationName:"identityProviderArn" min:"20" type:"string"` + + // The identity provider name. + IdentityProviderName *string `locationName:"identityProviderName" min:"1" type:"string"` + + // The identity provider type. + IdentityProviderType *string `locationName:"identityProviderType" type:"string" enum:"IdentityProviderType"` +} + +// 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 IdentityProviderSummary) 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 IdentityProviderSummary) GoString() string { + return s.String() +} + +// SetIdentityProviderArn sets the IdentityProviderArn field's value. +func (s *IdentityProviderSummary) SetIdentityProviderArn(v string) *IdentityProviderSummary { + s.IdentityProviderArn = &v + return s +} + +// SetIdentityProviderName sets the IdentityProviderName field's value. +func (s *IdentityProviderSummary) SetIdentityProviderName(v string) *IdentityProviderSummary { + s.IdentityProviderName = &v + return s +} + +// SetIdentityProviderType sets the IdentityProviderType field's value. +func (s *IdentityProviderSummary) SetIdentityProviderType(v string) *IdentityProviderSummary { + s.IdentityProviderType = &v + return s +} + +// There is an internal server error. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // Advice to clients on when the call can be safely retried. + RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"` +} + +// 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 InternalServerException) 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 InternalServerException) GoString() string { + return s.String() +} + +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" +} + +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil +} + +func (s *InternalServerException) 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 *InternalServerException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListBrowserSettingsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of results to be included in the next page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token used to retrieve the next page of results for this operation. + 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 ListBrowserSettingsInput) 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 ListBrowserSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListBrowserSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListBrowserSettingsInput"} + 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 +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListBrowserSettingsInput) SetMaxResults(v int64) *ListBrowserSettingsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBrowserSettingsInput) SetNextToken(v string) *ListBrowserSettingsInput { + s.NextToken = &v + return s +} + +type ListBrowserSettingsOutput struct { + _ struct{} `type:"structure"` + + // The browser settings. + BrowserSettings []*BrowserSettingsSummary `locationName:"browserSettings" type:"list"` + + // The pagination token used to retrieve the next page of results for this operation. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListBrowserSettingsOutput) 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 ListBrowserSettingsOutput) GoString() string { + return s.String() +} + +// SetBrowserSettings sets the BrowserSettings field's value. +func (s *ListBrowserSettingsOutput) SetBrowserSettings(v []*BrowserSettingsSummary) *ListBrowserSettingsOutput { + s.BrowserSettings = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListBrowserSettingsOutput) SetNextToken(v string) *ListBrowserSettingsOutput { + s.NextToken = &v + return s +} + +type ListIdentityProvidersInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of results to be included in the next page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token used to retrieve the next page of results for this operation. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` + + // The ARN of the web portal. + // + // PortalArn is a required field + PortalArn *string `location:"uri" locationName:"portalArn" min:"20" 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 ListIdentityProvidersInput) 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 ListIdentityProvidersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListIdentityProvidersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListIdentityProvidersInput"} + 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 s.PortalArn == nil { + invalidParams.Add(request.NewErrParamRequired("PortalArn")) + } + if s.PortalArn != nil && len(*s.PortalArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("PortalArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListIdentityProvidersInput) SetMaxResults(v int64) *ListIdentityProvidersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListIdentityProvidersInput) SetNextToken(v string) *ListIdentityProvidersInput { + s.NextToken = &v + return s +} + +// SetPortalArn sets the PortalArn field's value. +func (s *ListIdentityProvidersInput) SetPortalArn(v string) *ListIdentityProvidersInput { + s.PortalArn = &v + return s +} + +type ListIdentityProvidersOutput struct { + _ struct{} `type:"structure"` + + // The identity providers. + IdentityProviders []*IdentityProviderSummary `locationName:"identityProviders" type:"list"` + + // The pagination token used to retrieve the next page of results for this operation. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListIdentityProvidersOutput) 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 ListIdentityProvidersOutput) GoString() string { + return s.String() +} + +// SetIdentityProviders sets the IdentityProviders field's value. +func (s *ListIdentityProvidersOutput) SetIdentityProviders(v []*IdentityProviderSummary) *ListIdentityProvidersOutput { + s.IdentityProviders = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListIdentityProvidersOutput) SetNextToken(v string) *ListIdentityProvidersOutput { + s.NextToken = &v + return s +} + +type ListNetworkSettingsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of results to be included in the next page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token used to retrieve the next page of results for this operation. + 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 ListNetworkSettingsInput) 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 ListNetworkSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListNetworkSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListNetworkSettingsInput"} + 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 +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListNetworkSettingsInput) SetMaxResults(v int64) *ListNetworkSettingsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListNetworkSettingsInput) SetNextToken(v string) *ListNetworkSettingsInput { + s.NextToken = &v + return s +} + +type ListNetworkSettingsOutput struct { + _ struct{} `type:"structure"` + + // The network settings. + NetworkSettings []*NetworkSettingsSummary `locationName:"networkSettings" type:"list"` + + // The pagination token used to retrieve the next page of results for this operation. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListNetworkSettingsOutput) 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 ListNetworkSettingsOutput) GoString() string { + return s.String() +} + +// SetNetworkSettings sets the NetworkSettings field's value. +func (s *ListNetworkSettingsOutput) SetNetworkSettings(v []*NetworkSettingsSummary) *ListNetworkSettingsOutput { + s.NetworkSettings = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListNetworkSettingsOutput) SetNextToken(v string) *ListNetworkSettingsOutput { + s.NextToken = &v + return s +} + +type ListPortalsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of results to be included in the next page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token used to retrieve the next page of results for this operation. + 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 ListPortalsInput) 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 ListPortalsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPortalsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPortalsInput"} + 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 +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPortalsInput) SetMaxResults(v int64) *ListPortalsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPortalsInput) SetNextToken(v string) *ListPortalsInput { + s.NextToken = &v + return s +} + +type ListPortalsOutput struct { + _ struct{} `type:"structure"` + + // The pagination token used to retrieve the next page of results for this operation. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The portals in the list. + Portals []*PortalSummary `locationName:"portals" 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 ListPortalsOutput) 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 ListPortalsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPortalsOutput) SetNextToken(v string) *ListPortalsOutput { + s.NextToken = &v + return s +} + +// SetPortals sets the Portals field's value. +func (s *ListPortalsOutput) SetPortals(v []*PortalSummary) *ListPortalsOutput { + s.Portals = v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the resource. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + // The tags of the resource. + Tags []*Tag `locationName:"tags" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +type ListTrustStoreCertificatesInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of results to be included in the next page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token used to retrieve the next page of results for this operation. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` + + // The ARN of the trust store + // + // TrustStoreArn is a required field + TrustStoreArn *string `location:"uri" locationName:"trustStoreArn" min:"20" 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 ListTrustStoreCertificatesInput) 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 ListTrustStoreCertificatesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTrustStoreCertificatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTrustStoreCertificatesInput"} + 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 s.TrustStoreArn == nil { + invalidParams.Add(request.NewErrParamRequired("TrustStoreArn")) + } + if s.TrustStoreArn != nil && len(*s.TrustStoreArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("TrustStoreArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTrustStoreCertificatesInput) SetMaxResults(v int64) *ListTrustStoreCertificatesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTrustStoreCertificatesInput) SetNextToken(v string) *ListTrustStoreCertificatesInput { + s.NextToken = &v + return s +} + +// SetTrustStoreArn sets the TrustStoreArn field's value. +func (s *ListTrustStoreCertificatesInput) SetTrustStoreArn(v string) *ListTrustStoreCertificatesInput { + s.TrustStoreArn = &v + return s +} + +type ListTrustStoreCertificatesOutput struct { + _ struct{} `type:"structure"` + + // The certificate list. + CertificateList []*CertificateSummary `locationName:"certificateList" type:"list"` + + // The pagination token used to retrieve the next page of results for this operation.> + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The ARN of the trust store. + TrustStoreArn *string `locationName:"trustStoreArn" min:"20" 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 ListTrustStoreCertificatesOutput) 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 ListTrustStoreCertificatesOutput) GoString() string { + return s.String() +} + +// SetCertificateList sets the CertificateList field's value. +func (s *ListTrustStoreCertificatesOutput) SetCertificateList(v []*CertificateSummary) *ListTrustStoreCertificatesOutput { + s.CertificateList = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTrustStoreCertificatesOutput) SetNextToken(v string) *ListTrustStoreCertificatesOutput { + s.NextToken = &v + return s +} + +// SetTrustStoreArn sets the TrustStoreArn field's value. +func (s *ListTrustStoreCertificatesOutput) SetTrustStoreArn(v string) *ListTrustStoreCertificatesOutput { + s.TrustStoreArn = &v + return s +} + +type ListTrustStoresInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of results to be included in the next page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token used to retrieve the next page of results for this operation. + 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 ListTrustStoresInput) 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 ListTrustStoresInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTrustStoresInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTrustStoresInput"} + 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 +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTrustStoresInput) SetMaxResults(v int64) *ListTrustStoresInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTrustStoresInput) SetNextToken(v string) *ListTrustStoresInput { + s.NextToken = &v + return s +} + +type ListTrustStoresOutput struct { + _ struct{} `type:"structure"` + + // The pagination token used to retrieve the next page of results for this operation. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The trust stores. + TrustStores []*TrustStoreSummary `locationName:"trustStores" 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 ListTrustStoresOutput) 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 ListTrustStoresOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTrustStoresOutput) SetNextToken(v string) *ListTrustStoresOutput { + s.NextToken = &v + return s +} + +// SetTrustStores sets the TrustStores field's value. +func (s *ListTrustStoresOutput) SetTrustStores(v []*TrustStoreSummary) *ListTrustStoresOutput { + s.TrustStores = v + return s +} + +type ListUserSettingsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum number of results to be included in the next page. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The pagination token used to retrieve the next page of results for this operation. + 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 ListUserSettingsInput) 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 ListUserSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListUserSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListUserSettingsInput"} + 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 +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListUserSettingsInput) SetMaxResults(v int64) *ListUserSettingsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListUserSettingsInput) SetNextToken(v string) *ListUserSettingsInput { + s.NextToken = &v + return s +} + +type ListUserSettingsOutput struct { + _ struct{} `type:"structure"` + + // The pagination token used to retrieve the next page of results for this operation. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The user settings. + UserSettings []*UserSettingsSummary `locationName:"userSettings" 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 ListUserSettingsOutput) 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 ListUserSettingsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListUserSettingsOutput) SetNextToken(v string) *ListUserSettingsOutput { + s.NextToken = &v + return s +} + +// SetUserSettings sets the UserSettings field's value. +func (s *ListUserSettingsOutput) SetUserSettings(v []*UserSettingsSummary) *ListUserSettingsOutput { + s.UserSettings = v + return s +} + +// A network settings resource that can be associated with a web portal. Once +// associated with a web portal, network settings define how streaming instances +// will connect with your specified VPC. +type NetworkSettings struct { + _ struct{} `type:"structure"` + + // A list of web portal ARNs that this network settings is associated with. + AssociatedPortalArns []*string `locationName:"associatedPortalArns" type:"list"` + + // The ARN of the network settings. + // + // NetworkSettingsArn is a required field + NetworkSettingsArn *string `locationName:"networkSettingsArn" min:"20" type:"string" required:"true"` + + // One or more security groups used to control access from streaming instances + // to your VPC. + SecurityGroupIds []*string `locationName:"securityGroupIds" min:"1" type:"list"` + + // The subnets in which network interfaces are created to connect streaming + // instances to your VPC. At least two of these subnets must be in different + // availability zones. + SubnetIds []*string `locationName:"subnetIds" min:"2" type:"list"` + + // The VPC that streaming instances will connect to. + VpcId *string `locationName:"vpcId" 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 NetworkSettings) 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 NetworkSettings) GoString() string { + return s.String() +} + +// SetAssociatedPortalArns sets the AssociatedPortalArns field's value. +func (s *NetworkSettings) SetAssociatedPortalArns(v []*string) *NetworkSettings { + s.AssociatedPortalArns = v + return s +} + +// SetNetworkSettingsArn sets the NetworkSettingsArn field's value. +func (s *NetworkSettings) SetNetworkSettingsArn(v string) *NetworkSettings { + s.NetworkSettingsArn = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *NetworkSettings) SetSecurityGroupIds(v []*string) *NetworkSettings { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *NetworkSettings) SetSubnetIds(v []*string) *NetworkSettings { + s.SubnetIds = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *NetworkSettings) SetVpcId(v string) *NetworkSettings { + s.VpcId = &v + return s +} + +// The summary of network settings. +type NetworkSettingsSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the network settings. + NetworkSettingsArn *string `locationName:"networkSettingsArn" min:"20" type:"string"` + + // The VPC ID of the network settings. + VpcId *string `locationName:"vpcId" 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 NetworkSettingsSummary) 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 NetworkSettingsSummary) GoString() string { + return s.String() +} + +// SetNetworkSettingsArn sets the NetworkSettingsArn field's value. +func (s *NetworkSettingsSummary) SetNetworkSettingsArn(v string) *NetworkSettingsSummary { + s.NetworkSettingsArn = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *NetworkSettingsSummary) SetVpcId(v string) *NetworkSettingsSummary { + s.VpcId = &v + return s +} + +// The web portal. +type Portal struct { + _ struct{} `type:"structure"` + + // The ARN of the browser settings that is associated with this web portal. + BrowserSettingsArn *string `locationName:"browserSettingsArn" min:"20" type:"string"` + + // The browser that users see when using a streaming session. + BrowserType *string `locationName:"browserType" type:"string" enum:"BrowserType"` + + // The creation date of the web portal. + CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + + // The name of the web portal. + DisplayName *string `locationName:"displayName" min:"1" type:"string"` + + // The ARN of the network settings that is associated with the web portal. + NetworkSettingsArn *string `locationName:"networkSettingsArn" min:"20" type:"string"` + + // The ARN of the web portal. + PortalArn *string `locationName:"portalArn" min:"20" type:"string"` + + // The endpoint URL of the web portal that users access in order to start streaming + // sessions. + PortalEndpoint *string `locationName:"portalEndpoint" min:"1" type:"string"` + + // The status of the web portal. + PortalStatus *string `locationName:"portalStatus" type:"string" enum:"PortalStatus"` + + // The renderer that is used in streaming sessions. + RendererType *string `locationName:"rendererType" type:"string" enum:"RendererType"` + + // A message that explains why the web portal is in its current status. + StatusReason *string `locationName:"statusReason" min:"1" type:"string"` + + // The ARN of the trust store that is associated with the web portal. + TrustStoreArn *string `locationName:"trustStoreArn" min:"20" type:"string"` + + // The ARN of the trust store that is associated with the web portal. + UserSettingsArn *string `locationName:"userSettingsArn" min:"20" 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 Portal) 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 Portal) GoString() string { + return s.String() +} + +// SetBrowserSettingsArn sets the BrowserSettingsArn field's value. +func (s *Portal) SetBrowserSettingsArn(v string) *Portal { + s.BrowserSettingsArn = &v + return s +} + +// SetBrowserType sets the BrowserType field's value. +func (s *Portal) SetBrowserType(v string) *Portal { + s.BrowserType = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *Portal) SetCreationDate(v time.Time) *Portal { + s.CreationDate = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *Portal) SetDisplayName(v string) *Portal { + s.DisplayName = &v + return s +} + +// SetNetworkSettingsArn sets the NetworkSettingsArn field's value. +func (s *Portal) SetNetworkSettingsArn(v string) *Portal { + s.NetworkSettingsArn = &v + return s +} + +// SetPortalArn sets the PortalArn field's value. +func (s *Portal) SetPortalArn(v string) *Portal { + s.PortalArn = &v + return s +} + +// SetPortalEndpoint sets the PortalEndpoint field's value. +func (s *Portal) SetPortalEndpoint(v string) *Portal { + s.PortalEndpoint = &v + return s +} + +// SetPortalStatus sets the PortalStatus field's value. +func (s *Portal) SetPortalStatus(v string) *Portal { + s.PortalStatus = &v + return s +} + +// SetRendererType sets the RendererType field's value. +func (s *Portal) SetRendererType(v string) *Portal { + s.RendererType = &v + return s +} + +// SetStatusReason sets the StatusReason field's value. +func (s *Portal) SetStatusReason(v string) *Portal { + s.StatusReason = &v + return s +} + +// SetTrustStoreArn sets the TrustStoreArn field's value. +func (s *Portal) SetTrustStoreArn(v string) *Portal { + s.TrustStoreArn = &v + return s +} + +// SetUserSettingsArn sets the UserSettingsArn field's value. +func (s *Portal) SetUserSettingsArn(v string) *Portal { + s.UserSettingsArn = &v + return s +} + +// The summary of the portal. +type PortalSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the browser settings that is associated with the web portal. + BrowserSettingsArn *string `locationName:"browserSettingsArn" min:"20" type:"string"` + + // The browser type of the web portal. + BrowserType *string `locationName:"browserType" type:"string" enum:"BrowserType"` + + // The creation date of the web portal. + CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + + // The name of the web portal. + DisplayName *string `locationName:"displayName" min:"1" type:"string"` + + // The ARN of the network settings that is associated with the web portal. + NetworkSettingsArn *string `locationName:"networkSettingsArn" min:"20" type:"string"` + + // The ARN of the web portal. + PortalArn *string `locationName:"portalArn" min:"20" type:"string"` + + // The endpoint URL of the web portal that users access in order to start streaming + // sessions. + PortalEndpoint *string `locationName:"portalEndpoint" min:"1" type:"string"` + + // The status of the web portal. + PortalStatus *string `locationName:"portalStatus" type:"string" enum:"PortalStatus"` + + // The renderer that is used in streaming sessions. + RendererType *string `locationName:"rendererType" type:"string" enum:"RendererType"` + + // The ARN of the trust that is associated with this web portal. + TrustStoreArn *string `locationName:"trustStoreArn" min:"20" type:"string"` + + // The ARN of the user settings that is associated with the web portal. + UserSettingsArn *string `locationName:"userSettingsArn" min:"20" 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 PortalSummary) 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 PortalSummary) GoString() string { + return s.String() +} + +// SetBrowserSettingsArn sets the BrowserSettingsArn field's value. +func (s *PortalSummary) SetBrowserSettingsArn(v string) *PortalSummary { + s.BrowserSettingsArn = &v + return s +} + +// SetBrowserType sets the BrowserType field's value. +func (s *PortalSummary) SetBrowserType(v string) *PortalSummary { + s.BrowserType = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *PortalSummary) SetCreationDate(v time.Time) *PortalSummary { + s.CreationDate = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *PortalSummary) SetDisplayName(v string) *PortalSummary { + s.DisplayName = &v + return s +} + +// SetNetworkSettingsArn sets the NetworkSettingsArn field's value. +func (s *PortalSummary) SetNetworkSettingsArn(v string) *PortalSummary { + s.NetworkSettingsArn = &v + return s +} + +// SetPortalArn sets the PortalArn field's value. +func (s *PortalSummary) SetPortalArn(v string) *PortalSummary { + s.PortalArn = &v + return s +} + +// SetPortalEndpoint sets the PortalEndpoint field's value. +func (s *PortalSummary) SetPortalEndpoint(v string) *PortalSummary { + s.PortalEndpoint = &v + return s +} + +// SetPortalStatus sets the PortalStatus field's value. +func (s *PortalSummary) SetPortalStatus(v string) *PortalSummary { + s.PortalStatus = &v + return s +} + +// SetRendererType sets the RendererType field's value. +func (s *PortalSummary) SetRendererType(v string) *PortalSummary { + s.RendererType = &v + return s +} + +// SetTrustStoreArn sets the TrustStoreArn field's value. +func (s *PortalSummary) SetTrustStoreArn(v string) *PortalSummary { + s.TrustStoreArn = &v + return s +} + +// SetUserSettingsArn sets the UserSettingsArn field's value. +func (s *PortalSummary) SetUserSettingsArn(v string) *PortalSummary { + s.UserSettingsArn = &v + return s +} + +// The resource cannot be found. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // Hypothetical identifier of the resource affected. + ResourceId *string `locationName:"resourceId" type:"string"` + + // Hypothetical type of the resource affected. + ResourceType *string `locationName:"resourceType" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The service quota has been exceeded. +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // The originating quota. + QuotaCode *string `locationName:"quotaCode" type:"string"` + + // Identifier of the resource affected. + ResourceId *string `locationName:"resourceId" type:"string"` + + // Type of the resource affected. + ResourceType *string `locationName:"resourceType" type:"string"` + + // The originating service. + ServiceCode *string `locationName:"serviceCode" 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 ServiceQuotaExceededException) 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 ServiceQuotaExceededException) GoString() string { + return s.String() +} + +func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { + return &ServiceQuotaExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceQuotaExceededException) Code() string { + return "ServiceQuotaExceededException" +} + +// Message returns the exception's message. +func (s *ServiceQuotaExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceQuotaExceededException) OrigErr() error { + return nil +} + +func (s *ServiceQuotaExceededException) 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 *ServiceQuotaExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceQuotaExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The tag. +type Tag struct { + _ struct{} `type:"structure"` + + // The key of the tag. + // + // Key is a required field + Key *string `min:"1" type:"string" required:"true"` + + // The value of the tag + // + // Value is a required field + Value *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Tag) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Tag) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Tag) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Tag"} + if s.Key == nil { + invalidParams.Add(request.NewErrParamRequired("Key")) + } + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *Tag) SetKey(v string) *Tag { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *Tag) SetValue(v string) *Tag { + s.Value = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. Idempotency ensures that an API request completes only once. + // With an idempotent request, if the original request completes successfully, + // subsequent retries with the same client token returns the result from the + // original successful request. + // + // If you do not specify a client token, one is automatically generated by the + // AWS SDK. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The ARN of the resource. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` + + // The tags of the resource. + // + // Tags is a required field + Tags []*Tag `locationName:"tags" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *TagResourceInput) SetClientToken(v string) *TagResourceInput { + s.ClientToken = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// There is a throttling error. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // The originating quota. + QuotaCode *string `locationName:"quotaCode" type:"string"` + + // Advice to clients on when the call can be safely retried. + RetryAfterSeconds *int64 `location:"header" locationName:"Retry-After" type:"integer"` + + // The originating service. + ServiceCode *string `locationName:"serviceCode" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ThrottlingException) GoString() string { + return s.String() +} + +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +func (s *ThrottlingException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +// There are too many tags. +type TooManyTagsException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // Name of the resource affected. + ResourceName *string `locationName:"resourceName" min:"20" 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 TooManyTagsException) 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 TooManyTagsException) GoString() string { + return s.String() +} + +func newErrorTooManyTagsException(v protocol.ResponseMetadata) error { + return &TooManyTagsException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *TooManyTagsException) Code() string { + return "TooManyTagsException" +} + +// Message returns the exception's message. +func (s *TooManyTagsException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *TooManyTagsException) OrigErr() error { + return nil +} + +func (s *TooManyTagsException) 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 *TooManyTagsException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *TooManyTagsException) RequestID() string { + return s.RespMetadata.RequestID +} + +// A trust store that can be associated with a web portal. A trust store contains +// certificate authority (CA) certificates. Once associated with a web portal, +// the browser in a streaming session will recognize certificates that have +// been issued using any of the CAs in the trust store. If your organization +// has internal websites that use certificates issued by private CAs, you should +// add the private CA certificate to the trust store. +type TrustStore struct { + _ struct{} `type:"structure"` + + // A list of web portal ARNs that this trust store is associated with. + AssociatedPortalArns []*string `locationName:"associatedPortalArns" type:"list"` + + // The ARN of the trust store. + TrustStoreArn *string `locationName:"trustStoreArn" min:"20" 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 TrustStore) 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 TrustStore) GoString() string { + return s.String() +} + +// SetAssociatedPortalArns sets the AssociatedPortalArns field's value. +func (s *TrustStore) SetAssociatedPortalArns(v []*string) *TrustStore { + s.AssociatedPortalArns = v + return s +} + +// SetTrustStoreArn sets the TrustStoreArn field's value. +func (s *TrustStore) SetTrustStoreArn(v string) *TrustStore { + s.TrustStoreArn = &v + return s +} + +// The summary of the trust store. +type TrustStoreSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the trust store. + TrustStoreArn *string `locationName:"trustStoreArn" min:"20" 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 TrustStoreSummary) 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 TrustStoreSummary) GoString() string { + return s.String() +} + +// SetTrustStoreArn sets the TrustStoreArn field's value. +func (s *TrustStoreSummary) SetTrustStoreArn(v string) *TrustStoreSummary { + s.TrustStoreArn = &v + return s +} + +type UntagResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The ARN of the resource. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` + + // The list of tag keys to remove from the resource. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateBrowserSettingsInput struct { + _ struct{} `type:"structure"` + + // A JSON string containing Chrome Enterprise policies that will be applied + // to all streaming sessions. + BrowserPolicy *string `locationName:"browserPolicy" min:"2" type:"string"` + + // The ARN of the browser settings. + // + // BrowserSettingsArn is a required field + BrowserSettingsArn *string `location:"uri" locationName:"browserSettingsArn" min:"20" type:"string" required:"true"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. Idempotency ensures that an API request completes only once. + // With an idempotent request, if the original request completes successfully, + // subsequent retries with the same client token return the result from the + // original successful request. + // + // If you do not specify a client token, one is automatically generated by the + // AWS SDK. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"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 UpdateBrowserSettingsInput) 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 UpdateBrowserSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateBrowserSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateBrowserSettingsInput"} + if s.BrowserPolicy != nil && len(*s.BrowserPolicy) < 2 { + invalidParams.Add(request.NewErrParamMinLen("BrowserPolicy", 2)) + } + if s.BrowserSettingsArn == nil { + invalidParams.Add(request.NewErrParamRequired("BrowserSettingsArn")) + } + if s.BrowserSettingsArn != nil && len(*s.BrowserSettingsArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("BrowserSettingsArn", 20)) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetBrowserPolicy sets the BrowserPolicy field's value. +func (s *UpdateBrowserSettingsInput) SetBrowserPolicy(v string) *UpdateBrowserSettingsInput { + s.BrowserPolicy = &v + return s +} + +// SetBrowserSettingsArn sets the BrowserSettingsArn field's value. +func (s *UpdateBrowserSettingsInput) SetBrowserSettingsArn(v string) *UpdateBrowserSettingsInput { + s.BrowserSettingsArn = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateBrowserSettingsInput) SetClientToken(v string) *UpdateBrowserSettingsInput { + s.ClientToken = &v + return s +} + +type UpdateBrowserSettingsOutput struct { + _ struct{} `type:"structure"` + + // The browser settings. + // + // BrowserSettings is a required field + BrowserSettings *BrowserSettings `locationName:"browserSettings" 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 UpdateBrowserSettingsOutput) 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 UpdateBrowserSettingsOutput) GoString() string { + return s.String() +} + +// SetBrowserSettings sets the BrowserSettings field's value. +func (s *UpdateBrowserSettingsOutput) SetBrowserSettings(v *BrowserSettings) *UpdateBrowserSettingsOutput { + s.BrowserSettings = v + return s +} + +type UpdateIdentityProviderInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. Idempotency ensures that an API request completes only once. + // With an idempotent request, if the original request completes successfully, + // subsequent retries with the same client token return the result from the + // original successful request. + // + // If you do not specify a client token, one is automatically generated by the + // AWS SDK. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The ARN of the identity provider. + // + // IdentityProviderArn is a required field + IdentityProviderArn *string `location:"uri" locationName:"identityProviderArn" min:"20" type:"string" required:"true"` + + // The details of the identity provider. + IdentityProviderDetails map[string]*string `locationName:"identityProviderDetails" type:"map"` + + // The name of the identity provider. + IdentityProviderName *string `locationName:"identityProviderName" min:"1" type:"string"` + + // The type of the identity provider. + IdentityProviderType *string `locationName:"identityProviderType" type:"string" enum:"IdentityProviderType"` +} + +// 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 UpdateIdentityProviderInput) 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 UpdateIdentityProviderInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateIdentityProviderInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateIdentityProviderInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.IdentityProviderArn == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityProviderArn")) + } + if s.IdentityProviderArn != nil && len(*s.IdentityProviderArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("IdentityProviderArn", 20)) + } + if s.IdentityProviderName != nil && len(*s.IdentityProviderName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IdentityProviderName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateIdentityProviderInput) SetClientToken(v string) *UpdateIdentityProviderInput { + s.ClientToken = &v + return s +} + +// SetIdentityProviderArn sets the IdentityProviderArn field's value. +func (s *UpdateIdentityProviderInput) SetIdentityProviderArn(v string) *UpdateIdentityProviderInput { + s.IdentityProviderArn = &v + return s +} + +// SetIdentityProviderDetails sets the IdentityProviderDetails field's value. +func (s *UpdateIdentityProviderInput) SetIdentityProviderDetails(v map[string]*string) *UpdateIdentityProviderInput { + s.IdentityProviderDetails = v + return s +} + +// SetIdentityProviderName sets the IdentityProviderName field's value. +func (s *UpdateIdentityProviderInput) SetIdentityProviderName(v string) *UpdateIdentityProviderInput { + s.IdentityProviderName = &v + return s +} + +// SetIdentityProviderType sets the IdentityProviderType field's value. +func (s *UpdateIdentityProviderInput) SetIdentityProviderType(v string) *UpdateIdentityProviderInput { + s.IdentityProviderType = &v + return s +} + +type UpdateIdentityProviderOutput struct { + _ struct{} `type:"structure"` + + // The identity provider. + // + // IdentityProvider is a required field + IdentityProvider *IdentityProvider `locationName:"identityProvider" 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 UpdateIdentityProviderOutput) 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 UpdateIdentityProviderOutput) GoString() string { + return s.String() +} + +// SetIdentityProvider sets the IdentityProvider field's value. +func (s *UpdateIdentityProviderOutput) SetIdentityProvider(v *IdentityProvider) *UpdateIdentityProviderOutput { + s.IdentityProvider = v + return s +} + +type UpdateNetworkSettingsInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. Idempotency ensures that an API request completes only once. + // With an idempotent request, if the original request completes successfully, + // subsequent retries with the same client token return the result from the + // original successful request. + // + // If you do not specify a client token, one is automatically generated by the + // AWS SDK. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The ARN of the network settings. + // + // NetworkSettingsArn is a required field + NetworkSettingsArn *string `location:"uri" locationName:"networkSettingsArn" min:"20" type:"string" required:"true"` + + // One or more security groups used to control access from streaming instances + // to your VPC. + SecurityGroupIds []*string `locationName:"securityGroupIds" min:"1" type:"list"` + + // The subnets in which network interfaces are created to connect streaming + // instances to your VPC. At least two of these subnets must be in different + // availability zones. + SubnetIds []*string `locationName:"subnetIds" min:"2" type:"list"` + + // The VPC that streaming instances will connect to. + VpcId *string `locationName:"vpcId" 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 UpdateNetworkSettingsInput) 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 UpdateNetworkSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateNetworkSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateNetworkSettingsInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.NetworkSettingsArn == nil { + invalidParams.Add(request.NewErrParamRequired("NetworkSettingsArn")) + } + if s.NetworkSettingsArn != nil && len(*s.NetworkSettingsArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("NetworkSettingsArn", 20)) + } + if s.SecurityGroupIds != nil && len(s.SecurityGroupIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SecurityGroupIds", 1)) + } + if s.SubnetIds != nil && len(s.SubnetIds) < 2 { + invalidParams.Add(request.NewErrParamMinLen("SubnetIds", 2)) + } + if s.VpcId != nil && len(*s.VpcId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("VpcId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateNetworkSettingsInput) SetClientToken(v string) *UpdateNetworkSettingsInput { + s.ClientToken = &v + return s +} + +// SetNetworkSettingsArn sets the NetworkSettingsArn field's value. +func (s *UpdateNetworkSettingsInput) SetNetworkSettingsArn(v string) *UpdateNetworkSettingsInput { + s.NetworkSettingsArn = &v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *UpdateNetworkSettingsInput) SetSecurityGroupIds(v []*string) *UpdateNetworkSettingsInput { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *UpdateNetworkSettingsInput) SetSubnetIds(v []*string) *UpdateNetworkSettingsInput { + s.SubnetIds = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *UpdateNetworkSettingsInput) SetVpcId(v string) *UpdateNetworkSettingsInput { + s.VpcId = &v + return s +} + +type UpdateNetworkSettingsOutput struct { + _ struct{} `type:"structure"` + + // The network settings. + // + // NetworkSettings is a required field + NetworkSettings *NetworkSettings `locationName:"networkSettings" 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 UpdateNetworkSettingsOutput) 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 UpdateNetworkSettingsOutput) GoString() string { + return s.String() +} + +// SetNetworkSettings sets the NetworkSettings field's value. +func (s *UpdateNetworkSettingsOutput) SetNetworkSettings(v *NetworkSettings) *UpdateNetworkSettingsOutput { + s.NetworkSettings = v + return s +} + +type UpdatePortalInput struct { + _ struct{} `type:"structure"` + + // The name of the web portal. This is not visible to users who log into the + // web portal. + DisplayName *string `locationName:"displayName" min:"1" type:"string"` + + // The ARN of the web portal. + // + // PortalArn is a required field + PortalArn *string `location:"uri" locationName:"portalArn" min:"20" 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 UpdatePortalInput) 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 UpdatePortalInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdatePortalInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdatePortalInput"} + if s.DisplayName != nil && len(*s.DisplayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1)) + } + if s.PortalArn == nil { + invalidParams.Add(request.NewErrParamRequired("PortalArn")) + } + if s.PortalArn != nil && len(*s.PortalArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("PortalArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDisplayName sets the DisplayName field's value. +func (s *UpdatePortalInput) SetDisplayName(v string) *UpdatePortalInput { + s.DisplayName = &v + return s +} + +// SetPortalArn sets the PortalArn field's value. +func (s *UpdatePortalInput) SetPortalArn(v string) *UpdatePortalInput { + s.PortalArn = &v + return s +} + +type UpdatePortalOutput struct { + _ struct{} `type:"structure"` + + // The web portal. + Portal *Portal `locationName:"portal" 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 UpdatePortalOutput) 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 UpdatePortalOutput) GoString() string { + return s.String() +} + +// SetPortal sets the Portal field's value. +func (s *UpdatePortalOutput) SetPortal(v *Portal) *UpdatePortalOutput { + s.Portal = v + return s +} + +type UpdateTrustStoreInput struct { + _ struct{} `type:"structure"` + + // A list of CA certificates to add to the trust store. + CertificatesToAdd [][]byte `locationName:"certificatesToAdd" type:"list"` + + // A list of CA certificates to delete from a trust store. + CertificatesToDelete []*string `locationName:"certificatesToDelete" type:"list"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. Idempotency ensures that an API request completes only once. + // With an idempotent request, if the original request completes successfully, + // subsequent retries with the same client token return the result from the + // original successful request. + // + // If you do not specify a client token, one is automatically generated by the + // AWS SDK. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // The ARN of the trust store. + // + // TrustStoreArn is a required field + TrustStoreArn *string `location:"uri" locationName:"trustStoreArn" min:"20" 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 UpdateTrustStoreInput) 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 UpdateTrustStoreInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateTrustStoreInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateTrustStoreInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.TrustStoreArn == nil { + invalidParams.Add(request.NewErrParamRequired("TrustStoreArn")) + } + if s.TrustStoreArn != nil && len(*s.TrustStoreArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("TrustStoreArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCertificatesToAdd sets the CertificatesToAdd field's value. +func (s *UpdateTrustStoreInput) SetCertificatesToAdd(v [][]byte) *UpdateTrustStoreInput { + s.CertificatesToAdd = v + return s +} + +// SetCertificatesToDelete sets the CertificatesToDelete field's value. +func (s *UpdateTrustStoreInput) SetCertificatesToDelete(v []*string) *UpdateTrustStoreInput { + s.CertificatesToDelete = v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateTrustStoreInput) SetClientToken(v string) *UpdateTrustStoreInput { + s.ClientToken = &v + return s +} + +// SetTrustStoreArn sets the TrustStoreArn field's value. +func (s *UpdateTrustStoreInput) SetTrustStoreArn(v string) *UpdateTrustStoreInput { + s.TrustStoreArn = &v + return s +} + +type UpdateTrustStoreOutput struct { + _ struct{} `type:"structure"` + + // The ARN of the trust store. + // + // TrustStoreArn is a required field + TrustStoreArn *string `locationName:"trustStoreArn" min:"20" 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 UpdateTrustStoreOutput) 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 UpdateTrustStoreOutput) GoString() string { + return s.String() +} + +// SetTrustStoreArn sets the TrustStoreArn field's value. +func (s *UpdateTrustStoreOutput) SetTrustStoreArn(v string) *UpdateTrustStoreOutput { + s.TrustStoreArn = &v + return s +} + +type UpdateUserSettingsInput struct { + _ struct{} `type:"structure"` + + // A unique, case-sensitive identifier that you provide to ensure the idempotency + // of the request. Idempotency ensures that an API request completes only once. + // With an idempotent request, if the original request completes successfully, + // subsequent retries with the same client token return the result from the + // original successful request. + // + // If you do not specify a client token, one is automatically generated by the + // AWS SDK. + ClientToken *string `locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` + + // Specifies whether the user can copy text from the streaming session to the + // local device. + CopyAllowed *string `locationName:"copyAllowed" type:"string" enum:"EnabledType"` + + // Specifies whether the user can download files from the streaming session + // to the local device. + DownloadAllowed *string `locationName:"downloadAllowed" type:"string" enum:"EnabledType"` + + // Specifies whether the user can paste text from the local device to the streaming + // session. + PasteAllowed *string `locationName:"pasteAllowed" type:"string" enum:"EnabledType"` + + // Specifies whether the user can print to the local device. + PrintAllowed *string `locationName:"printAllowed" type:"string" enum:"EnabledType"` + + // Specifies whether the user can upload files from the local device to the + // streaming session. + UploadAllowed *string `locationName:"uploadAllowed" type:"string" enum:"EnabledType"` + + // The ARN of the user settings. + // + // UserSettingsArn is a required field + UserSettingsArn *string `location:"uri" locationName:"userSettingsArn" min:"20" 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 UpdateUserSettingsInput) 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 UpdateUserSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateUserSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateUserSettingsInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.UserSettingsArn == nil { + invalidParams.Add(request.NewErrParamRequired("UserSettingsArn")) + } + if s.UserSettingsArn != nil && len(*s.UserSettingsArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("UserSettingsArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateUserSettingsInput) SetClientToken(v string) *UpdateUserSettingsInput { + s.ClientToken = &v + return s +} + +// SetCopyAllowed sets the CopyAllowed field's value. +func (s *UpdateUserSettingsInput) SetCopyAllowed(v string) *UpdateUserSettingsInput { + s.CopyAllowed = &v + return s +} + +// SetDownloadAllowed sets the DownloadAllowed field's value. +func (s *UpdateUserSettingsInput) SetDownloadAllowed(v string) *UpdateUserSettingsInput { + s.DownloadAllowed = &v + return s +} + +// SetPasteAllowed sets the PasteAllowed field's value. +func (s *UpdateUserSettingsInput) SetPasteAllowed(v string) *UpdateUserSettingsInput { + s.PasteAllowed = &v + return s +} + +// SetPrintAllowed sets the PrintAllowed field's value. +func (s *UpdateUserSettingsInput) SetPrintAllowed(v string) *UpdateUserSettingsInput { + s.PrintAllowed = &v + return s +} + +// SetUploadAllowed sets the UploadAllowed field's value. +func (s *UpdateUserSettingsInput) SetUploadAllowed(v string) *UpdateUserSettingsInput { + s.UploadAllowed = &v + return s +} + +// SetUserSettingsArn sets the UserSettingsArn field's value. +func (s *UpdateUserSettingsInput) SetUserSettingsArn(v string) *UpdateUserSettingsInput { + s.UserSettingsArn = &v + return s +} + +type UpdateUserSettingsOutput struct { + _ struct{} `type:"structure"` + + // The user settings. + // + // UserSettings is a required field + UserSettings *UserSettings `locationName:"userSettings" 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 UpdateUserSettingsOutput) 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 UpdateUserSettingsOutput) GoString() string { + return s.String() +} + +// SetUserSettings sets the UserSettings field's value. +func (s *UpdateUserSettingsOutput) SetUserSettings(v *UserSettings) *UpdateUserSettingsOutput { + s.UserSettings = v + return s +} + +// A user settings resource that can be associated with a web portal. Once associated +// with a web portal, user settings control how users can transfer data between +// a streaming session and the their local devices. +type UserSettings struct { + _ struct{} `type:"structure"` + + // A list of web portal ARNs that this user settings is associated with. + AssociatedPortalArns []*string `locationName:"associatedPortalArns" type:"list"` + + // Specifies whether the user can copy text from the streaming session to the + // local device. + CopyAllowed *string `locationName:"copyAllowed" type:"string" enum:"EnabledType"` + + // Specifies whether the user can download files from the streaming session + // to the local device. + DownloadAllowed *string `locationName:"downloadAllowed" type:"string" enum:"EnabledType"` + + // Specifies whether the user can paste text from the local device to the streaming + // session. + PasteAllowed *string `locationName:"pasteAllowed" type:"string" enum:"EnabledType"` + + // Specifies whether the user can print to the local device. + PrintAllowed *string `locationName:"printAllowed" type:"string" enum:"EnabledType"` + + // Specifies whether the user can upload files from the local device to the + // streaming session. + UploadAllowed *string `locationName:"uploadAllowed" type:"string" enum:"EnabledType"` + + // The ARN of the user settings. + // + // UserSettingsArn is a required field + UserSettingsArn *string `locationName:"userSettingsArn" min:"20" 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 UserSettings) 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 UserSettings) GoString() string { + return s.String() +} + +// SetAssociatedPortalArns sets the AssociatedPortalArns field's value. +func (s *UserSettings) SetAssociatedPortalArns(v []*string) *UserSettings { + s.AssociatedPortalArns = v + return s +} + +// SetCopyAllowed sets the CopyAllowed field's value. +func (s *UserSettings) SetCopyAllowed(v string) *UserSettings { + s.CopyAllowed = &v + return s +} + +// SetDownloadAllowed sets the DownloadAllowed field's value. +func (s *UserSettings) SetDownloadAllowed(v string) *UserSettings { + s.DownloadAllowed = &v + return s +} + +// SetPasteAllowed sets the PasteAllowed field's value. +func (s *UserSettings) SetPasteAllowed(v string) *UserSettings { + s.PasteAllowed = &v + return s +} + +// SetPrintAllowed sets the PrintAllowed field's value. +func (s *UserSettings) SetPrintAllowed(v string) *UserSettings { + s.PrintAllowed = &v + return s +} + +// SetUploadAllowed sets the UploadAllowed field's value. +func (s *UserSettings) SetUploadAllowed(v string) *UserSettings { + s.UploadAllowed = &v + return s +} + +// SetUserSettingsArn sets the UserSettingsArn field's value. +func (s *UserSettings) SetUserSettingsArn(v string) *UserSettings { + s.UserSettingsArn = &v + return s +} + +// The summary of user settings. +type UserSettingsSummary struct { + _ struct{} `type:"structure"` + + // Specifies whether the user can copy text from the streaming session to the + // local device. + CopyAllowed *string `locationName:"copyAllowed" type:"string" enum:"EnabledType"` + + // Specifies whether the user can download files from the streaming session + // to the local device. + DownloadAllowed *string `locationName:"downloadAllowed" type:"string" enum:"EnabledType"` + + // Specifies whether the user can paste text from the local device to the streaming + // session. + PasteAllowed *string `locationName:"pasteAllowed" type:"string" enum:"EnabledType"` + + // Specifies whether the user can print to the local device. + PrintAllowed *string `locationName:"printAllowed" type:"string" enum:"EnabledType"` + + // Specifies whether the user can upload files from the local device to the + // streaming session. + UploadAllowed *string `locationName:"uploadAllowed" type:"string" enum:"EnabledType"` + + // The ARN of the user settings. + UserSettingsArn *string `locationName:"userSettingsArn" min:"20" 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 UserSettingsSummary) 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 UserSettingsSummary) GoString() string { + return s.String() +} + +// SetCopyAllowed sets the CopyAllowed field's value. +func (s *UserSettingsSummary) SetCopyAllowed(v string) *UserSettingsSummary { + s.CopyAllowed = &v + return s +} + +// SetDownloadAllowed sets the DownloadAllowed field's value. +func (s *UserSettingsSummary) SetDownloadAllowed(v string) *UserSettingsSummary { + s.DownloadAllowed = &v + return s +} + +// SetPasteAllowed sets the PasteAllowed field's value. +func (s *UserSettingsSummary) SetPasteAllowed(v string) *UserSettingsSummary { + s.PasteAllowed = &v + return s +} + +// SetPrintAllowed sets the PrintAllowed field's value. +func (s *UserSettingsSummary) SetPrintAllowed(v string) *UserSettingsSummary { + s.PrintAllowed = &v + return s +} + +// SetUploadAllowed sets the UploadAllowed field's value. +func (s *UserSettingsSummary) SetUploadAllowed(v string) *UserSettingsSummary { + s.UploadAllowed = &v + return s +} + +// SetUserSettingsArn sets the UserSettingsArn field's value. +func (s *UserSettingsSummary) SetUserSettingsArn(v string) *UserSettingsSummary { + s.UserSettingsArn = &v + return s +} + +// There is a validation error. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // The field that caused the error. + FieldList []*ValidationExceptionField `locationName:"fieldList" type:"list"` + + Message_ *string `locationName:"message" type:"string"` + + // Reason the request failed validation + Reason *string `locationName:"reason" type:"string" enum:"ValidationExceptionReason"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} + +// Information about a field passed inside a request that resulted in an exception. +type ValidationExceptionField struct { + _ struct{} `type:"structure"` + + // The message describing why the field failed validation. + // + // Message is a required field + Message *string `locationName:"message" type:"string" required:"true"` + + // The name of the field that failed validation. + // + // Name is a required field + Name *string `locationName:"name" 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 ValidationExceptionField) 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 ValidationExceptionField) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField { + s.Message = &v + return s +} + +// SetName sets the Name field's value. +func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField { + s.Name = &v + return s +} + +const ( + // BrowserTypeChrome is a BrowserType enum value + BrowserTypeChrome = "Chrome" +) + +// BrowserType_Values returns all elements of the BrowserType enum +func BrowserType_Values() []string { + return []string{ + BrowserTypeChrome, + } +} + +const ( + // EnabledTypeDisabled is a EnabledType enum value + EnabledTypeDisabled = "Disabled" + + // EnabledTypeEnabled is a EnabledType enum value + EnabledTypeEnabled = "Enabled" +) + +// EnabledType_Values returns all elements of the EnabledType enum +func EnabledType_Values() []string { + return []string{ + EnabledTypeDisabled, + EnabledTypeEnabled, + } +} + +const ( + // IdentityProviderTypeSaml is a IdentityProviderType enum value + IdentityProviderTypeSaml = "SAML" + + // IdentityProviderTypeFacebook is a IdentityProviderType enum value + IdentityProviderTypeFacebook = "Facebook" + + // IdentityProviderTypeGoogle is a IdentityProviderType enum value + IdentityProviderTypeGoogle = "Google" + + // IdentityProviderTypeLoginWithAmazon is a IdentityProviderType enum value + IdentityProviderTypeLoginWithAmazon = "LoginWithAmazon" + + // IdentityProviderTypeSignInWithApple is a IdentityProviderType enum value + IdentityProviderTypeSignInWithApple = "SignInWithApple" + + // IdentityProviderTypeOidc is a IdentityProviderType enum value + IdentityProviderTypeOidc = "OIDC" +) + +// IdentityProviderType_Values returns all elements of the IdentityProviderType enum +func IdentityProviderType_Values() []string { + return []string{ + IdentityProviderTypeSaml, + IdentityProviderTypeFacebook, + IdentityProviderTypeGoogle, + IdentityProviderTypeLoginWithAmazon, + IdentityProviderTypeSignInWithApple, + IdentityProviderTypeOidc, + } +} + +const ( + // PortalStatusIncomplete is a PortalStatus enum value + PortalStatusIncomplete = "Incomplete" + + // PortalStatusPending is a PortalStatus enum value + PortalStatusPending = "Pending" + + // PortalStatusActive is a PortalStatus enum value + PortalStatusActive = "Active" +) + +// PortalStatus_Values returns all elements of the PortalStatus enum +func PortalStatus_Values() []string { + return []string{ + PortalStatusIncomplete, + PortalStatusPending, + PortalStatusActive, + } +} + +const ( + // RendererTypeAppStream is a RendererType enum value + RendererTypeAppStream = "AppStream" +) + +// RendererType_Values returns all elements of the RendererType enum +func RendererType_Values() []string { + return []string{ + RendererTypeAppStream, + } +} + +const ( + // ValidationExceptionReasonUnknownOperation is a ValidationExceptionReason enum value + ValidationExceptionReasonUnknownOperation = "unknownOperation" + + // ValidationExceptionReasonCannotParse is a ValidationExceptionReason enum value + ValidationExceptionReasonCannotParse = "cannotParse" + + // ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value + ValidationExceptionReasonFieldValidationFailed = "fieldValidationFailed" + + // ValidationExceptionReasonOther is a ValidationExceptionReason enum value + ValidationExceptionReasonOther = "other" +) + +// ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum +func ValidationExceptionReason_Values() []string { + return []string{ + ValidationExceptionReasonUnknownOperation, + ValidationExceptionReasonCannotParse, + ValidationExceptionReasonFieldValidationFailed, + ValidationExceptionReasonOther, + } +} diff --git a/service/workspacesweb/doc.go b/service/workspacesweb/doc.go new file mode 100644 index 00000000000..1b66e70d932 --- /dev/null +++ b/service/workspacesweb/doc.go @@ -0,0 +1,34 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package workspacesweb provides the client and types for making API +// requests to Amazon WorkSpaces Web. +// +// WorkSpaces Web is a low cost, fully managed WorkSpace built specifically +// to facilitate secure, web-based workloads. WorkSpaces Web makes it easy for +// customers to safely provide their employees with access to internal websites +// and SaaS web applications without the administrative burden of appliances +// or specialized client software. WorkSpaces Web provides simple policy tools +// tailored for user interactions, while offloading common tasks like capacity +// management, scaling, and maintaining browser images. +// +// See https://docs.aws.amazon.com/goto/WebAPI/workspaces-web-2020-07-08 for more information on this service. +// +// See workspacesweb package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/workspacesweb/ +// +// Using the Client +// +// To contact Amazon WorkSpaces Web with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the Amazon WorkSpaces Web client WorkSpacesWeb for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/workspacesweb/#New +package workspacesweb diff --git a/service/workspacesweb/errors.go b/service/workspacesweb/errors.go new file mode 100644 index 00000000000..125ee896b44 --- /dev/null +++ b/service/workspacesweb/errors.go @@ -0,0 +1,69 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package workspacesweb + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // Access is denied. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // There is a conflict. + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // There is an internal server error. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // The resource cannot be found. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeServiceQuotaExceededException for service response error code + // "ServiceQuotaExceededException". + // + // The service quota has been exceeded. + ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // There is a throttling error. + ErrCodeThrottlingException = "ThrottlingException" + + // ErrCodeTooManyTagsException for service response error code + // "TooManyTagsException". + // + // There are too many tags. + ErrCodeTooManyTagsException = "TooManyTagsException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // There is a validation error. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, + "ThrottlingException": newErrorThrottlingException, + "TooManyTagsException": newErrorTooManyTagsException, + "ValidationException": newErrorValidationException, +} diff --git a/service/workspacesweb/service.go b/service/workspacesweb/service.go new file mode 100644 index 00000000000..24eaee12e4b --- /dev/null +++ b/service/workspacesweb/service.go @@ -0,0 +1,105 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package workspacesweb + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// WorkSpacesWeb provides the API operation methods for making requests to +// Amazon WorkSpaces Web. See this package's package overview docs +// for details on the service. +// +// WorkSpacesWeb methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type WorkSpacesWeb struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "WorkSpaces Web" // Name of service. + EndpointsID = "workspaces-web" // ID to lookup a service endpoint with. + ServiceID = "WorkSpaces Web" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the WorkSpacesWeb client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// mySession := session.Must(session.NewSession()) +// +// // Create a WorkSpacesWeb client from just a session. +// svc := workspacesweb.New(mySession) +// +// // Create a WorkSpacesWeb client with additional configuration +// svc := workspacesweb.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *WorkSpacesWeb { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "workspaces-web" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *WorkSpacesWeb { + svc := &WorkSpacesWeb{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2020-07-08", + ResolvedRegion: resolvedRegion, + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(restjson.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a WorkSpacesWeb operation and runs any +// custom request initialization. +func (c *WorkSpacesWeb) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +} diff --git a/service/workspacesweb/workspaceswebiface/interface.go b/service/workspacesweb/workspaceswebiface/interface.go new file mode 100644 index 00000000000..1ac6749c0ce --- /dev/null +++ b/service/workspacesweb/workspaceswebiface/interface.go @@ -0,0 +1,261 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package workspaceswebiface provides an interface to enable mocking the Amazon WorkSpaces Web service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package workspaceswebiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/workspacesweb" +) + +// WorkSpacesWebAPI provides an interface to enable mocking the +// workspacesweb.WorkSpacesWeb service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // Amazon WorkSpaces Web. +// func myFunc(svc workspaceswebiface.WorkSpacesWebAPI) bool { +// // Make svc.AssociateBrowserSettings request +// } +// +// func main() { +// sess := session.New() +// svc := workspacesweb.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockWorkSpacesWebClient struct { +// workspaceswebiface.WorkSpacesWebAPI +// } +// func (m *mockWorkSpacesWebClient) AssociateBrowserSettings(input *workspacesweb.AssociateBrowserSettingsInput) (*workspacesweb.AssociateBrowserSettingsOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockWorkSpacesWebClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type WorkSpacesWebAPI interface { + AssociateBrowserSettings(*workspacesweb.AssociateBrowserSettingsInput) (*workspacesweb.AssociateBrowserSettingsOutput, error) + AssociateBrowserSettingsWithContext(aws.Context, *workspacesweb.AssociateBrowserSettingsInput, ...request.Option) (*workspacesweb.AssociateBrowserSettingsOutput, error) + AssociateBrowserSettingsRequest(*workspacesweb.AssociateBrowserSettingsInput) (*request.Request, *workspacesweb.AssociateBrowserSettingsOutput) + + AssociateNetworkSettings(*workspacesweb.AssociateNetworkSettingsInput) (*workspacesweb.AssociateNetworkSettingsOutput, error) + AssociateNetworkSettingsWithContext(aws.Context, *workspacesweb.AssociateNetworkSettingsInput, ...request.Option) (*workspacesweb.AssociateNetworkSettingsOutput, error) + AssociateNetworkSettingsRequest(*workspacesweb.AssociateNetworkSettingsInput) (*request.Request, *workspacesweb.AssociateNetworkSettingsOutput) + + AssociateTrustStore(*workspacesweb.AssociateTrustStoreInput) (*workspacesweb.AssociateTrustStoreOutput, error) + AssociateTrustStoreWithContext(aws.Context, *workspacesweb.AssociateTrustStoreInput, ...request.Option) (*workspacesweb.AssociateTrustStoreOutput, error) + AssociateTrustStoreRequest(*workspacesweb.AssociateTrustStoreInput) (*request.Request, *workspacesweb.AssociateTrustStoreOutput) + + AssociateUserSettings(*workspacesweb.AssociateUserSettingsInput) (*workspacesweb.AssociateUserSettingsOutput, error) + AssociateUserSettingsWithContext(aws.Context, *workspacesweb.AssociateUserSettingsInput, ...request.Option) (*workspacesweb.AssociateUserSettingsOutput, error) + AssociateUserSettingsRequest(*workspacesweb.AssociateUserSettingsInput) (*request.Request, *workspacesweb.AssociateUserSettingsOutput) + + CreateBrowserSettings(*workspacesweb.CreateBrowserSettingsInput) (*workspacesweb.CreateBrowserSettingsOutput, error) + CreateBrowserSettingsWithContext(aws.Context, *workspacesweb.CreateBrowserSettingsInput, ...request.Option) (*workspacesweb.CreateBrowserSettingsOutput, error) + CreateBrowserSettingsRequest(*workspacesweb.CreateBrowserSettingsInput) (*request.Request, *workspacesweb.CreateBrowserSettingsOutput) + + CreateIdentityProvider(*workspacesweb.CreateIdentityProviderInput) (*workspacesweb.CreateIdentityProviderOutput, error) + CreateIdentityProviderWithContext(aws.Context, *workspacesweb.CreateIdentityProviderInput, ...request.Option) (*workspacesweb.CreateIdentityProviderOutput, error) + CreateIdentityProviderRequest(*workspacesweb.CreateIdentityProviderInput) (*request.Request, *workspacesweb.CreateIdentityProviderOutput) + + CreateNetworkSettings(*workspacesweb.CreateNetworkSettingsInput) (*workspacesweb.CreateNetworkSettingsOutput, error) + CreateNetworkSettingsWithContext(aws.Context, *workspacesweb.CreateNetworkSettingsInput, ...request.Option) (*workspacesweb.CreateNetworkSettingsOutput, error) + CreateNetworkSettingsRequest(*workspacesweb.CreateNetworkSettingsInput) (*request.Request, *workspacesweb.CreateNetworkSettingsOutput) + + CreatePortal(*workspacesweb.CreatePortalInput) (*workspacesweb.CreatePortalOutput, error) + CreatePortalWithContext(aws.Context, *workspacesweb.CreatePortalInput, ...request.Option) (*workspacesweb.CreatePortalOutput, error) + CreatePortalRequest(*workspacesweb.CreatePortalInput) (*request.Request, *workspacesweb.CreatePortalOutput) + + CreateTrustStore(*workspacesweb.CreateTrustStoreInput) (*workspacesweb.CreateTrustStoreOutput, error) + CreateTrustStoreWithContext(aws.Context, *workspacesweb.CreateTrustStoreInput, ...request.Option) (*workspacesweb.CreateTrustStoreOutput, error) + CreateTrustStoreRequest(*workspacesweb.CreateTrustStoreInput) (*request.Request, *workspacesweb.CreateTrustStoreOutput) + + CreateUserSettings(*workspacesweb.CreateUserSettingsInput) (*workspacesweb.CreateUserSettingsOutput, error) + CreateUserSettingsWithContext(aws.Context, *workspacesweb.CreateUserSettingsInput, ...request.Option) (*workspacesweb.CreateUserSettingsOutput, error) + CreateUserSettingsRequest(*workspacesweb.CreateUserSettingsInput) (*request.Request, *workspacesweb.CreateUserSettingsOutput) + + DeleteBrowserSettings(*workspacesweb.DeleteBrowserSettingsInput) (*workspacesweb.DeleteBrowserSettingsOutput, error) + DeleteBrowserSettingsWithContext(aws.Context, *workspacesweb.DeleteBrowserSettingsInput, ...request.Option) (*workspacesweb.DeleteBrowserSettingsOutput, error) + DeleteBrowserSettingsRequest(*workspacesweb.DeleteBrowserSettingsInput) (*request.Request, *workspacesweb.DeleteBrowserSettingsOutput) + + DeleteIdentityProvider(*workspacesweb.DeleteIdentityProviderInput) (*workspacesweb.DeleteIdentityProviderOutput, error) + DeleteIdentityProviderWithContext(aws.Context, *workspacesweb.DeleteIdentityProviderInput, ...request.Option) (*workspacesweb.DeleteIdentityProviderOutput, error) + DeleteIdentityProviderRequest(*workspacesweb.DeleteIdentityProviderInput) (*request.Request, *workspacesweb.DeleteIdentityProviderOutput) + + DeleteNetworkSettings(*workspacesweb.DeleteNetworkSettingsInput) (*workspacesweb.DeleteNetworkSettingsOutput, error) + DeleteNetworkSettingsWithContext(aws.Context, *workspacesweb.DeleteNetworkSettingsInput, ...request.Option) (*workspacesweb.DeleteNetworkSettingsOutput, error) + DeleteNetworkSettingsRequest(*workspacesweb.DeleteNetworkSettingsInput) (*request.Request, *workspacesweb.DeleteNetworkSettingsOutput) + + DeletePortal(*workspacesweb.DeletePortalInput) (*workspacesweb.DeletePortalOutput, error) + DeletePortalWithContext(aws.Context, *workspacesweb.DeletePortalInput, ...request.Option) (*workspacesweb.DeletePortalOutput, error) + DeletePortalRequest(*workspacesweb.DeletePortalInput) (*request.Request, *workspacesweb.DeletePortalOutput) + + DeleteTrustStore(*workspacesweb.DeleteTrustStoreInput) (*workspacesweb.DeleteTrustStoreOutput, error) + DeleteTrustStoreWithContext(aws.Context, *workspacesweb.DeleteTrustStoreInput, ...request.Option) (*workspacesweb.DeleteTrustStoreOutput, error) + DeleteTrustStoreRequest(*workspacesweb.DeleteTrustStoreInput) (*request.Request, *workspacesweb.DeleteTrustStoreOutput) + + DeleteUserSettings(*workspacesweb.DeleteUserSettingsInput) (*workspacesweb.DeleteUserSettingsOutput, error) + DeleteUserSettingsWithContext(aws.Context, *workspacesweb.DeleteUserSettingsInput, ...request.Option) (*workspacesweb.DeleteUserSettingsOutput, error) + DeleteUserSettingsRequest(*workspacesweb.DeleteUserSettingsInput) (*request.Request, *workspacesweb.DeleteUserSettingsOutput) + + DisassociateBrowserSettings(*workspacesweb.DisassociateBrowserSettingsInput) (*workspacesweb.DisassociateBrowserSettingsOutput, error) + DisassociateBrowserSettingsWithContext(aws.Context, *workspacesweb.DisassociateBrowserSettingsInput, ...request.Option) (*workspacesweb.DisassociateBrowserSettingsOutput, error) + DisassociateBrowserSettingsRequest(*workspacesweb.DisassociateBrowserSettingsInput) (*request.Request, *workspacesweb.DisassociateBrowserSettingsOutput) + + DisassociateNetworkSettings(*workspacesweb.DisassociateNetworkSettingsInput) (*workspacesweb.DisassociateNetworkSettingsOutput, error) + DisassociateNetworkSettingsWithContext(aws.Context, *workspacesweb.DisassociateNetworkSettingsInput, ...request.Option) (*workspacesweb.DisassociateNetworkSettingsOutput, error) + DisassociateNetworkSettingsRequest(*workspacesweb.DisassociateNetworkSettingsInput) (*request.Request, *workspacesweb.DisassociateNetworkSettingsOutput) + + DisassociateTrustStore(*workspacesweb.DisassociateTrustStoreInput) (*workspacesweb.DisassociateTrustStoreOutput, error) + DisassociateTrustStoreWithContext(aws.Context, *workspacesweb.DisassociateTrustStoreInput, ...request.Option) (*workspacesweb.DisassociateTrustStoreOutput, error) + DisassociateTrustStoreRequest(*workspacesweb.DisassociateTrustStoreInput) (*request.Request, *workspacesweb.DisassociateTrustStoreOutput) + + DisassociateUserSettings(*workspacesweb.DisassociateUserSettingsInput) (*workspacesweb.DisassociateUserSettingsOutput, error) + DisassociateUserSettingsWithContext(aws.Context, *workspacesweb.DisassociateUserSettingsInput, ...request.Option) (*workspacesweb.DisassociateUserSettingsOutput, error) + DisassociateUserSettingsRequest(*workspacesweb.DisassociateUserSettingsInput) (*request.Request, *workspacesweb.DisassociateUserSettingsOutput) + + GetBrowserSettings(*workspacesweb.GetBrowserSettingsInput) (*workspacesweb.GetBrowserSettingsOutput, error) + GetBrowserSettingsWithContext(aws.Context, *workspacesweb.GetBrowserSettingsInput, ...request.Option) (*workspacesweb.GetBrowserSettingsOutput, error) + GetBrowserSettingsRequest(*workspacesweb.GetBrowserSettingsInput) (*request.Request, *workspacesweb.GetBrowserSettingsOutput) + + GetIdentityProvider(*workspacesweb.GetIdentityProviderInput) (*workspacesweb.GetIdentityProviderOutput, error) + GetIdentityProviderWithContext(aws.Context, *workspacesweb.GetIdentityProviderInput, ...request.Option) (*workspacesweb.GetIdentityProviderOutput, error) + GetIdentityProviderRequest(*workspacesweb.GetIdentityProviderInput) (*request.Request, *workspacesweb.GetIdentityProviderOutput) + + GetNetworkSettings(*workspacesweb.GetNetworkSettingsInput) (*workspacesweb.GetNetworkSettingsOutput, error) + GetNetworkSettingsWithContext(aws.Context, *workspacesweb.GetNetworkSettingsInput, ...request.Option) (*workspacesweb.GetNetworkSettingsOutput, error) + GetNetworkSettingsRequest(*workspacesweb.GetNetworkSettingsInput) (*request.Request, *workspacesweb.GetNetworkSettingsOutput) + + GetPortal(*workspacesweb.GetPortalInput) (*workspacesweb.GetPortalOutput, error) + GetPortalWithContext(aws.Context, *workspacesweb.GetPortalInput, ...request.Option) (*workspacesweb.GetPortalOutput, error) + GetPortalRequest(*workspacesweb.GetPortalInput) (*request.Request, *workspacesweb.GetPortalOutput) + + GetPortalServiceProviderMetadata(*workspacesweb.GetPortalServiceProviderMetadataInput) (*workspacesweb.GetPortalServiceProviderMetadataOutput, error) + GetPortalServiceProviderMetadataWithContext(aws.Context, *workspacesweb.GetPortalServiceProviderMetadataInput, ...request.Option) (*workspacesweb.GetPortalServiceProviderMetadataOutput, error) + GetPortalServiceProviderMetadataRequest(*workspacesweb.GetPortalServiceProviderMetadataInput) (*request.Request, *workspacesweb.GetPortalServiceProviderMetadataOutput) + + GetTrustStore(*workspacesweb.GetTrustStoreInput) (*workspacesweb.GetTrustStoreOutput, error) + GetTrustStoreWithContext(aws.Context, *workspacesweb.GetTrustStoreInput, ...request.Option) (*workspacesweb.GetTrustStoreOutput, error) + GetTrustStoreRequest(*workspacesweb.GetTrustStoreInput) (*request.Request, *workspacesweb.GetTrustStoreOutput) + + GetTrustStoreCertificate(*workspacesweb.GetTrustStoreCertificateInput) (*workspacesweb.GetTrustStoreCertificateOutput, error) + GetTrustStoreCertificateWithContext(aws.Context, *workspacesweb.GetTrustStoreCertificateInput, ...request.Option) (*workspacesweb.GetTrustStoreCertificateOutput, error) + GetTrustStoreCertificateRequest(*workspacesweb.GetTrustStoreCertificateInput) (*request.Request, *workspacesweb.GetTrustStoreCertificateOutput) + + GetUserSettings(*workspacesweb.GetUserSettingsInput) (*workspacesweb.GetUserSettingsOutput, error) + GetUserSettingsWithContext(aws.Context, *workspacesweb.GetUserSettingsInput, ...request.Option) (*workspacesweb.GetUserSettingsOutput, error) + GetUserSettingsRequest(*workspacesweb.GetUserSettingsInput) (*request.Request, *workspacesweb.GetUserSettingsOutput) + + ListBrowserSettings(*workspacesweb.ListBrowserSettingsInput) (*workspacesweb.ListBrowserSettingsOutput, error) + ListBrowserSettingsWithContext(aws.Context, *workspacesweb.ListBrowserSettingsInput, ...request.Option) (*workspacesweb.ListBrowserSettingsOutput, error) + ListBrowserSettingsRequest(*workspacesweb.ListBrowserSettingsInput) (*request.Request, *workspacesweb.ListBrowserSettingsOutput) + + ListBrowserSettingsPages(*workspacesweb.ListBrowserSettingsInput, func(*workspacesweb.ListBrowserSettingsOutput, bool) bool) error + ListBrowserSettingsPagesWithContext(aws.Context, *workspacesweb.ListBrowserSettingsInput, func(*workspacesweb.ListBrowserSettingsOutput, bool) bool, ...request.Option) error + + ListIdentityProviders(*workspacesweb.ListIdentityProvidersInput) (*workspacesweb.ListIdentityProvidersOutput, error) + ListIdentityProvidersWithContext(aws.Context, *workspacesweb.ListIdentityProvidersInput, ...request.Option) (*workspacesweb.ListIdentityProvidersOutput, error) + ListIdentityProvidersRequest(*workspacesweb.ListIdentityProvidersInput) (*request.Request, *workspacesweb.ListIdentityProvidersOutput) + + ListIdentityProvidersPages(*workspacesweb.ListIdentityProvidersInput, func(*workspacesweb.ListIdentityProvidersOutput, bool) bool) error + ListIdentityProvidersPagesWithContext(aws.Context, *workspacesweb.ListIdentityProvidersInput, func(*workspacesweb.ListIdentityProvidersOutput, bool) bool, ...request.Option) error + + ListNetworkSettings(*workspacesweb.ListNetworkSettingsInput) (*workspacesweb.ListNetworkSettingsOutput, error) + ListNetworkSettingsWithContext(aws.Context, *workspacesweb.ListNetworkSettingsInput, ...request.Option) (*workspacesweb.ListNetworkSettingsOutput, error) + ListNetworkSettingsRequest(*workspacesweb.ListNetworkSettingsInput) (*request.Request, *workspacesweb.ListNetworkSettingsOutput) + + ListNetworkSettingsPages(*workspacesweb.ListNetworkSettingsInput, func(*workspacesweb.ListNetworkSettingsOutput, bool) bool) error + ListNetworkSettingsPagesWithContext(aws.Context, *workspacesweb.ListNetworkSettingsInput, func(*workspacesweb.ListNetworkSettingsOutput, bool) bool, ...request.Option) error + + ListPortals(*workspacesweb.ListPortalsInput) (*workspacesweb.ListPortalsOutput, error) + ListPortalsWithContext(aws.Context, *workspacesweb.ListPortalsInput, ...request.Option) (*workspacesweb.ListPortalsOutput, error) + ListPortalsRequest(*workspacesweb.ListPortalsInput) (*request.Request, *workspacesweb.ListPortalsOutput) + + ListPortalsPages(*workspacesweb.ListPortalsInput, func(*workspacesweb.ListPortalsOutput, bool) bool) error + ListPortalsPagesWithContext(aws.Context, *workspacesweb.ListPortalsInput, func(*workspacesweb.ListPortalsOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*workspacesweb.ListTagsForResourceInput) (*workspacesweb.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *workspacesweb.ListTagsForResourceInput, ...request.Option) (*workspacesweb.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*workspacesweb.ListTagsForResourceInput) (*request.Request, *workspacesweb.ListTagsForResourceOutput) + + ListTrustStoreCertificates(*workspacesweb.ListTrustStoreCertificatesInput) (*workspacesweb.ListTrustStoreCertificatesOutput, error) + ListTrustStoreCertificatesWithContext(aws.Context, *workspacesweb.ListTrustStoreCertificatesInput, ...request.Option) (*workspacesweb.ListTrustStoreCertificatesOutput, error) + ListTrustStoreCertificatesRequest(*workspacesweb.ListTrustStoreCertificatesInput) (*request.Request, *workspacesweb.ListTrustStoreCertificatesOutput) + + ListTrustStoreCertificatesPages(*workspacesweb.ListTrustStoreCertificatesInput, func(*workspacesweb.ListTrustStoreCertificatesOutput, bool) bool) error + ListTrustStoreCertificatesPagesWithContext(aws.Context, *workspacesweb.ListTrustStoreCertificatesInput, func(*workspacesweb.ListTrustStoreCertificatesOutput, bool) bool, ...request.Option) error + + ListTrustStores(*workspacesweb.ListTrustStoresInput) (*workspacesweb.ListTrustStoresOutput, error) + ListTrustStoresWithContext(aws.Context, *workspacesweb.ListTrustStoresInput, ...request.Option) (*workspacesweb.ListTrustStoresOutput, error) + ListTrustStoresRequest(*workspacesweb.ListTrustStoresInput) (*request.Request, *workspacesweb.ListTrustStoresOutput) + + ListTrustStoresPages(*workspacesweb.ListTrustStoresInput, func(*workspacesweb.ListTrustStoresOutput, bool) bool) error + ListTrustStoresPagesWithContext(aws.Context, *workspacesweb.ListTrustStoresInput, func(*workspacesweb.ListTrustStoresOutput, bool) bool, ...request.Option) error + + ListUserSettings(*workspacesweb.ListUserSettingsInput) (*workspacesweb.ListUserSettingsOutput, error) + ListUserSettingsWithContext(aws.Context, *workspacesweb.ListUserSettingsInput, ...request.Option) (*workspacesweb.ListUserSettingsOutput, error) + ListUserSettingsRequest(*workspacesweb.ListUserSettingsInput) (*request.Request, *workspacesweb.ListUserSettingsOutput) + + ListUserSettingsPages(*workspacesweb.ListUserSettingsInput, func(*workspacesweb.ListUserSettingsOutput, bool) bool) error + ListUserSettingsPagesWithContext(aws.Context, *workspacesweb.ListUserSettingsInput, func(*workspacesweb.ListUserSettingsOutput, bool) bool, ...request.Option) error + + TagResource(*workspacesweb.TagResourceInput) (*workspacesweb.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *workspacesweb.TagResourceInput, ...request.Option) (*workspacesweb.TagResourceOutput, error) + TagResourceRequest(*workspacesweb.TagResourceInput) (*request.Request, *workspacesweb.TagResourceOutput) + + UntagResource(*workspacesweb.UntagResourceInput) (*workspacesweb.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *workspacesweb.UntagResourceInput, ...request.Option) (*workspacesweb.UntagResourceOutput, error) + UntagResourceRequest(*workspacesweb.UntagResourceInput) (*request.Request, *workspacesweb.UntagResourceOutput) + + UpdateBrowserSettings(*workspacesweb.UpdateBrowserSettingsInput) (*workspacesweb.UpdateBrowserSettingsOutput, error) + UpdateBrowserSettingsWithContext(aws.Context, *workspacesweb.UpdateBrowserSettingsInput, ...request.Option) (*workspacesweb.UpdateBrowserSettingsOutput, error) + UpdateBrowserSettingsRequest(*workspacesweb.UpdateBrowserSettingsInput) (*request.Request, *workspacesweb.UpdateBrowserSettingsOutput) + + UpdateIdentityProvider(*workspacesweb.UpdateIdentityProviderInput) (*workspacesweb.UpdateIdentityProviderOutput, error) + UpdateIdentityProviderWithContext(aws.Context, *workspacesweb.UpdateIdentityProviderInput, ...request.Option) (*workspacesweb.UpdateIdentityProviderOutput, error) + UpdateIdentityProviderRequest(*workspacesweb.UpdateIdentityProviderInput) (*request.Request, *workspacesweb.UpdateIdentityProviderOutput) + + UpdateNetworkSettings(*workspacesweb.UpdateNetworkSettingsInput) (*workspacesweb.UpdateNetworkSettingsOutput, error) + UpdateNetworkSettingsWithContext(aws.Context, *workspacesweb.UpdateNetworkSettingsInput, ...request.Option) (*workspacesweb.UpdateNetworkSettingsOutput, error) + UpdateNetworkSettingsRequest(*workspacesweb.UpdateNetworkSettingsInput) (*request.Request, *workspacesweb.UpdateNetworkSettingsOutput) + + UpdatePortal(*workspacesweb.UpdatePortalInput) (*workspacesweb.UpdatePortalOutput, error) + UpdatePortalWithContext(aws.Context, *workspacesweb.UpdatePortalInput, ...request.Option) (*workspacesweb.UpdatePortalOutput, error) + UpdatePortalRequest(*workspacesweb.UpdatePortalInput) (*request.Request, *workspacesweb.UpdatePortalOutput) + + UpdateTrustStore(*workspacesweb.UpdateTrustStoreInput) (*workspacesweb.UpdateTrustStoreOutput, error) + UpdateTrustStoreWithContext(aws.Context, *workspacesweb.UpdateTrustStoreInput, ...request.Option) (*workspacesweb.UpdateTrustStoreOutput, error) + UpdateTrustStoreRequest(*workspacesweb.UpdateTrustStoreInput) (*request.Request, *workspacesweb.UpdateTrustStoreOutput) + + UpdateUserSettings(*workspacesweb.UpdateUserSettingsInput) (*workspacesweb.UpdateUserSettingsOutput, error) + UpdateUserSettingsWithContext(aws.Context, *workspacesweb.UpdateUserSettingsInput, ...request.Option) (*workspacesweb.UpdateUserSettingsOutput, error) + UpdateUserSettingsRequest(*workspacesweb.UpdateUserSettingsInput) (*request.Request, *workspacesweb.UpdateUserSettingsOutput) +} + +var _ WorkSpacesWebAPI = (*workspacesweb.WorkSpacesWeb)(nil)