From a4be574e64241203fd22cd1401eb0b473883e654 Mon Sep 17 00:00:00 2001 From: awssdkgo Date: Tue, 18 Aug 2020 18:11:29 +0000 Subject: [PATCH] Release v1.34.7 (2020-08-18) === ### Service Client Updates * `service/codebuild`: Updates service documentation * Documentation updates for codebuild * `service/cognito-idp`: Updates service API and documentation * `service/datasync`: Updates service API and documentation * `service/identitystore`: Adds new service * `service/securityhub`: Updates service API and documentation * `service/sesv2`: Updates service API, documentation, and paginators --- CHANGELOG.md | 12 + aws/version.go | 2 +- models/apis/codebuild/2016-10-06/docs-2.json | 20 +- models/apis/cognito-idp/2016-04-18/api-2.json | 6 +- .../apis/cognito-idp/2016-04-18/docs-2.json | 1 + models/apis/datasync/2018-11-09/api-2.json | 80 +- models/apis/datasync/2018-11-09/docs-2.json | 56 + .../apis/identitystore/2020-06-15/api-2.json | 318 + .../apis/identitystore/2020-06-15/docs-2.json | 203 + .../identitystore/2020-06-15/examples-1.json | 5 + .../2020-06-15/paginators-1.json | 14 + models/apis/securityhub/2018-10-26/api-2.json | 569 +- .../apis/securityhub/2018-10-26/docs-2.json | 662 +- models/apis/sesv2/2019-09-27/api-2.json | 189 + models/apis/sesv2/2019-09-27/docs-2.json | 139 +- .../apis/sesv2/2019-09-27/paginators-1.json | 5 + service/codebuild/api.go | 27 +- service/cognitoidentityprovider/api.go | 34 +- service/datasync/api.go | 260 + service/identitystore/api.go | 1454 ++++ service/identitystore/doc.go | 26 + service/identitystore/errors.go | 50 + .../identitystoreiface/interface.go | 86 + service/identitystore/service.go | 106 + service/securityhub/api.go | 6073 +++++++++++++---- service/sesv2/api.go | 974 ++- service/sesv2/sesv2iface/interface.go | 15 + 27 files changed, 9957 insertions(+), 1429 deletions(-) create mode 100644 models/apis/identitystore/2020-06-15/api-2.json create mode 100644 models/apis/identitystore/2020-06-15/docs-2.json create mode 100644 models/apis/identitystore/2020-06-15/examples-1.json create mode 100644 models/apis/identitystore/2020-06-15/paginators-1.json create mode 100644 service/identitystore/api.go create mode 100644 service/identitystore/doc.go create mode 100644 service/identitystore/errors.go create mode 100644 service/identitystore/identitystoreiface/interface.go create mode 100644 service/identitystore/service.go diff --git a/CHANGELOG.md b/CHANGELOG.md index fc45a64993..32a6b38e73 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,15 @@ +Release v1.34.7 (2020-08-18) +=== + +### Service Client Updates +* `service/codebuild`: Updates service documentation + * Documentation updates for codebuild +* `service/cognito-idp`: Updates service API and documentation +* `service/datasync`: Updates service API and documentation +* `service/identitystore`: Adds new service +* `service/securityhub`: Updates service API and documentation +* `service/sesv2`: Updates service API, documentation, and paginators + Release v1.34.6 (2020-08-17) === diff --git a/aws/version.go b/aws/version.go index 7d8bcc7d7a..16de6364e2 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.34.6" +const SDKVersion = "1.34.7" diff --git a/models/apis/codebuild/2016-10-06/docs-2.json b/models/apis/codebuild/2016-10-06/docs-2.json index 928990300d..e6531aca21 100644 --- a/models/apis/codebuild/2016-10-06/docs-2.json +++ b/models/apis/codebuild/2016-10-06/docs-2.json @@ -55,7 +55,7 @@ "ArtifactNamespace": { "base": null, "refs": { - "ProjectArtifacts$namespaceType": "

Along with path and name, the pattern that AWS CodeBuild uses to determine the name and location to store the output artifact:

For example, if path is set to MyArtifacts, namespaceType is set to BUILD_ID, and name is set to MyArtifact.zip, the output artifact is stored in MyArtifacts/build-ID/MyArtifact.zip.

" + "ProjectArtifacts$namespaceType": "

Along with path and name, the pattern that AWS CodeBuild uses to determine the name and location to store the output artifact:

For example, if path is set to MyArtifacts, namespaceType is set to BUILD_ID, and name is set to MyArtifact.zip, the output artifact is stored in MyArtifacts/<build-ID>/MyArtifact.zip.

" } }, "ArtifactPackaging": { @@ -835,14 +835,14 @@ "Build$resolvedSourceVersion": "

An identifier for the version of this build's source code.

", "Build$projectName": "

The name of the AWS CodeBuild project.

", "Build$serviceRole": "

The name of a service role used for this build.

", - "Build$encryptionKey": "

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).

", + "Build$encryptionKey": "

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/<alias-name>).

", "BuildBatch$id": "

The identifier of the batch build.

", "BuildBatch$arn": "

The ARN of the batch build.

", "BuildBatch$sourceVersion": "

The identifier of the version of the source code to be built.

", "BuildBatch$resolvedSourceVersion": "

The identifier of the resolved version of this batch build's source code.

", "BuildBatch$projectName": "

The name of the batch build project.

", "BuildBatch$serviceRole": "

The name of a service role used for builds in the batch.

", - "BuildBatch$encryptionKey": "

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the batch build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).

", + "BuildBatch$encryptionKey": "

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the batch build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/<alias-name>).

", "BuildBatchIds$member": null, "BuildIds$member": null, "BuildNotDeleted$id": "

The ID of the build that could not be successfully deleted.

", @@ -851,7 +851,7 @@ "CodeCoverage$filePath": "

The path of the test report file.

", "ComputeTypesAllowed$member": null, "CreateProjectInput$serviceRole": "

The ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.

", - "CreateProjectInput$encryptionKey": "

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).

", + "CreateProjectInput$encryptionKey": "

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/<alias-name>).

", "DebugSession$sessionTarget": "

Contains the identifier of the Session Manager session used for the build. To work with the paused build, you open this session to examine, control, and resume the build.

", "DeleteBuildBatchInput$id": "

The identifier of the batch build to delete.

", "DeleteProjectInput$name": "

The name of the build project.

", @@ -876,7 +876,7 @@ "NetworkInterface$subnetId": "

The ID of the subnet.

", "NetworkInterface$networkInterfaceId": "

The ID of the network interface.

", "Project$serviceRole": "

The ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.

", - "Project$encryptionKey": "

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).

", + "Project$encryptionKey": "

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/<alias-name>).

", "ProjectArns$member": null, "ProjectBuildBatchConfig$serviceRole": "

Specifies the service role ARN for the batch build project.

", "ProjectEnvironment$image": "

The image tag or image digest that identifies the Docker image to use for this build project. Use the following formats:

", @@ -899,18 +899,18 @@ "StartBuildBatchInput$projectName": "

The name of the project.

", "StartBuildBatchInput$imageOverride": "

The name of an image for this batch build that overrides the one specified in the batch build project.

", "StartBuildBatchInput$serviceRoleOverride": "

The name of a service role for this batch build that overrides the one specified in the batch build project.

", - "StartBuildBatchInput$encryptionKeyOverride": "

The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides the one specified in the batch build project. The CMK key encrypts the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).

", + "StartBuildBatchInput$encryptionKeyOverride": "

The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides the one specified in the batch build project. The CMK key encrypts the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/<alias-name>).

", "StartBuildInput$projectName": "

The name of the AWS CodeBuild build project to start running a build.

", "StartBuildInput$imageOverride": "

The name of an image for this build that overrides the one specified in the build project.

", "StartBuildInput$serviceRoleOverride": "

The name of a service role for this build that overrides the one specified in the build project.

", - "StartBuildInput$encryptionKeyOverride": "

The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides the one specified in the build project. The CMK key encrypts the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).

", + "StartBuildInput$encryptionKeyOverride": "

The AWS Key Management Service (AWS KMS) customer master key (CMK) that overrides the one specified in the build project. The CMK key encrypts the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/<alias-name>).

", "StopBuildBatchInput$id": "

The identifier of the batch build to stop.

", "StopBuildInput$id": "

The ID of the build.

", "Subnets$member": null, "TestCase$reportArn": "

The ARN of the report to which the test case belongs.

", "UpdateProjectInput$name": "

The name of the build project.

You cannot change a build project's name.

", "UpdateProjectInput$serviceRole": "

The replacement ARN of the AWS Identity and Access Management (IAM) role that enables AWS CodeBuild to interact with dependent AWS services on behalf of the AWS account.

", - "UpdateProjectInput$encryptionKey": "

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/alias-name ).

", + "UpdateProjectInput$encryptionKey": "

The AWS Key Management Service (AWS KMS) customer master key (CMK) to be used for encrypting the build output artifacts.

You can use a cross-account KMS key to encrypt the build output artifacts if your service role has permission to that key.

You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, the CMK's alias (using the format alias/<alias-name>).

", "UpdateReportGroupInput$arn": "

The ARN of the report group to update.

", "VpcConfig$vpcId": "

The ID of the Amazon VPC.

", "Webhook$url": "

The URL to the webhook.

", @@ -1537,7 +1537,7 @@ "Project$sourceVersion": "

A version of the build input to be built for this project. If not specified, the latest version is used. If specified, it must be one of:

If sourceVersion is specified at the build level, then that version takes precedence over this sourceVersion (at the project level).

For more information, see Source Version Sample with CodeBuild in the AWS CodeBuild User Guide.

", "ProjectArtifacts$location": "

Information about the build output artifact location:

", "ProjectArtifacts$path": "

Along with namespaceType and name, the pattern that AWS CodeBuild uses to name and store the output artifact:

For example, if path is set to MyArtifacts, namespaceType is set to NONE, and name is set to MyArtifact.zip, the output artifact is stored in the output bucket at MyArtifacts/MyArtifact.zip.

", - "ProjectArtifacts$name": "

Along with path and namespaceType, the pattern that AWS CodeBuild uses to name and store the output artifact:

For example:

", + "ProjectArtifacts$name": "

Along with path and namespaceType, the pattern that AWS CodeBuild uses to name and store the output artifact:

For example:

", "ProjectArtifacts$artifactIdentifier": "

An identifier for this artifact definition.

", "ProjectBadge$badgeRequestUrl": "

The publicly-accessible URL through which you can access the build badge for your project.

The publicly accessible URL through which you can access the build badge for your project.

", "ProjectCache$location": "

Information about the cache location:

", @@ -1546,7 +1546,7 @@ "ProjectFileSystemLocation$mountPoint": "

The location in the container where you mount the file system.

", "ProjectFileSystemLocation$identifier": "

The name used to access a file system created by Amazon EFS. CodeBuild creates an environment variable by appending the identifier in all capital letters to CODEBUILD_. For example, if you specify my-efs for identifier, a new environment variable is create named CODEBUILD_MY-EFS.

The identifier is used to mount your file system.

", "ProjectFileSystemLocation$mountOptions": "

The mount options for a file system created by AWS EFS. The default mount options used by CodeBuild are nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2. For more information, see Recommended NFS Mount Options.

", - "ProjectSource$location": "

Information about the location of the source code to be built. Valid values include:

", + "ProjectSource$location": "

Information about the location of the source code to be built. Valid values include:

", "ProjectSource$buildspec": "

The buildspec file declaration to use for the builds in this build project.

If this value is set, it can be either an inline buildspec definition, the path to an alternate buildspec file relative to the value of the built-in CODEBUILD_SRC_DIR environment variable, or the path to an S3 bucket. The bucket must be in the same AWS Region as the build project. Specify the buildspec file using its ARN (for example, arn:aws:s3:::my-codebuild-sample2/buildspec.yml). If this value is not provided or is set to an empty string, the source code must contain a buildspec file in its root directory. For more information, see Buildspec File Name and Storage Location.

", "ProjectSource$sourceIdentifier": "

An identifier for this project source.

", "ProjectSourceVersion$sourceIdentifier": "

An identifier for a source in the build project.

", diff --git a/models/apis/cognito-idp/2016-04-18/api-2.json b/models/apis/cognito-idp/2016-04-18/api-2.json index 6a034c12b1..8a7c87b0ad 100644 --- a/models/apis/cognito-idp/2016-04-18/api-2.json +++ b/models/apis/cognito-idp/2016-04-18/api-2.json @@ -2477,13 +2477,9 @@ }, "AnalyticsConfigurationType":{ "type":"structure", - "required":[ - "ApplicationId", - "RoleArn", - "ExternalId" - ], "members":{ "ApplicationId":{"shape":"HexStringType"}, + "ApplicationArn":{"shape":"ArnType"}, "RoleArn":{"shape":"ArnType"}, "ExternalId":{"shape":"StringType"}, "UserDataShared":{"shape":"BooleanType"} diff --git a/models/apis/cognito-idp/2016-04-18/docs-2.json b/models/apis/cognito-idp/2016-04-18/docs-2.json index bd7170bd24..bc60438e7f 100644 --- a/models/apis/cognito-idp/2016-04-18/docs-2.json +++ b/models/apis/cognito-idp/2016-04-18/docs-2.json @@ -472,6 +472,7 @@ "ArnType": { "base": null, "refs": { + "AnalyticsConfigurationType$ApplicationArn": "

The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for Pinpoint integration with the chosen User Pool Client. Amazon Cognito publishes events to the pinpoint project declared by the app ARN.

", "AnalyticsConfigurationType$RoleArn": "

The ARN of an IAM role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics.

", "CreateGroupRequest$RoleArn": "

The role ARN for the group.

", "CreateUserImportJobRequest$CloudWatchLogsRoleArn": "

The role ARN for the Amazon CloudWatch Logging role for the user import job.

", diff --git a/models/apis/datasync/2018-11-09/api-2.json b/models/apis/datasync/2018-11-09/api-2.json index 555f087a1d..4eeaacc18d 100644 --- a/models/apis/datasync/2018-11-09/api-2.json +++ b/models/apis/datasync/2018-11-09/api-2.json @@ -924,6 +924,12 @@ "FIPS" ] }, + "FilterAttributeValue":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^[0-9a-zA-Z_\\ \\-\\:\\*\\.\\\\/\\?-]*$" + }, "FilterList":{ "type":"list", "member":{"shape":"FilterRule"}, @@ -948,6 +954,10 @@ "max":409600, "pattern":"^[^\\x00]+$" }, + "FilterValues":{ + "type":"list", + "member":{"shape":"FilterAttributeValue"} + }, "FsxFilesystemArn":{ "type":"string", "max":128, @@ -1013,7 +1023,8 @@ "type":"structure", "members":{ "MaxResults":{"shape":"MaxResults"}, - "NextToken":{"shape":"NextToken"} + "NextToken":{"shape":"NextToken"}, + "Filters":{"shape":"LocationFilters"} } }, "ListLocationsResponse":{ @@ -1058,7 +1069,8 @@ "type":"structure", "members":{ "MaxResults":{"shape":"MaxResults"}, - "NextToken":{"shape":"NextToken"} + "NextToken":{"shape":"NextToken"}, + "Filters":{"shape":"TaskFilters"} } }, "ListTasksResponse":{ @@ -1073,6 +1085,31 @@ "max":128, "pattern":"^arn:(aws|aws-cn|aws-us-gov|aws-iso|aws-iso-b):datasync:[a-z\\-0-9]+:[0-9]{12}:location/loc-[0-9a-z]{17}$" }, + "LocationFilter":{ + "type":"structure", + "required":[ + "Name", + "Values", + "Operator" + ], + "members":{ + "Name":{"shape":"LocationFilterName"}, + "Values":{"shape":"FilterValues"}, + "Operator":{"shape":"Operator"} + } + }, + "LocationFilterName":{ + "type":"string", + "enum":[ + "LocationUri", + "LocationType", + "CreationTime" + ] + }, + "LocationFilters":{ + "type":"list", + "member":{"shape":"LocationFilter"} + }, "LocationList":{ "type":"list", "member":{"shape":"LocationListEntry"} @@ -1183,6 +1220,21 @@ "AgentArns":{"shape":"AgentArnList"} } }, + "Operator":{ + "type":"string", + "enum":[ + "Equals", + "NotEquals", + "In", + "LessThanOrEqual", + "LessThan", + "GreaterThanOrEqual", + "GreaterThan", + "Contains", + "NotContains", + "BeginsWith" + ] + }, "Options":{ "type":"structure", "members":{ @@ -1450,6 +1502,30 @@ "ERROR" ] }, + "TaskFilter":{ + "type":"structure", + "required":[ + "Name", + "Values", + "Operator" + ], + "members":{ + "Name":{"shape":"TaskFilterName"}, + "Values":{"shape":"FilterValues"}, + "Operator":{"shape":"Operator"} + } + }, + "TaskFilterName":{ + "type":"string", + "enum":[ + "LocationId", + "CreationTime" + ] + }, + "TaskFilters":{ + "type":"list", + "member":{"shape":"TaskFilter"} + }, "TaskList":{ "type":"list", "member":{"shape":"TaskListEntry"} diff --git a/models/apis/datasync/2018-11-09/docs-2.json b/models/apis/datasync/2018-11-09/docs-2.json index ec83d9a407..b988e9a5b4 100644 --- a/models/apis/datasync/2018-11-09/docs-2.json +++ b/models/apis/datasync/2018-11-09/docs-2.json @@ -372,6 +372,12 @@ "DescribeAgentResponse$EndpointType": "

The type of endpoint that your agent is connected to. If the endpoint is a VPC endpoint, the agent is not accessible over the public internet.

" } }, + "FilterAttributeValue": { + "base": null, + "refs": { + "FilterValues$member": null + } + }, "FilterList": { "base": null, "refs": { @@ -401,6 +407,13 @@ "FilterRule$Value": "

A single filter string that consists of the patterns to include or exclude. The patterns are delimited by \"|\" (that is, a pipe), for example: /folder1|/folder2

" } }, + "FilterValues": { + "base": null, + "refs": { + "LocationFilter$Values": null, + "TaskFilter$Values": null + } + }, "FsxFilesystemArn": { "base": null, "refs": { @@ -528,6 +541,24 @@ "LocationListEntry$LocationArn": "

The Amazon Resource Name (ARN) of the location. For Network File System (NFS) or Amazon EFS, the location is the export path. For Amazon S3, the location is the prefix path that you want to mount and use as the root of the location.

" } }, + "LocationFilter": { + "base": null, + "refs": { + "LocationFilters$member": null + } + }, + "LocationFilterName": { + "base": null, + "refs": { + "LocationFilter$Name": null + } + }, + "LocationFilters": { + "base": null, + "refs": { + "ListLocationsRequest$Filters": null + } + }, "LocationList": { "base": null, "refs": { @@ -663,6 +694,13 @@ "DescribeLocationNfsResponse$OnPremConfig": null } }, + "Operator": { + "base": null, + "refs": { + "LocationFilter$Operator": null, + "TaskFilter$Operator": null + } + }, "Options": { "base": "

Represents the options that are available to control the behavior of a StartTaskExecution operation. Behavior includes preserving metadata such as user ID (UID), group ID (GID), and file permissions, and also overwriting files in the destination, data integrity verification, and so on.

A task has a set of default options associated with it. If you don't specify an option in StartTaskExecution, the default value is used. You can override the defaults options on each task execution by specifying an overriding Options value to StartTaskExecution.

", "refs": { @@ -933,6 +971,24 @@ "TaskExecutionListEntry$Status": "

The status of a task execution.

" } }, + "TaskFilter": { + "base": null, + "refs": { + "TaskFilters$member": null + } + }, + "TaskFilterName": { + "base": null, + "refs": { + "TaskFilter$Name": null + } + }, + "TaskFilters": { + "base": null, + "refs": { + "ListTasksRequest$Filters": null + } + }, "TaskList": { "base": null, "refs": { diff --git a/models/apis/identitystore/2020-06-15/api-2.json b/models/apis/identitystore/2020-06-15/api-2.json new file mode 100644 index 0000000000..674bc27d25 --- /dev/null +++ b/models/apis/identitystore/2020-06-15/api-2.json @@ -0,0 +1,318 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2020-06-15", + "endpointPrefix":"identitystore", + "jsonVersion":"1.1", + "protocol":"json", + "serviceAbbreviation":"IdentityStore", + "serviceFullName":"AWS SSO Identity Store", + "serviceId":"identitystore", + "signatureVersion":"v4", + "signingName":"identitystore", + "targetPrefix":"AWSIdentityStore", + "uid":"identitystore-2020-06-15" + }, + "operations":{ + "DescribeGroup":{ + "name":"DescribeGroup", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeGroupRequest"}, + "output":{"shape":"DescribeGroupResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "DescribeUser":{ + "name":"DescribeUser", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeUserRequest"}, + "output":{"shape":"DescribeUserResponse"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "ListGroups":{ + "name":"ListGroups", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListGroupsRequest"}, + "output":{"shape":"ListGroupsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + }, + "ListUsers":{ + "name":"ListUsers", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListUsersRequest"}, + "output":{"shape":"ListUsersResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ThrottlingException"}, + {"shape":"InternalServerException"} + ] + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"}, + "RequestId":{"shape":"RequestId"} + }, + "exception":true + }, + "AttributePath":{ + "type":"string", + "max":255, + "min":1, + "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}  ]+" + }, + "DescribeGroupRequest":{ + "type":"structure", + "required":[ + "IdentityStoreId", + "GroupId" + ], + "members":{ + "IdentityStoreId":{"shape":"IdentityStoreId"}, + "GroupId":{"shape":"ResourceId"} + } + }, + "DescribeGroupResponse":{ + "type":"structure", + "required":[ + "GroupId", + "DisplayName" + ], + "members":{ + "GroupId":{"shape":"ResourceId"}, + "DisplayName":{"shape":"GroupDisplayName"} + } + }, + "DescribeUserRequest":{ + "type":"structure", + "required":[ + "IdentityStoreId", + "UserId" + ], + "members":{ + "IdentityStoreId":{"shape":"IdentityStoreId"}, + "UserId":{"shape":"ResourceId"} + } + }, + "DescribeUserResponse":{ + "type":"structure", + "required":[ + "UserName", + "UserId" + ], + "members":{ + "UserName":{"shape":"UserName"}, + "UserId":{"shape":"ResourceId"} + } + }, + "Filter":{ + "type":"structure", + "required":[ + "AttributePath", + "AttributeValue" + ], + "members":{ + "AttributePath":{"shape":"AttributePath"}, + "AttributeValue":{"shape":"SensitiveStringType"} + } + }, + "Filters":{ + "type":"list", + "member":{"shape":"Filter"} + }, + "Group":{ + "type":"structure", + "required":[ + "GroupId", + "DisplayName" + ], + "members":{ + "GroupId":{"shape":"ResourceId"}, + "DisplayName":{"shape":"GroupDisplayName"} + } + }, + "GroupDisplayName":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\t\\n\\r  ]+" + }, + "Groups":{ + "type":"list", + "member":{"shape":"Group"} + }, + "IdentityStoreId":{ + "type":"string", + "max":12, + "min":1, + "pattern":"^d-[0-9a-f]{10}$" + }, + "InternalServerException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"}, + "RequestId":{"shape":"RequestId"} + }, + "exception":true, + "fault":true + }, + "ListGroupsRequest":{ + "type":"structure", + "required":["IdentityStoreId"], + "members":{ + "IdentityStoreId":{"shape":"IdentityStoreId"}, + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"NextToken"}, + "Filters":{"shape":"Filters"} + } + }, + "ListGroupsResponse":{ + "type":"structure", + "required":["Groups"], + "members":{ + "Groups":{"shape":"Groups"}, + "NextToken":{"shape":"NextToken"} + } + }, + "ListUsersRequest":{ + "type":"structure", + "required":["IdentityStoreId"], + "members":{ + "IdentityStoreId":{"shape":"IdentityStoreId"}, + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"NextToken"}, + "Filters":{"shape":"Filters"} + } + }, + "ListUsersResponse":{ + "type":"structure", + "required":["Users"], + "members":{ + "Users":{"shape":"Users"}, + "NextToken":{"shape":"NextToken"} + } + }, + "MaxResults":{ + "type":"integer", + "max":50, + "min":1 + }, + "Message":{ + "type":"string", + "max":65535, + "min":1 + }, + "NextToken":{ + "type":"string", + "max":65535, + "min":1, + "pattern":"^[-a-zA-Z0-9+=/:]*" + }, + "RequestId":{ + "type":"string", + "pattern":"[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}" + }, + "ResourceId":{ + "type":"string", + "max":47, + "min":1, + "pattern":"^([0-9a-f]{10}-|)[A-Fa-f0-9]{8}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{4}-[A-Fa-f0-9]{12}$" + }, + "ResourceNotFoundException":{ + "type":"structure", + "members":{ + "ResourceType":{"shape":"ResourceType"}, + "ResourceId":{"shape":"ResourceId"}, + "Message":{"shape":"Message"}, + "RequestId":{"shape":"RequestId"} + }, + "exception":true + }, + "ResourceType":{ + "type":"string", + "enum":[ + "GROUP", + "USER", + "IDENTITY_STORE" + ] + }, + "SensitiveStringType":{ + "type":"string", + "max":1024, + "min":1, + "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}\\t\\n\\r  ]+", + "sensitive":true + }, + "ThrottlingException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"}, + "RequestId":{"shape":"RequestId"} + }, + "exception":true + }, + "User":{ + "type":"structure", + "required":[ + "UserName", + "UserId" + ], + "members":{ + "UserName":{"shape":"UserName"}, + "UserId":{"shape":"ResourceId"} + } + }, + "UserName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"[\\p{L}\\p{M}\\p{S}\\p{N}\\p{P}]+", + "sensitive":true + }, + "Users":{ + "type":"list", + "member":{"shape":"User"} + }, + "ValidationException":{ + "type":"structure", + "members":{ + "Message":{"shape":"Message"}, + "RequestId":{"shape":"RequestId"} + }, + "exception":true + } + } +} diff --git a/models/apis/identitystore/2020-06-15/docs-2.json b/models/apis/identitystore/2020-06-15/docs-2.json new file mode 100644 index 0000000000..684a2b4240 --- /dev/null +++ b/models/apis/identitystore/2020-06-15/docs-2.json @@ -0,0 +1,203 @@ +{ + "version": "2.0", + "service": null, + "operations": { + "DescribeGroup": "

Retrieves the group metadata and attributes from GroupId in an identity store.

", + "DescribeUser": "

Retrieves the user metadata and attributes from UserId in an identity store.

", + "ListGroups": "

Lists the attribute name and value of the group that you specified in the search. We only support DisplayName as a valid filter attribute path currently, and filter is required. This API returns minimum attributes, including GroupId and group DisplayName in the response.

", + "ListUsers": "

Lists the attribute name and value of the user that you specified in the search. We only support UserName as a valid filter attribute path currently, and filter is required. This API returns minimum attributes, including UserId and UserName in the response.

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

You do not have sufficient access to perform this action.

", + "refs": { + } + }, + "AttributePath": { + "base": null, + "refs": { + "Filter$AttributePath": "

The attribute path used to specify which attribute name to search. Length limit is 255 characters. For example, UserName is a valid attribute path for the ListUsers API, and DisplayName is a valid attribute path for the ListGroups API.

" + } + }, + "DescribeGroupRequest": { + "base": null, + "refs": { + } + }, + "DescribeGroupResponse": { + "base": null, + "refs": { + } + }, + "DescribeUserRequest": { + "base": null, + "refs": { + } + }, + "DescribeUserResponse": { + "base": null, + "refs": { + } + }, + "Filter": { + "base": "

A query filter used by ListUsers and ListGroup. This filter object provides the attribute name and attribute value to search users or groups.

", + "refs": { + "Filters$member": null + } + }, + "Filters": { + "base": null, + "refs": { + "ListGroupsRequest$Filters": "

A list of Filter objects, which is used in the ListUsers and ListGroups request.

", + "ListUsersRequest$Filters": "

A list of Filter objects, which is used in the ListUsers and ListGroups request.

" + } + }, + "Group": { + "base": "

A group object, which contains a specified group’s metadata and attributes.

", + "refs": { + "Groups$member": null + } + }, + "GroupDisplayName": { + "base": null, + "refs": { + "DescribeGroupResponse$DisplayName": "

Contains the group’s display name value. The length limit is 1024 characters. This value can consist of letters, accented characters, symbols, numbers, punctuation, tab, new line, carriage return, space and non breaking space in this attribute. The characters “<>;:%” are excluded. This value is specified at the time the group is created and stored as an attribute of the group object in the identity store.

", + "Group$DisplayName": "

Contains the group’s display name value. The length limit is 1024 characters. This value can consist of letters, accented characters, symbols, numbers, punctuation, tab, new line, carriage return, space and non breaking space in this attribute. The characters “<>;:%” are excluded. This value is specified at the time the group is created and stored as an attribute of the group object in the identity store.

" + } + }, + "Groups": { + "base": null, + "refs": { + "ListGroupsResponse$Groups": "

A list of Group objects in the identity store.

" + } + }, + "IdentityStoreId": { + "base": null, + "refs": { + "DescribeGroupRequest$IdentityStoreId": "

The globally unique identifier for the identity store, such as d-1234567890. In this example, d- is a fixed prefix, and 1234567890 is a randomly generated string which contains number and lower case letters. This value is generated at the time that a new identity store is created.

", + "DescribeUserRequest$IdentityStoreId": "

The globally unique identifier for the identity store, such as d-1234567890. In this example, d- is a fixed prefix, and 1234567890 is a randomly generated string which contains number and lower case letters. This value is generated at the time that a new identity store is created.

", + "ListGroupsRequest$IdentityStoreId": "

The globally unique identifier for the identity store, such as d-1234567890. In this example, d- is a fixed prefix, and 1234567890 is a randomly generated string which contains number and lower case letters. This value is generated at the time that a new identity store is created.

", + "ListUsersRequest$IdentityStoreId": "

The globally unique identifier for the identity store, such as d-1234567890. In this example, d- is a fixed prefix, and 1234567890 is a randomly generated string which contains number and lower case letters. This value is generated at the time that a new identity store is created.

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

The request processing has failed because of an unknown error, exception or failure with an internal server.

", + "refs": { + } + }, + "ListGroupsRequest": { + "base": null, + "refs": { + } + }, + "ListGroupsResponse": { + "base": null, + "refs": { + } + }, + "ListUsersRequest": { + "base": null, + "refs": { + } + }, + "ListUsersResponse": { + "base": null, + "refs": { + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListGroupsRequest$MaxResults": "

The maximum number of results to be returned per request, which is used in the ListUsers and ListGroups request to specify how many results to return in one page. The length limit is 50 characters.

", + "ListUsersRequest$MaxResults": "

The maximum number of results to be returned per request, which is used in the ListUsers and ListGroups request to specify how many results to return in one page. The length limit is 50 characters.

" + } + }, + "Message": { + "base": null, + "refs": { + "AccessDeniedException$Message": null, + "InternalServerException$Message": null, + "ResourceNotFoundException$Message": null, + "ThrottlingException$Message": null, + "ValidationException$Message": null + } + }, + "NextToken": { + "base": null, + "refs": { + "ListGroupsRequest$NextToken": "

The pagination token used for the ListUsers and ListGroups APIs. This value is generated by the identity store service and is returned in the API response if the total results are more than the size of one page, and when this token is used in the API request to search for the next page.

", + "ListGroupsResponse$NextToken": "

The pagination token used for the ListUsers and ListGroups APIs. This value is generated by the identity store service and is returned in the API response if the total results are more than the size of one page, and when this token is used in the API request to search for the next page.

", + "ListUsersRequest$NextToken": "

The pagination token used for the ListUsers and ListGroups APIs. This value is generated by the identity store service and is returned in the API response if the total results are more than the size of one page, and when this token is used in the API request to search for the next page.

", + "ListUsersResponse$NextToken": "

The pagination token used for the ListUsers and ListGroups APIs. This value is generated by the identity store service and is returned in the API response if the total results are more than the size of one page, and when this token is used in the API request to search for the next page.

" + } + }, + "RequestId": { + "base": null, + "refs": { + "AccessDeniedException$RequestId": "

The identifier for each request. This value is a globally unique ID that is generated by the Identity Store service for each sent request, and is then returned inside the exception if the request fails.

", + "InternalServerException$RequestId": "

The identifier for each request. This value is a globally unique ID that is generated by the Identity Store service for each sent request, and is then returned inside the exception if the request fails.

", + "ResourceNotFoundException$RequestId": "

The identifier for each request. This value is a globally unique ID that is generated by the Identity Store service for each sent request, and is then returned inside the exception if the request fails.

", + "ThrottlingException$RequestId": "

The identifier for each request. This value is a globally unique ID that is generated by the Identity Store service for each sent request, and is then returned inside the exception if the request fails.

", + "ValidationException$RequestId": "

The identifier for each request. This value is a globally unique ID that is generated by the Identity Store service for each sent request, and is then returned inside the exception if the request fails.

" + } + }, + "ResourceId": { + "base": null, + "refs": { + "DescribeGroupRequest$GroupId": "

The identifier for a group in the identity store.

", + "DescribeGroupResponse$GroupId": "

The identifier for a group in the identity store.

", + "DescribeUserRequest$UserId": "

The identifier for a user in the identity store.

", + "DescribeUserResponse$UserId": "

The identifier for a user in the identity store.

", + "Group$GroupId": "

The identifier for a group in the identity store.

", + "ResourceNotFoundException$ResourceId": "

The identifier for a resource in the identity store, which can be used as UserId or GroupId. The format for ResourceId is either UUID or 1234567890-UUID, where UUID is a randomly generated value for each resource when it is created and 1234567890 represents the IdentityStoreId string value. In the case that the identity store is migrated from a legacy SSO identity store, the ResourceId for that identity store will be in the format of UUID. Otherwise, it will be in the 1234567890-UUID format.

", + "User$UserId": "

The identifier for a user in the identity store.

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

Indicates that a requested resource is not found.

", + "refs": { + } + }, + "ResourceType": { + "base": null, + "refs": { + "ResourceNotFoundException$ResourceType": "

The type of resource in the Identity Store service, which is an enum object. Valid values include USER, GROUP, and IDENTITY_STORE.

" + } + }, + "SensitiveStringType": { + "base": null, + "refs": { + "Filter$AttributeValue": "

Represents the data for an attribute. Each attribute value is described as a name-value pair.

" + } + }, + "ThrottlingException": { + "base": "

Indicates that the principal has crossed the throttling limits of the API operations.

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

A user object, which contains a specified user’s metadata and attributes.

", + "refs": { + "Users$member": null + } + }, + "UserName": { + "base": null, + "refs": { + "DescribeUserResponse$UserName": "

Contains the user’s username value. The length limit is 128 characters. This value can consist of letters, accented characters, symbols, numbers and punctuation. The characters “<>;:%” are excluded. This value is specified at the time the user is created and stored as an attribute of the user object in the identity store.

", + "User$UserName": "

Contains the user’s username value. The length limit is 128 characters. This value can consist of letters, accented characters, symbols, numbers and punctuation. The characters “<>;:%” are excluded. This value is specified at the time the user is created and stored as an attribute of the user object in the identity store.

" + } + }, + "Users": { + "base": null, + "refs": { + "ListUsersResponse$Users": "

A list of User objects in the identity store.

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

The request failed because it contains a syntax error.

", + "refs": { + } + } + } +} diff --git a/models/apis/identitystore/2020-06-15/examples-1.json b/models/apis/identitystore/2020-06-15/examples-1.json new file mode 100644 index 0000000000..0ea7e3b0bb --- /dev/null +++ b/models/apis/identitystore/2020-06-15/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/identitystore/2020-06-15/paginators-1.json b/models/apis/identitystore/2020-06-15/paginators-1.json new file mode 100644 index 0000000000..3277ccaad6 --- /dev/null +++ b/models/apis/identitystore/2020-06-15/paginators-1.json @@ -0,0 +1,14 @@ +{ + "pagination": { + "ListGroups": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + }, + "ListUsers": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults" + } + } +} diff --git a/models/apis/securityhub/2018-10-26/api-2.json b/models/apis/securityhub/2018-10-26/api-2.json index 41554d5656..4ab24bf57e 100644 --- a/models/apis/securityhub/2018-10-26/api-2.json +++ b/models/apis/securityhub/2018-10-26/api-2.json @@ -842,6 +842,179 @@ "SecurityGroupIds":{"shape":"NonEmptyStringList"} } }, + "AwsDynamoDbTableAttributeDefinition":{ + "type":"structure", + "members":{ + "AttributeName":{"shape":"NonEmptyString"}, + "AttributeType":{"shape":"NonEmptyString"} + } + }, + "AwsDynamoDbTableAttributeDefinitionList":{ + "type":"list", + "member":{"shape":"AwsDynamoDbTableAttributeDefinition"} + }, + "AwsDynamoDbTableBillingModeSummary":{ + "type":"structure", + "members":{ + "BillingMode":{"shape":"NonEmptyString"}, + "LastUpdateToPayPerRequestDateTime":{"shape":"NonEmptyString"} + } + }, + "AwsDynamoDbTableDetails":{ + "type":"structure", + "members":{ + "AttributeDefinitions":{"shape":"AwsDynamoDbTableAttributeDefinitionList"}, + "BillingModeSummary":{"shape":"AwsDynamoDbTableBillingModeSummary"}, + "CreationDateTime":{"shape":"NonEmptyString"}, + "GlobalSecondaryIndexes":{"shape":"AwsDynamoDbTableGlobalSecondaryIndexList"}, + "GlobalTableVersion":{"shape":"NonEmptyString"}, + "ItemCount":{"shape":"Integer"}, + "KeySchema":{"shape":"AwsDynamoDbTableKeySchemaList"}, + "LatestStreamArn":{"shape":"NonEmptyString"}, + "LatestStreamLabel":{"shape":"NonEmptyString"}, + "LocalSecondaryIndexes":{"shape":"AwsDynamoDbTableLocalSecondaryIndexList"}, + "ProvisionedThroughput":{"shape":"AwsDynamoDbTableProvisionedThroughput"}, + "Replicas":{"shape":"AwsDynamoDbTableReplicaList"}, + "RestoreSummary":{"shape":"AwsDynamoDbTableRestoreSummary"}, + "SseDescription":{"shape":"AwsDynamoDbTableSseDescription"}, + "StreamSpecification":{"shape":"AwsDynamoDbTableStreamSpecification"}, + "TableId":{"shape":"NonEmptyString"}, + "TableName":{"shape":"NonEmptyString"}, + "TableSizeBytes":{"shape":"SizeBytes"}, + "TableStatus":{"shape":"NonEmptyString"} + } + }, + "AwsDynamoDbTableGlobalSecondaryIndex":{ + "type":"structure", + "members":{ + "Backfilling":{"shape":"Boolean"}, + "IndexArn":{"shape":"NonEmptyString"}, + "IndexName":{"shape":"NonEmptyString"}, + "IndexSizeBytes":{"shape":"SizeBytes"}, + "IndexStatus":{"shape":"NonEmptyString"}, + "ItemCount":{"shape":"Integer"}, + "KeySchema":{"shape":"AwsDynamoDbTableKeySchemaList"}, + "Projection":{"shape":"AwsDynamoDbTableProjection"}, + "ProvisionedThroughput":{"shape":"AwsDynamoDbTableProvisionedThroughput"} + } + }, + "AwsDynamoDbTableGlobalSecondaryIndexList":{ + "type":"list", + "member":{"shape":"AwsDynamoDbTableGlobalSecondaryIndex"} + }, + "AwsDynamoDbTableKeySchema":{ + "type":"structure", + "members":{ + "AttributeName":{"shape":"NonEmptyString"}, + "KeyType":{"shape":"NonEmptyString"} + } + }, + "AwsDynamoDbTableKeySchemaList":{ + "type":"list", + "member":{"shape":"AwsDynamoDbTableKeySchema"} + }, + "AwsDynamoDbTableLocalSecondaryIndex":{ + "type":"structure", + "members":{ + "IndexArn":{"shape":"NonEmptyString"}, + "IndexName":{"shape":"NonEmptyString"}, + "KeySchema":{"shape":"AwsDynamoDbTableKeySchemaList"}, + "Projection":{"shape":"AwsDynamoDbTableProjection"} + } + }, + "AwsDynamoDbTableLocalSecondaryIndexList":{ + "type":"list", + "member":{"shape":"AwsDynamoDbTableLocalSecondaryIndex"} + }, + "AwsDynamoDbTableProjection":{ + "type":"structure", + "members":{ + "NonKeyAttributes":{"shape":"StringList"}, + "ProjectionType":{"shape":"NonEmptyString"} + } + }, + "AwsDynamoDbTableProvisionedThroughput":{ + "type":"structure", + "members":{ + "LastDecreaseDateTime":{"shape":"NonEmptyString"}, + "LastIncreaseDateTime":{"shape":"NonEmptyString"}, + "NumberOfDecreasesToday":{"shape":"Integer"}, + "ReadCapacityUnits":{"shape":"Integer"}, + "WriteCapacityUnits":{"shape":"Integer"} + } + }, + "AwsDynamoDbTableProvisionedThroughputOverride":{ + "type":"structure", + "members":{ + "ReadCapacityUnits":{"shape":"Integer"} + } + }, + "AwsDynamoDbTableReplica":{ + "type":"structure", + "members":{ + "GlobalSecondaryIndexes":{"shape":"AwsDynamoDbTableReplicaGlobalSecondaryIndexList"}, + "KmsMasterKeyId":{"shape":"NonEmptyString"}, + "ProvisionedThroughputOverride":{"shape":"AwsDynamoDbTableProvisionedThroughputOverride"}, + "RegionName":{"shape":"NonEmptyString"}, + "ReplicaStatus":{"shape":"NonEmptyString"}, + "ReplicaStatusDescription":{"shape":"NonEmptyString"} + } + }, + "AwsDynamoDbTableReplicaGlobalSecondaryIndex":{ + "type":"structure", + "members":{ + "IndexName":{"shape":"NonEmptyString"}, + "ProvisionedThroughputOverride":{"shape":"AwsDynamoDbTableProvisionedThroughputOverride"} + } + }, + "AwsDynamoDbTableReplicaGlobalSecondaryIndexList":{ + "type":"list", + "member":{"shape":"AwsDynamoDbTableReplicaGlobalSecondaryIndex"} + }, + "AwsDynamoDbTableReplicaList":{ + "type":"list", + "member":{"shape":"AwsDynamoDbTableReplica"} + }, + "AwsDynamoDbTableRestoreSummary":{ + "type":"structure", + "members":{ + "SourceBackupArn":{"shape":"NonEmptyString"}, + "SourceTableArn":{"shape":"NonEmptyString"}, + "RestoreDateTime":{"shape":"NonEmptyString"}, + "RestoreInProgress":{"shape":"Boolean"} + } + }, + "AwsDynamoDbTableSseDescription":{ + "type":"structure", + "members":{ + "InaccessibleEncryptionDateTime":{"shape":"NonEmptyString"}, + "Status":{"shape":"NonEmptyString"}, + "SseType":{"shape":"NonEmptyString"}, + "KmsMasterKeyArn":{"shape":"NonEmptyString"} + } + }, + "AwsDynamoDbTableStreamSpecification":{ + "type":"structure", + "members":{ + "StreamEnabled":{"shape":"Boolean"}, + "StreamViewType":{"shape":"NonEmptyString"} + } + }, + "AwsEc2EipDetails":{ + "type":"structure", + "members":{ + "InstanceId":{"shape":"NonEmptyString"}, + "PublicIp":{"shape":"NonEmptyString"}, + "AllocationId":{"shape":"NonEmptyString"}, + "AssociationId":{"shape":"NonEmptyString"}, + "Domain":{"shape":"NonEmptyString"}, + "PublicIpv4Pool":{"shape":"NonEmptyString"}, + "NetworkBorderGroup":{"shape":"NonEmptyString"}, + "NetworkInterfaceId":{"shape":"NonEmptyString"}, + "NetworkInterfaceOwnerId":{"shape":"NonEmptyString"}, + "PrivateIpAddress":{"shape":"NonEmptyString"} + } + }, "AwsEc2InstanceDetails":{ "type":"structure", "members":{ @@ -1075,6 +1248,52 @@ "Inactive" ] }, + "AwsIamAttachedManagedPolicy":{ + "type":"structure", + "members":{ + "PolicyName":{"shape":"NonEmptyString"}, + "PolicyArn":{"shape":"NonEmptyString"} + } + }, + "AwsIamAttachedManagedPolicyList":{ + "type":"list", + "member":{"shape":"AwsIamAttachedManagedPolicy"} + }, + "AwsIamPermissionsBoundary":{ + "type":"structure", + "members":{ + "PermissionsBoundaryArn":{"shape":"NonEmptyString"}, + "PermissionsBoundaryType":{"shape":"NonEmptyString"} + } + }, + "AwsIamPolicyDetails":{ + "type":"structure", + "members":{ + "AttachmentCount":{"shape":"Integer"}, + "CreateDate":{"shape":"NonEmptyString"}, + "DefaultVersionId":{"shape":"NonEmptyString"}, + "Description":{"shape":"NonEmptyString"}, + "IsAttachable":{"shape":"Boolean"}, + "Path":{"shape":"NonEmptyString"}, + "PermissionsBoundaryUsageCount":{"shape":"Integer"}, + "PolicyId":{"shape":"NonEmptyString"}, + "PolicyName":{"shape":"NonEmptyString"}, + "PolicyVersionList":{"shape":"AwsIamPolicyVersionList"}, + "UpdateDate":{"shape":"NonEmptyString"} + } + }, + "AwsIamPolicyVersion":{ + "type":"structure", + "members":{ + "VersionId":{"shape":"NonEmptyString"}, + "IsDefaultVersion":{"shape":"Boolean"}, + "CreateDate":{"shape":"NonEmptyString"} + } + }, + "AwsIamPolicyVersionList":{ + "type":"list", + "member":{"shape":"AwsIamPolicyVersion"} + }, "AwsIamRoleAssumeRolePolicyDocument":{ "type":"string", "max":131072, @@ -1092,6 +1311,29 @@ "Path":{"shape":"NonEmptyString"} } }, + "AwsIamUserDetails":{ + "type":"structure", + "members":{ + "AttachedManagedPolicies":{"shape":"AwsIamAttachedManagedPolicyList"}, + "CreateDate":{"shape":"NonEmptyString"}, + "GroupList":{"shape":"StringList"}, + "Path":{"shape":"NonEmptyString"}, + "PermissionsBoundary":{"shape":"AwsIamPermissionsBoundary"}, + "UserId":{"shape":"NonEmptyString"}, + "UserName":{"shape":"NonEmptyString"}, + "UserPolicyList":{"shape":"AwsIamUserPolicyList"} + } + }, + "AwsIamUserPolicy":{ + "type":"structure", + "members":{ + "PolicyName":{"shape":"NonEmptyString"} + } + }, + "AwsIamUserPolicyList":{ + "type":"list", + "member":{"shape":"AwsIamUserPolicy"} + }, "AwsKmsKeyDetails":{ "type":"structure", "members":{ @@ -1100,7 +1342,8 @@ "KeyId":{"shape":"NonEmptyString"}, "KeyManager":{"shape":"NonEmptyString"}, "KeyState":{"shape":"NonEmptyString"}, - "Origin":{"shape":"NonEmptyString"} + "Origin":{"shape":"NonEmptyString"}, + "Description":{"shape":"NonEmptyString"} } }, "AwsLambdaFunctionCode":{ @@ -1189,6 +1432,119 @@ } }, "AwsLambdaLayerVersionNumber":{"type":"long"}, + "AwsRdsDbClusterAssociatedRole":{ + "type":"structure", + "members":{ + "RoleArn":{"shape":"NonEmptyString"}, + "Status":{"shape":"NonEmptyString"} + } + }, + "AwsRdsDbClusterAssociatedRoles":{ + "type":"list", + "member":{"shape":"AwsRdsDbClusterAssociatedRole"} + }, + "AwsRdsDbClusterDetails":{ + "type":"structure", + "members":{ + "AllocatedStorage":{"shape":"Integer"}, + "AvailabilityZones":{"shape":"StringList"}, + "BackupRetentionPeriod":{"shape":"Integer"}, + "DatabaseName":{"shape":"NonEmptyString"}, + "Status":{"shape":"NonEmptyString"}, + "Endpoint":{"shape":"NonEmptyString"}, + "ReaderEndpoint":{"shape":"NonEmptyString"}, + "CustomEndpoints":{"shape":"StringList"}, + "MultiAz":{"shape":"Boolean"}, + "Engine":{"shape":"NonEmptyString"}, + "EngineVersion":{"shape":"NonEmptyString"}, + "Port":{"shape":"Integer"}, + "MasterUsername":{"shape":"NonEmptyString"}, + "PreferredBackupWindow":{"shape":"NonEmptyString"}, + "PreferredMaintenanceWindow":{"shape":"NonEmptyString"}, + "ReadReplicaIdentifiers":{"shape":"StringList"}, + "VpcSecurityGroups":{"shape":"AwsRdsDbInstanceVpcSecurityGroups"}, + "HostedZoneId":{"shape":"NonEmptyString"}, + "StorageEncrypted":{"shape":"Boolean"}, + "KmsKeyId":{"shape":"NonEmptyString"}, + "DbClusterResourceId":{"shape":"NonEmptyString"}, + "AssociatedRoles":{"shape":"AwsRdsDbClusterAssociatedRoles"}, + "ClusterCreateTime":{"shape":"NonEmptyString"}, + "EnabledCloudWatchLogsExports":{"shape":"StringList"}, + "EngineMode":{"shape":"NonEmptyString"}, + "DeletionProtection":{"shape":"Boolean"}, + "HttpEndpointEnabled":{"shape":"Boolean"}, + "ActivityStreamStatus":{"shape":"NonEmptyString"}, + "CopyTagsToSnapshot":{"shape":"Boolean"}, + "CrossAccountClone":{"shape":"Boolean"}, + "DomainMemberships":{"shape":"AwsRdsDbDomainMemberships"}, + "DbClusterParameterGroup":{"shape":"NonEmptyString"}, + "DbSubnetGroup":{"shape":"NonEmptyString"}, + "DbClusterOptionGroupMemberships":{"shape":"AwsRdsDbClusterOptionGroupMemberships"}, + "DbClusterIdentifier":{"shape":"NonEmptyString"}, + "DbClusterMembers":{"shape":"AwsRdsDbClusterMembers"}, + "IamDatabaseAuthenticationEnabled":{"shape":"Boolean"} + } + }, + "AwsRdsDbClusterMember":{ + "type":"structure", + "members":{ + "IsClusterWriter":{"shape":"Boolean"}, + "PromotionTier":{"shape":"Integer"}, + "DbInstanceIdentifier":{"shape":"NonEmptyString"}, + "DbClusterParameterGroupStatus":{"shape":"NonEmptyString"} + } + }, + "AwsRdsDbClusterMembers":{ + "type":"list", + "member":{"shape":"AwsRdsDbClusterMember"} + }, + "AwsRdsDbClusterOptionGroupMembership":{ + "type":"structure", + "members":{ + "DbClusterOptionGroupName":{"shape":"NonEmptyString"}, + "Status":{"shape":"NonEmptyString"} + } + }, + "AwsRdsDbClusterOptionGroupMemberships":{ + "type":"list", + "member":{"shape":"AwsRdsDbClusterOptionGroupMembership"} + }, + "AwsRdsDbClusterSnapshotDetails":{ + "type":"structure", + "members":{ + "AvailabilityZones":{"shape":"StringList"}, + "SnapshotCreateTime":{"shape":"NonEmptyString"}, + "Engine":{"shape":"NonEmptyString"}, + "AllocatedStorage":{"shape":"Integer"}, + "Status":{"shape":"NonEmptyString"}, + "Port":{"shape":"Integer"}, + "VpcId":{"shape":"NonEmptyString"}, + "ClusterCreateTime":{"shape":"NonEmptyString"}, + "MasterUsername":{"shape":"NonEmptyString"}, + "EngineVersion":{"shape":"NonEmptyString"}, + "LicenseModel":{"shape":"NonEmptyString"}, + "SnapshotType":{"shape":"NonEmptyString"}, + "PercentProgress":{"shape":"Integer"}, + "StorageEncrypted":{"shape":"Boolean"}, + "KmsKeyId":{"shape":"NonEmptyString"}, + "DbClusterIdentifier":{"shape":"NonEmptyString"}, + "DbClusterSnapshotIdentifier":{"shape":"NonEmptyString"}, + "IamDatabaseAuthenticationEnabled":{"shape":"Boolean"} + } + }, + "AwsRdsDbDomainMembership":{ + "type":"structure", + "members":{ + "Domain":{"shape":"NonEmptyString"}, + "Status":{"shape":"NonEmptyString"}, + "Fqdn":{"shape":"NonEmptyString"}, + "IamRoleName":{"shape":"NonEmptyString"} + } + }, + "AwsRdsDbDomainMemberships":{ + "type":"list", + "member":{"shape":"AwsRdsDbDomainMembership"} + }, "AwsRdsDbInstanceAssociatedRole":{ "type":"structure", "members":{ @@ -1222,7 +1578,45 @@ "PubliclyAccessible":{"shape":"Boolean"}, "StorageEncrypted":{"shape":"Boolean"}, "TdeCredentialArn":{"shape":"NonEmptyString"}, - "VpcSecurityGroups":{"shape":"AwsRdsDbInstanceVpcSecurityGroups"} + "VpcSecurityGroups":{"shape":"AwsRdsDbInstanceVpcSecurityGroups"}, + "MultiAz":{"shape":"Boolean"}, + "EnhancedMonitoringResourceArn":{"shape":"NonEmptyString"}, + "DbInstanceStatus":{"shape":"NonEmptyString"}, + "MasterUsername":{"shape":"NonEmptyString"}, + "AllocatedStorage":{"shape":"Integer"}, + "PreferredBackupWindow":{"shape":"NonEmptyString"}, + "BackupRetentionPeriod":{"shape":"Integer"}, + "DbSecurityGroups":{"shape":"StringList"}, + "DbParameterGroups":{"shape":"AwsRdsDbParameterGroups"}, + "AvailabilityZone":{"shape":"NonEmptyString"}, + "DbSubnetGroup":{"shape":"AwsRdsDbSubnetGroup"}, + "PreferredMaintenanceWindow":{"shape":"NonEmptyString"}, + "PendingModifiedValues":{"shape":"AwsRdsDbPendingModifiedValues"}, + "LatestRestorableTime":{"shape":"NonEmptyString"}, + "AutoMinorVersionUpgrade":{"shape":"Boolean"}, + "ReadReplicaSourceDBInstanceIdentifier":{"shape":"NonEmptyString"}, + "ReadReplicaDBInstanceIdentifiers":{"shape":"StringList"}, + "ReadReplicaDBClusterIdentifiers":{"shape":"StringList"}, + "LicenseModel":{"shape":"NonEmptyString"}, + "Iops":{"shape":"Integer"}, + "OptionGroupMemberships":{"shape":"AwsRdsDbOptionGroupMemberships"}, + "CharacterSetName":{"shape":"NonEmptyString"}, + "SecondaryAvailabilityZone":{"shape":"NonEmptyString"}, + "StatusInfos":{"shape":"AwsRdsDbStatusInfos"}, + "StorageType":{"shape":"NonEmptyString"}, + "DomainMemberships":{"shape":"AwsRdsDbDomainMemberships"}, + "CopyTagsToSnapshot":{"shape":"Boolean"}, + "MonitoringInterval":{"shape":"Integer"}, + "MonitoringRoleArn":{"shape":"NonEmptyString"}, + "PromotionTier":{"shape":"Integer"}, + "Timezone":{"shape":"NonEmptyString"}, + "PerformanceInsightsEnabled":{"shape":"Boolean"}, + "PerformanceInsightsKmsKeyId":{"shape":"NonEmptyString"}, + "PerformanceInsightsRetentionPeriod":{"shape":"Integer"}, + "EnabledCloudWatchLogsExports":{"shape":"StringList"}, + "ProcessorFeatures":{"shape":"AwsRdsDbProcessorFeatures"}, + "ListenerEndpoint":{"shape":"AwsRdsDbInstanceEndpoint"}, + "MaxAllocatedStorage":{"shape":"Integer"} } }, "AwsRdsDbInstanceEndpoint":{ @@ -1244,6 +1638,140 @@ "type":"list", "member":{"shape":"AwsRdsDbInstanceVpcSecurityGroup"} }, + "AwsRdsDbOptionGroupMembership":{ + "type":"structure", + "members":{ + "OptionGroupName":{"shape":"NonEmptyString"}, + "Status":{"shape":"NonEmptyString"} + } + }, + "AwsRdsDbOptionGroupMemberships":{ + "type":"list", + "member":{"shape":"AwsRdsDbOptionGroupMembership"} + }, + "AwsRdsDbParameterGroup":{ + "type":"structure", + "members":{ + "DbParameterGroupName":{"shape":"NonEmptyString"}, + "ParameterApplyStatus":{"shape":"NonEmptyString"} + } + }, + "AwsRdsDbParameterGroups":{ + "type":"list", + "member":{"shape":"AwsRdsDbParameterGroup"} + }, + "AwsRdsDbPendingModifiedValues":{ + "type":"structure", + "members":{ + "DbInstanceClass":{"shape":"NonEmptyString"}, + "AllocatedStorage":{"shape":"Integer"}, + "MasterUserPassword":{"shape":"NonEmptyString"}, + "Port":{"shape":"Integer"}, + "BackupRetentionPeriod":{"shape":"Integer"}, + "MultiAZ":{"shape":"Boolean"}, + "EngineVersion":{"shape":"NonEmptyString"}, + "LicenseModel":{"shape":"NonEmptyString"}, + "Iops":{"shape":"Integer"}, + "DbInstanceIdentifier":{"shape":"NonEmptyString"}, + "StorageType":{"shape":"NonEmptyString"}, + "CaCertificateIdentifier":{"shape":"NonEmptyString"}, + "DbSubnetGroupName":{"shape":"NonEmptyString"}, + "PendingCloudWatchLogsExports":{"shape":"AwsRdsPendingCloudWatchLogsExports"}, + "ProcessorFeatures":{"shape":"AwsRdsDbProcessorFeatures"} + } + }, + "AwsRdsDbProcessorFeature":{ + "type":"structure", + "members":{ + "Name":{"shape":"NonEmptyString"}, + "Value":{"shape":"NonEmptyString"} + } + }, + "AwsRdsDbProcessorFeatures":{ + "type":"list", + "member":{"shape":"AwsRdsDbProcessorFeature"} + }, + "AwsRdsDbSnapshotDetails":{ + "type":"structure", + "members":{ + "DbSnapshotIdentifier":{"shape":"NonEmptyString"}, + "DbInstanceIdentifier":{"shape":"NonEmptyString"}, + "SnapshotCreateTime":{"shape":"NonEmptyString"}, + "Engine":{"shape":"NonEmptyString"}, + "AllocatedStorage":{"shape":"Integer"}, + "Status":{"shape":"NonEmptyString"}, + "Port":{"shape":"Integer"}, + "AvailabilityZone":{"shape":"NonEmptyString"}, + "VpcId":{"shape":"NonEmptyString"}, + "InstanceCreateTime":{"shape":"NonEmptyString"}, + "MasterUsername":{"shape":"NonEmptyString"}, + "EngineVersion":{"shape":"NonEmptyString"}, + "LicenseModel":{"shape":"NonEmptyString"}, + "SnapshotType":{"shape":"NonEmptyString"}, + "Iops":{"shape":"Integer"}, + "OptionGroupName":{"shape":"NonEmptyString"}, + "PercentProgress":{"shape":"Integer"}, + "SourceRegion":{"shape":"NonEmptyString"}, + "SourceDbSnapshotIdentifier":{"shape":"NonEmptyString"}, + "StorageType":{"shape":"NonEmptyString"}, + "TdeCredentialArn":{"shape":"NonEmptyString"}, + "Encrypted":{"shape":"Boolean"}, + "KmsKeyId":{"shape":"NonEmptyString"}, + "Timezone":{"shape":"NonEmptyString"}, + "IamDatabaseAuthenticationEnabled":{"shape":"Boolean"}, + "ProcessorFeatures":{"shape":"AwsRdsDbProcessorFeatures"}, + "DbiResourceId":{"shape":"NonEmptyString"} + } + }, + "AwsRdsDbStatusInfo":{ + "type":"structure", + "members":{ + "StatusType":{"shape":"NonEmptyString"}, + "Normal":{"shape":"Boolean"}, + "Status":{"shape":"NonEmptyString"}, + "Message":{"shape":"NonEmptyString"} + } + }, + "AwsRdsDbStatusInfos":{ + "type":"list", + "member":{"shape":"AwsRdsDbStatusInfo"} + }, + "AwsRdsDbSubnetGroup":{ + "type":"structure", + "members":{ + "DbSubnetGroupName":{"shape":"NonEmptyString"}, + "DbSubnetGroupDescription":{"shape":"NonEmptyString"}, + "VpcId":{"shape":"NonEmptyString"}, + "SubnetGroupStatus":{"shape":"NonEmptyString"}, + "Subnets":{"shape":"AwsRdsDbSubnetGroupSubnets"}, + "DbSubnetGroupArn":{"shape":"NonEmptyString"} + } + }, + "AwsRdsDbSubnetGroupSubnet":{ + "type":"structure", + "members":{ + "SubnetIdentifier":{"shape":"NonEmptyString"}, + "SubnetAvailabilityZone":{"shape":"AwsRdsDbSubnetGroupSubnetAvailabilityZone"}, + "SubnetStatus":{"shape":"NonEmptyString"} + } + }, + "AwsRdsDbSubnetGroupSubnetAvailabilityZone":{ + "type":"structure", + "members":{ + "Name":{"shape":"NonEmptyString"} + } + }, + "AwsRdsDbSubnetGroupSubnets":{ + "type":"list", + "member":{"shape":"AwsRdsDbSubnetGroupSubnet"} + }, + "AwsRdsPendingCloudWatchLogsExports":{ + "type":"structure", + "members":{ + "LogTypesToEnable":{"shape":"StringList"}, + "LogTypesToDisable":{"shape":"StringList"} + } + }, "AwsS3BucketDetails":{ "type":"structure", "members":{ @@ -1287,6 +1815,25 @@ "SSEKMSKeyId":{"shape":"NonEmptyString"} } }, + "AwsSecretsManagerSecretDetails":{ + "type":"structure", + "members":{ + "RotationRules":{"shape":"AwsSecretsManagerSecretRotationRules"}, + "RotationOccurredWithinFrequency":{"shape":"Boolean"}, + "KmsKeyId":{"shape":"NonEmptyString"}, + "RotationEnabled":{"shape":"Boolean"}, + "RotationLambdaArn":{"shape":"NonEmptyString"}, + "Deleted":{"shape":"Boolean"}, + "Name":{"shape":"NonEmptyString"}, + "Description":{"shape":"NonEmptyString"} + } + }, + "AwsSecretsManagerSecretRotationRules":{ + "type":"structure", + "members":{ + "AutomaticallyAfterDays":{"shape":"Integer"} + } + }, "AwsSecurityFinding":{ "type":"structure", "required":[ @@ -2403,7 +2950,10 @@ }, "MapFilterComparison":{ "type":"string", - "enum":["EQUALS"] + "enum":[ + "EQUALS", + "NOT_EQUALS" + ] }, "MapFilterList":{ "type":"list", @@ -2662,11 +3212,16 @@ "AwsEc2SecurityGroup":{"shape":"AwsEc2SecurityGroupDetails"}, "AwsEc2Volume":{"shape":"AwsEc2VolumeDetails"}, "AwsEc2Vpc":{"shape":"AwsEc2VpcDetails"}, + "AwsEc2Eip":{"shape":"AwsEc2EipDetails"}, "AwsElbv2LoadBalancer":{"shape":"AwsElbv2LoadBalancerDetails"}, "AwsElasticsearchDomain":{"shape":"AwsElasticsearchDomainDetails"}, "AwsS3Bucket":{"shape":"AwsS3BucketDetails"}, "AwsS3Object":{"shape":"AwsS3ObjectDetails"}, + "AwsSecretsManagerSecret":{"shape":"AwsSecretsManagerSecretDetails"}, "AwsIamAccessKey":{"shape":"AwsIamAccessKeyDetails"}, + "AwsIamUser":{"shape":"AwsIamUserDetails"}, + "AwsIamPolicy":{"shape":"AwsIamPolicyDetails"}, + "AwsDynamoDbTable":{"shape":"AwsDynamoDbTableDetails"}, "AwsIamRole":{"shape":"AwsIamRoleDetails"}, "AwsKmsKey":{"shape":"AwsKmsKeyDetails"}, "AwsLambdaFunction":{"shape":"AwsLambdaFunctionDetails"}, @@ -2675,6 +3230,9 @@ "AwsSnsTopic":{"shape":"AwsSnsTopicDetails"}, "AwsSqsQueue":{"shape":"AwsSqsQueueDetails"}, "AwsWafWebAcl":{"shape":"AwsWafWebAclDetails"}, + "AwsRdsDbSnapshot":{"shape":"AwsRdsDbSnapshotDetails"}, + "AwsRdsDbClusterSnapshot":{"shape":"AwsRdsDbClusterSnapshotDetails"}, + "AwsRdsDbCluster":{"shape":"AwsRdsDbClusterDetails"}, "Container":{"shape":"ContainerDetails"}, "Other":{"shape":"FieldMap"} } @@ -2743,6 +3301,7 @@ "Label":{"shape":"SeverityLabel"} } }, + "SizeBytes":{"type":"long"}, "SoftwarePackage":{ "type":"structure", "members":{ @@ -2884,7 +3443,9 @@ "type":"string", "enum":[ "EQUALS", - "PREFIX" + "PREFIX", + "NOT_EQUALS", + "PREFIX_NOT_EQUALS" ] }, "StringFilterList":{ diff --git a/models/apis/securityhub/2018-10-26/docs-2.json b/models/apis/securityhub/2018-10-26/docs-2.json index e9bb622fa8..fd54de0f34 100644 --- a/models/apis/securityhub/2018-10-26/docs-2.json +++ b/models/apis/securityhub/2018-10-26/docs-2.json @@ -191,6 +191,137 @@ "AwsCodeBuildProjectDetails$VpcConfig": "

Information about the VPC configuration that AWS CodeBuild accesses.

" } }, + "AwsDynamoDbTableAttributeDefinition": { + "base": "

Contains a definition of an attribute for the table.

", + "refs": { + "AwsDynamoDbTableAttributeDefinitionList$member": null + } + }, + "AwsDynamoDbTableAttributeDefinitionList": { + "base": null, + "refs": { + "AwsDynamoDbTableDetails$AttributeDefinitions": "

A list of attribute definitions for the table.

" + } + }, + "AwsDynamoDbTableBillingModeSummary": { + "base": "

Provides information about the billing for read/write capacity on the table.

", + "refs": { + "AwsDynamoDbTableDetails$BillingModeSummary": "

Information about the billing for read/write capacity on the table.

" + } + }, + "AwsDynamoDbTableDetails": { + "base": "

Provides details about a DynamoDB table.

", + "refs": { + "ResourceDetails$AwsDynamoDbTable": "

Details about a DynamoDB table.

" + } + }, + "AwsDynamoDbTableGlobalSecondaryIndex": { + "base": "

Information abut a global secondary index for the table.

", + "refs": { + "AwsDynamoDbTableGlobalSecondaryIndexList$member": null + } + }, + "AwsDynamoDbTableGlobalSecondaryIndexList": { + "base": null, + "refs": { + "AwsDynamoDbTableDetails$GlobalSecondaryIndexes": "

List of global secondary indexes for the table.

" + } + }, + "AwsDynamoDbTableKeySchema": { + "base": "

A component of the key schema for the DynamoDB table, a global secondary index, or a local secondary index.

", + "refs": { + "AwsDynamoDbTableKeySchemaList$member": null + } + }, + "AwsDynamoDbTableKeySchemaList": { + "base": null, + "refs": { + "AwsDynamoDbTableDetails$KeySchema": "

The primary key structure for the table.

", + "AwsDynamoDbTableGlobalSecondaryIndex$KeySchema": "

The key schema for the index.

", + "AwsDynamoDbTableLocalSecondaryIndex$KeySchema": "

The complete key schema for the index.

" + } + }, + "AwsDynamoDbTableLocalSecondaryIndex": { + "base": "

Information about a local secondary index for a DynamoDB table.

", + "refs": { + "AwsDynamoDbTableLocalSecondaryIndexList$member": null + } + }, + "AwsDynamoDbTableLocalSecondaryIndexList": { + "base": null, + "refs": { + "AwsDynamoDbTableDetails$LocalSecondaryIndexes": "

The list of local secondary indexes for the table.

" + } + }, + "AwsDynamoDbTableProjection": { + "base": "

For global and local secondary indexes, identifies the attributes that are copied from the table into the index.

", + "refs": { + "AwsDynamoDbTableGlobalSecondaryIndex$Projection": "

Attributes that are copied from the table into an index.

", + "AwsDynamoDbTableLocalSecondaryIndex$Projection": "

Attributes that are copied from the table into the index. These are in addition to the primary key attributes and index key attributes, which are automatically projected.

" + } + }, + "AwsDynamoDbTableProvisionedThroughput": { + "base": "

Information about the provisioned throughput for the table or for a global secondary index.

", + "refs": { + "AwsDynamoDbTableDetails$ProvisionedThroughput": "

Information about the provisioned throughput for the table.

", + "AwsDynamoDbTableGlobalSecondaryIndex$ProvisionedThroughput": "

Information about the provisioned throughput settings for the indexes.

" + } + }, + "AwsDynamoDbTableProvisionedThroughputOverride": { + "base": "

Replica-specific configuration for the provisioned throughput.

", + "refs": { + "AwsDynamoDbTableReplica$ProvisionedThroughputOverride": "

Replica-specific configuration for the provisioned throughput.

", + "AwsDynamoDbTableReplicaGlobalSecondaryIndex$ProvisionedThroughputOverride": "

Replica-specific configuration for the provisioned throughput for the index.

" + } + }, + "AwsDynamoDbTableReplica": { + "base": "

Information about a replica of a DynamoDB table.

", + "refs": { + "AwsDynamoDbTableReplicaList$member": null + } + }, + "AwsDynamoDbTableReplicaGlobalSecondaryIndex": { + "base": "

Information about a global secondary index for a DynamoDB table replica.

", + "refs": { + "AwsDynamoDbTableReplicaGlobalSecondaryIndexList$member": null + } + }, + "AwsDynamoDbTableReplicaGlobalSecondaryIndexList": { + "base": null, + "refs": { + "AwsDynamoDbTableReplica$GlobalSecondaryIndexes": "

List of global secondary indexes for the replica.

" + } + }, + "AwsDynamoDbTableReplicaList": { + "base": null, + "refs": { + "AwsDynamoDbTableDetails$Replicas": "

The list of replicas of this table.

" + } + }, + "AwsDynamoDbTableRestoreSummary": { + "base": "

Information about the restore for the table.

", + "refs": { + "AwsDynamoDbTableDetails$RestoreSummary": "

Information about the restore for the table.

" + } + }, + "AwsDynamoDbTableSseDescription": { + "base": "

Information about the server-side encryption for the table.

", + "refs": { + "AwsDynamoDbTableDetails$SseDescription": "

Information about the server-side encryption for the table.

" + } + }, + "AwsDynamoDbTableStreamSpecification": { + "base": "

The current DynamoDB Streams configuration for the table.

", + "refs": { + "AwsDynamoDbTableDetails$StreamSpecification": "

The current DynamoDB Streams configuration for the table.

" + } + }, + "AwsEc2EipDetails": { + "base": "

Information about an Elastic IP address.

", + "refs": { + "ResourceDetails$AwsEc2Eip": "

Details about an Elastic IP address.

" + } + }, "AwsEc2InstanceDetails": { "base": "

The details of an Amazon EC2 instance.

", "refs": { @@ -360,6 +491,42 @@ "AwsIamAccessKeyDetails$Status": "

The status of the IAM access key related to a finding.

" } }, + "AwsIamAttachedManagedPolicy": { + "base": "

A managed policy that is attached to an IAM user.

", + "refs": { + "AwsIamAttachedManagedPolicyList$member": null + } + }, + "AwsIamAttachedManagedPolicyList": { + "base": null, + "refs": { + "AwsIamUserDetails$AttachedManagedPolicies": "

A list of the managed policies that are attached to the user.

" + } + }, + "AwsIamPermissionsBoundary": { + "base": "

Information about the policy used to set the permissions boundary for an IAM user.

", + "refs": { + "AwsIamUserDetails$PermissionsBoundary": "

The permissions boundary for the user.

" + } + }, + "AwsIamPolicyDetails": { + "base": "

Represents an IAM permissions policy.

", + "refs": { + "ResourceDetails$AwsIamPolicy": "

Details about an IAM permissions policy.

" + } + }, + "AwsIamPolicyVersion": { + "base": "

A version of an IAM policy.

", + "refs": { + "AwsIamPolicyVersionList$member": null + } + }, + "AwsIamPolicyVersionList": { + "base": null, + "refs": { + "AwsIamPolicyDetails$PolicyVersionList": "

List of versions of the policy.

" + } + }, "AwsIamRoleAssumeRolePolicyDocument": { "base": null, "refs": { @@ -372,6 +539,24 @@ "ResourceDetails$AwsIamRole": "

Details about an IAM role.

" } }, + "AwsIamUserDetails": { + "base": "

Information about an IAM user.

", + "refs": { + "ResourceDetails$AwsIamUser": "

Details about an IAM user.

" + } + }, + "AwsIamUserPolicy": { + "base": "

Information about an inline policy that is embedded in the user.

", + "refs": { + "AwsIamUserPolicyList$member": null + } + }, + "AwsIamUserPolicyList": { + "base": null, + "refs": { + "AwsIamUserDetails$UserPolicyList": "

The list of inline policies that are embedded in the user.

" + } + }, "AwsKmsKeyDetails": { "base": "

Contains metadata about a customer master key (CMK).

", "refs": { @@ -444,6 +629,67 @@ "AwsLambdaLayerVersionDetails$Version": "

The version number.

" } }, + "AwsRdsDbClusterAssociatedRole": { + "base": "

An IAM role that is associated with the Amazon RDS DB cluster.

", + "refs": { + "AwsRdsDbClusterAssociatedRoles$member": null + } + }, + "AwsRdsDbClusterAssociatedRoles": { + "base": null, + "refs": { + "AwsRdsDbClusterDetails$AssociatedRoles": "

A list of the IAM roles that are associated with the DB cluster.

" + } + }, + "AwsRdsDbClusterDetails": { + "base": "

Information about an Amazon RDS DB cluster.

", + "refs": { + "ResourceDetails$AwsRdsDbCluster": "

Details about an Amazon RDS database cluster.

" + } + }, + "AwsRdsDbClusterMember": { + "base": "

Information about an instance in the DB cluster.

", + "refs": { + "AwsRdsDbClusterMembers$member": null + } + }, + "AwsRdsDbClusterMembers": { + "base": null, + "refs": { + "AwsRdsDbClusterDetails$DbClusterMembers": "

The list of instances that make up the DB cluster.

" + } + }, + "AwsRdsDbClusterOptionGroupMembership": { + "base": "

Information about an option group membership for a DB cluster.

", + "refs": { + "AwsRdsDbClusterOptionGroupMemberships$member": null + } + }, + "AwsRdsDbClusterOptionGroupMemberships": { + "base": null, + "refs": { + "AwsRdsDbClusterDetails$DbClusterOptionGroupMemberships": "

The list of option group memberships for this DB cluster.

" + } + }, + "AwsRdsDbClusterSnapshotDetails": { + "base": "

Information about an Amazon RDS DB cluster snapshot.

", + "refs": { + "ResourceDetails$AwsRdsDbClusterSnapshot": "

Details about an Amazon RDS database cluster snapshot.

" + } + }, + "AwsRdsDbDomainMembership": { + "base": "

Information about an Active Directory domain membership record associated with the DB instance.

", + "refs": { + "AwsRdsDbDomainMemberships$member": null + } + }, + "AwsRdsDbDomainMemberships": { + "base": null, + "refs": { + "AwsRdsDbClusterDetails$DomainMemberships": "

The Active Directory domain membership records that are associated with the DB cluster.

", + "AwsRdsDbInstanceDetails$DomainMemberships": "

The Active Directory domain membership records associated with the DB instance.

" + } + }, "AwsRdsDbInstanceAssociatedRole": { "base": "

An AWS Identity and Access Management (IAM) role associated with the DB instance.

", "refs": { @@ -459,13 +705,14 @@ "AwsRdsDbInstanceDetails": { "base": "

Contains the details of an Amazon RDS DB instance.

", "refs": { - "ResourceDetails$AwsRdsDbInstance": "

Details for an Amazon RDS database instance.

" + "ResourceDetails$AwsRdsDbInstance": "

Details about an Amazon RDS database instance.

" } }, "AwsRdsDbInstanceEndpoint": { "base": "

Specifies the connection endpoint.

", "refs": { - "AwsRdsDbInstanceDetails$Endpoint": "

Specifies the connection endpoint.

" + "AwsRdsDbInstanceDetails$Endpoint": "

Specifies the connection endpoint.

", + "AwsRdsDbInstanceDetails$ListenerEndpoint": null } }, "AwsRdsDbInstanceVpcSecurityGroup": { @@ -477,9 +724,102 @@ "AwsRdsDbInstanceVpcSecurityGroups": { "base": null, "refs": { + "AwsRdsDbClusterDetails$VpcSecurityGroups": "

A list of VPC security groups that the DB cluster belongs to.

", "AwsRdsDbInstanceDetails$VpcSecurityGroups": "

A list of VPC security groups that the DB instance belongs to.

" } }, + "AwsRdsDbOptionGroupMembership": { + "base": "

", + "refs": { + "AwsRdsDbOptionGroupMemberships$member": null + } + }, + "AwsRdsDbOptionGroupMemberships": { + "base": null, + "refs": { + "AwsRdsDbInstanceDetails$OptionGroupMemberships": "

The list of option group memberships for this DB instance.

" + } + }, + "AwsRdsDbParameterGroup": { + "base": "

", + "refs": { + "AwsRdsDbParameterGroups$member": null + } + }, + "AwsRdsDbParameterGroups": { + "base": null, + "refs": { + "AwsRdsDbInstanceDetails$DbParameterGroups": "

A list of the DB parameter groups to assign to the DB instance.

" + } + }, + "AwsRdsDbPendingModifiedValues": { + "base": "

", + "refs": { + "AwsRdsDbInstanceDetails$PendingModifiedValues": "

Changes to the DB instance that are currently pending.

" + } + }, + "AwsRdsDbProcessorFeature": { + "base": "

", + "refs": { + "AwsRdsDbProcessorFeatures$member": null + } + }, + "AwsRdsDbProcessorFeatures": { + "base": null, + "refs": { + "AwsRdsDbInstanceDetails$ProcessorFeatures": "

The number of CPU cores and the number of threads per core for the DB instance class of the DB instance.

", + "AwsRdsDbPendingModifiedValues$ProcessorFeatures": "

", + "AwsRdsDbSnapshotDetails$ProcessorFeatures": "

" + } + }, + "AwsRdsDbSnapshotDetails": { + "base": "

", + "refs": { + "ResourceDetails$AwsRdsDbSnapshot": "

Details about an Amazon RDS database snapshot.

" + } + }, + "AwsRdsDbStatusInfo": { + "base": "

Information about the status of a read replica.

", + "refs": { + "AwsRdsDbStatusInfos$member": null + } + }, + "AwsRdsDbStatusInfos": { + "base": null, + "refs": { + "AwsRdsDbInstanceDetails$StatusInfos": "

The status of a read replica. If the instance isn't a read replica, this is empty.

" + } + }, + "AwsRdsDbSubnetGroup": { + "base": "

Information about the subnet group for the database instance.

", + "refs": { + "AwsRdsDbInstanceDetails$DbSubnetGroup": "

Information about the subnet group that is associated with the DB instance.

" + } + }, + "AwsRdsDbSubnetGroupSubnet": { + "base": "

Information about a subnet in a subnet group.

", + "refs": { + "AwsRdsDbSubnetGroupSubnets$member": null + } + }, + "AwsRdsDbSubnetGroupSubnetAvailabilityZone": { + "base": "

An Availability Zone for a subnet in a subnet group.

", + "refs": { + "AwsRdsDbSubnetGroupSubnet$SubnetAvailabilityZone": "

Information about the Availability Zone for a subnet in the subnet group.

" + } + }, + "AwsRdsDbSubnetGroupSubnets": { + "base": null, + "refs": { + "AwsRdsDbSubnetGroup$Subnets": "

A list of subnets in the subnet group.

" + } + }, + "AwsRdsPendingCloudWatchLogsExports": { + "base": "

Identifies the log types to enable and disable.

", + "refs": { + "AwsRdsDbPendingModifiedValues$PendingCloudWatchLogsExports": "

" + } + }, "AwsS3BucketDetails": { "base": "

The details of an Amazon S3 bucket.

", "refs": { @@ -516,6 +856,18 @@ "ResourceDetails$AwsS3Object": "

Details about an Amazon S3 object related to a finding.

" } }, + "AwsSecretsManagerSecretDetails": { + "base": "

Details about an AWS Secrets Manager secret.

", + "refs": { + "ResourceDetails$AwsSecretsManagerSecret": "

Details about a Secrets Manager secret.

" + } + }, + "AwsSecretsManagerSecretRotationRules": { + "base": "

Defines the rotation schedule for the secret.

", + "refs": { + "AwsSecretsManagerSecretDetails$RotationRules": "

Defines the rotation schedule for the secret.

" + } + }, "AwsSecurityFinding": { "base": "

Provides consistent format for the contents of the Security Hub-aggregated findings. AwsSecurityFinding format enables you to share findings between AWS security services and third-party solutions, and security standards checks.

A finding is a potential security issue generated either by AWS services (Amazon GuardDuty, Amazon Inspector, and Amazon Macie) or by the integrated third-party solutions and standards checks.

", "refs": { @@ -653,6 +1005,9 @@ "AwsCloudFrontDistributionLogging$Enabled": "

With this field, you can enable or disable the selected distribution.

", "AwsCloudFrontDistributionLogging$IncludeCookies": "

Specifies whether you want CloudFront to include cookies in access logs.

", "AwsCodeBuildProjectSource$InsecureSsl": "

Whether to ignore SSL warnings while connecting to the project source code.

", + "AwsDynamoDbTableGlobalSecondaryIndex$Backfilling": "

Whether the index is currently backfilling.

", + "AwsDynamoDbTableRestoreSummary$RestoreInProgress": "

Whether a restore is currently in progress.

", + "AwsDynamoDbTableStreamSpecification$StreamEnabled": "

Indicates whether DynamoDB Streams is enabled on the table.

", "AwsEc2NetworkInterfaceAttachment$DeleteOnTermination": "

Indicates whether the network interface is deleted when the instance is terminated.

", "AwsEc2NetworkInterfaceDetails$SourceDestCheck": "

Indicates whether traffic to or from the instance is validated.

", "AwsEc2VolumeAttachment$DeleteOnTermination": "

Whether the EBS volume is deleted when the EC2 instance is terminated.

", @@ -660,10 +1015,33 @@ "AwsElasticsearchDomainDomainEndpointOptions$EnforceHTTPS": "

Whether to require that all traffic to the domain arrive over HTTPS.

", "AwsElasticsearchDomainEncryptionAtRestOptions$Enabled": "

Whether encryption at rest is enabled.

", "AwsElasticsearchDomainNodeToNodeEncryptionOptions$Enabled": "

Whether node-to-node encryption is enabled.

", + "AwsIamPolicyDetails$IsAttachable": "

Whether the policy can be attached to a user, group, or role.

", + "AwsIamPolicyVersion$IsDefaultVersion": "

Whether the version is the default version.

", + "AwsRdsDbClusterDetails$MultiAz": "

Whether the DB cluster has instances in multiple Availability Zones.

", + "AwsRdsDbClusterDetails$StorageEncrypted": "

Whether the DB cluster is encrypted.

", + "AwsRdsDbClusterDetails$DeletionProtection": "

Whether the DB cluster has deletion protection enabled.

", + "AwsRdsDbClusterDetails$HttpEndpointEnabled": "

Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.

", + "AwsRdsDbClusterDetails$CopyTagsToSnapshot": "

Whether tags are copied from the DB cluster to snapshots of the DB cluster.

", + "AwsRdsDbClusterDetails$CrossAccountClone": "

Whether the DB cluster is a clone of a DB cluster owned by a different AWS account.

", + "AwsRdsDbClusterDetails$IamDatabaseAuthenticationEnabled": "

Whether the mapping of IAM accounts to database accounts is enabled.

", + "AwsRdsDbClusterMember$IsClusterWriter": "

Whether the cluster member is the primary instance for the DB cluster.

", + "AwsRdsDbClusterSnapshotDetails$StorageEncrypted": "

Whether the DB cluster is encrypted.

", + "AwsRdsDbClusterSnapshotDetails$IamDatabaseAuthenticationEnabled": "

Whether mapping of IAM accounts to database accounts is enabled.

", "AwsRdsDbInstanceDetails$DeletionProtection": "

Indicates whether the DB instance has deletion protection enabled.

When deletion protection is enabled, the database cannot be deleted.

", "AwsRdsDbInstanceDetails$IAMDatabaseAuthenticationEnabled": "

True if mapping of AWS Identity and Access Management (IAM) accounts to database accounts is enabled, and otherwise false.

IAM database authentication can be enabled for the following database engines.

", "AwsRdsDbInstanceDetails$PubliclyAccessible": "

Specifies the accessibility options for the DB instance.

A value of true specifies an Internet-facing instance with a publicly resolvable DNS name, which resolves to a public IP address.

A value of false specifies an internal instance with a DNS name that resolves to a private IP address.

", "AwsRdsDbInstanceDetails$StorageEncrypted": "

Specifies whether the DB instance is encrypted.

", + "AwsRdsDbInstanceDetails$MultiAz": "

Whether the DB instance is a multiple Availability Zone deployment.

", + "AwsRdsDbInstanceDetails$AutoMinorVersionUpgrade": "

Indicates whether minor version patches are applied automatically.

", + "AwsRdsDbInstanceDetails$CopyTagsToSnapshot": "

Whether to copy resource tags to snapshots of the DB instance.

", + "AwsRdsDbInstanceDetails$PerformanceInsightsEnabled": "

Indicates whether Performance Insights is enabled for the DB instance.

", + "AwsRdsDbPendingModifiedValues$MultiAZ": "

", + "AwsRdsDbSnapshotDetails$Encrypted": "

", + "AwsRdsDbSnapshotDetails$IamDatabaseAuthenticationEnabled": "

", + "AwsRdsDbStatusInfo$Normal": "

Whether the read replica instance is operating normally.

", + "AwsSecretsManagerSecretDetails$RotationOccurredWithinFrequency": "

Whether the rotation occurred within the specified rotation frequency.

", + "AwsSecretsManagerSecretDetails$RotationEnabled": "

Whether rotation is enabled.

", + "AwsSecretsManagerSecretDetails$Deleted": "

Whether the secret is deleted.

", "DescribeHubResponse$AutoEnableControls": "

Whether to automatically enable new controls when they are added to standards that are enabled.

If set to true, then new controls for enabled standards are enabled automatically. If set to false, then new controls are not enabled.

", "EnableSecurityHubRequest$EnableDefaultStandards": "

Whether to enable the security standards that Security Hub has designated as automatically enabled. If you do not provide a value for EnableDefaultStandards, it is set to true. To not enable the automatically enabled standards, set EnableDefaultStandards to false.

", "ListMembersRequest$OnlyAssociated": "

Specifies which member accounts to include in the response based on their relationship status with the master account. The default value is TRUE.

If OnlyAssociated is set to TRUE, the response includes member accounts whose relationship status with the master is set to ENABLED or DISABLED.

If OnlyAssociated is set to FALSE, the response includes all existing member accounts.

", @@ -933,7 +1311,7 @@ "Double": { "base": null, "refs": { - "AwsKmsKeyDetails$CreationDate": "

The date and time when the CMK was created.

", + "AwsKmsKeyDetails$CreationDate": "

Indicates when the CMK was created.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", "Cvss$BaseScore": "

The base CVSS score.

", "NumberFilter$Gte": "

The greater-than-equal condition to be applied to a single field when querying for findings.

", "NumberFilter$Lte": "

The less-than-equal condition to be applied to a single field when querying for findings.

", @@ -1091,16 +1469,47 @@ "refs": { "AwsAutoScalingAutoScalingGroupDetails$HealthCheckGracePeriod": "

The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before it checks the health status of an EC2 instance that has come into service.

", "AwsCodeBuildProjectSource$GitCloneDepth": "

Information about the Git clone depth for the build project.

", + "AwsDynamoDbTableDetails$ItemCount": "

The number of items in the table.

", + "AwsDynamoDbTableGlobalSecondaryIndex$ItemCount": "

The number of items in the index.

", + "AwsDynamoDbTableProvisionedThroughput$NumberOfDecreasesToday": "

The number of times during the current UTC calendar day that the provisioned throughput was decreased.

", + "AwsDynamoDbTableProvisionedThroughput$ReadCapacityUnits": "

The maximum number of strongly consistent reads consumed per second before DynamoDB returns a ThrottlingException.

", + "AwsDynamoDbTableProvisionedThroughput$WriteCapacityUnits": "

The maximum number of writes consumed per second before DynamoDB returns a ThrottlingException.

", + "AwsDynamoDbTableProvisionedThroughputOverride$ReadCapacityUnits": "

The read capacity units for the replica.

", "AwsEc2NetworkInterfaceAttachment$DeviceIndex": "

The device index of the network interface attachment on the instance.

", "AwsEc2SecurityGroupIpPermission$FromPort": "

The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 type number.

A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all codes.

", "AwsEc2SecurityGroupIpPermission$ToPort": "

The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 code.

A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all codes.

", "AwsEc2VolumeDetails$Size": "

The size of the volume, in GiBs.

", + "AwsIamPolicyDetails$AttachmentCount": "

The number of users, groups, and roles that the policy is attached to.

", + "AwsIamPolicyDetails$PermissionsBoundaryUsageCount": "

The number of users and roles that use the policy to set the permissions boundary.

", "AwsIamRoleDetails$MaxSessionDuration": "

The maximum session duration (in seconds) that you want to set for the specified role.

", "AwsLambdaFunctionDetails$MemorySize": "

The memory that's allocated to the function.

", "AwsLambdaFunctionDetails$Timeout": "

The amount of time that Lambda allows a function to run before stopping it.

", "AwsLambdaFunctionLayer$CodeSize": "

The size of the layer archive in bytes.

", + "AwsRdsDbClusterDetails$AllocatedStorage": "

For all database engines except Aurora, specifies the allocated storage size in gibibytes (GiB).

", + "AwsRdsDbClusterDetails$BackupRetentionPeriod": "

The number of days for which automated backups are retained.

", + "AwsRdsDbClusterDetails$Port": "

The port number on which the DB instances in the DB cluster accept connections.

", + "AwsRdsDbClusterMember$PromotionTier": "

Specifies the order in which an Aurora replica is promoted to the primary instance when the existing primary instance fails.

", + "AwsRdsDbClusterSnapshotDetails$AllocatedStorage": "

Specifies the allocated storage size in gibibytes (GiB).

", + "AwsRdsDbClusterSnapshotDetails$Port": "

The port number on which the DB instances in the DB cluster accept connections.

", + "AwsRdsDbClusterSnapshotDetails$PercentProgress": "

Specifies the percentage of the estimated data that has been transferred.

", "AwsRdsDbInstanceDetails$DbInstancePort": "

Specifies the port that the DB instance listens on. If the DB instance is part of a DB cluster, this can be a different port than the DB cluster port.

", + "AwsRdsDbInstanceDetails$AllocatedStorage": "

The amount of storage (in gigabytes) to initially allocate for the DB instance.

", + "AwsRdsDbInstanceDetails$BackupRetentionPeriod": "

The number of days for which to retain automated backups.

", + "AwsRdsDbInstanceDetails$Iops": "

Specifies the provisioned IOPS (I/O operations per second) for this DB instance.

", + "AwsRdsDbInstanceDetails$MonitoringInterval": "

The interval, in seconds, between points when enhanced monitoring metrics are collected for the DB instance.

", + "AwsRdsDbInstanceDetails$PromotionTier": "

The order in which to promote an Aurora replica to the primary instance after a failure of the existing primary instance.

", + "AwsRdsDbInstanceDetails$PerformanceInsightsRetentionPeriod": "

The number of days to retain Performance Insights data.

", + "AwsRdsDbInstanceDetails$MaxAllocatedStorage": "

The upper limit to which Amazon RDS can automatically scale the storage of the DB instance.

", "AwsRdsDbInstanceEndpoint$Port": "

Specifies the port that the database engine is listening on.

", + "AwsRdsDbPendingModifiedValues$AllocatedStorage": "

", + "AwsRdsDbPendingModifiedValues$Port": "

", + "AwsRdsDbPendingModifiedValues$BackupRetentionPeriod": "

", + "AwsRdsDbPendingModifiedValues$Iops": "

", + "AwsRdsDbSnapshotDetails$AllocatedStorage": "

", + "AwsRdsDbSnapshotDetails$Port": "

", + "AwsRdsDbSnapshotDetails$Iops": "

", + "AwsRdsDbSnapshotDetails$PercentProgress": "

", + "AwsSecretsManagerSecretRotationRules$AutomaticallyAfterDays": "

The number of days after the previous rotation to rotate the secret.

", "AwsSecurityFinding$Confidence": "

A finding's confidence. Confidence is defined as the likelihood that a finding accurately identifies the behavior or issue that it was intended to identify.

Confidence is scored on a 0-100 basis using a ratio scale, where 0 means zero percent confidence and 100 means 100 percent confidence.

", "AwsSecurityFinding$Criticality": "

The level of importance assigned to the resources associated with the finding.

A score of 0 means that the underlying resources have no criticality, and a score of 100 is reserved for the most critical resources.

", "AwsSqsQueueDetails$KmsDataKeyReusePeriodSeconds": "

The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again.

", @@ -1286,7 +1695,7 @@ } }, "MapFilter": { - "base": "

The map filter for querying findings.

", + "base": "

A map filter for querying findings. Each map filter provides the field to check, the value to look for, and the comparison operator.

", "refs": { "MapFilterList$member": null } @@ -1294,7 +1703,7 @@ "MapFilterComparison": { "base": null, "refs": { - "MapFilter$Comparison": "

The condition to apply to a key value when querying for findings with a map filter.

" + "MapFilter$Comparison": "

The condition to apply to the key value when querying for findings with a map filter.

To search for values that exactly match the filter value, use EQUALS. For example, for the ResourceTags field, the filter Department EQUALS Security matches findings that have the value Security for the tag Department.

To search for values other than the filter value, use NOT_EQUALS. For example, for the ResourceTags field, the filter Department NOT_EQUALS Finance matches findings that do not have the value Finance for the tag Department.

EQUALS filters on the same field are joined by OR. A finding matches if it matches any one of those filters.

NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters.

You cannot have both an EQUALS filter and a NOT_EQUALS filter on the same field.

" } }, "MapFilterList": { @@ -1412,10 +1821,10 @@ "AvailabilityZone$SubnetId": "

The ID of the subnet. You can specify one subnet per Availability Zone.

", "AwsAutoScalingAutoScalingGroupDetails$LaunchConfigurationName": "

The name of the launch configuration.

", "AwsAutoScalingAutoScalingGroupDetails$HealthCheckType": "

The service to use for the health checks.

", - "AwsAutoScalingAutoScalingGroupDetails$CreatedTime": "

The datetime when the auto scaling group was created.

", + "AwsAutoScalingAutoScalingGroupDetails$CreatedTime": "

Indicates when the auto scaling group was created.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", "AwsCloudFrontDistributionDetails$DomainName": "

The domain name corresponding to the distribution.

", "AwsCloudFrontDistributionDetails$ETag": "

The entity tag is a hash of the object.

", - "AwsCloudFrontDistributionDetails$LastModifiedTime": "

The date and time that the distribution was last modified.

", + "AwsCloudFrontDistributionDetails$LastModifiedTime": "

Indicates when that the distribution was last modified.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", "AwsCloudFrontDistributionDetails$Status": "

Indicates the current status of the distribution.

", "AwsCloudFrontDistributionDetails$WebAclId": "

A unique identifier that specifies the AWS WAF web ACL, if any, to associate with this distribution.

", "AwsCloudFrontDistributionLogging$Bucket": "

The Amazon S3 bucket to store the access logs in.

", @@ -1434,14 +1843,58 @@ "AwsCodeBuildProjectSource$Type": "

The type of repository that contains the source code to be built. Valid values are:

", "AwsCodeBuildProjectSource$Location": "

Information about the location of the source code to be built.

Valid values include:

", "AwsCodeBuildProjectVpcConfig$VpcId": "

The ID of the VPC.

", + "AwsDynamoDbTableAttributeDefinition$AttributeName": "

The name of the attribute.

", + "AwsDynamoDbTableAttributeDefinition$AttributeType": "

The type of the attribute.

", + "AwsDynamoDbTableBillingModeSummary$BillingMode": "

The method used to charge for read and write throughput and to manage capacity.

", + "AwsDynamoDbTableBillingModeSummary$LastUpdateToPayPerRequestDateTime": "

If the billing mode is PAY_PER_REQUEST, indicates when the billing mode was set to that value.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "AwsDynamoDbTableDetails$CreationDateTime": "

Indicates when the table was created.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "AwsDynamoDbTableDetails$GlobalTableVersion": "

The version of global tables being used.

", + "AwsDynamoDbTableDetails$LatestStreamArn": "

The ARN of the latest stream for the table.

", + "AwsDynamoDbTableDetails$LatestStreamLabel": "

The label of the latest stream. The label is not a unique identifier.

", + "AwsDynamoDbTableDetails$TableId": "

The identifier of the table.

", + "AwsDynamoDbTableDetails$TableName": "

The name of the table.

", + "AwsDynamoDbTableDetails$TableStatus": "

The current status of the table.

", + "AwsDynamoDbTableGlobalSecondaryIndex$IndexArn": "

The ARN of the index.

", + "AwsDynamoDbTableGlobalSecondaryIndex$IndexName": "

The name of the index.

", + "AwsDynamoDbTableGlobalSecondaryIndex$IndexStatus": "

The current status of the index.

", + "AwsDynamoDbTableKeySchema$AttributeName": "

The name of the key schema attribute.

", + "AwsDynamoDbTableKeySchema$KeyType": "

The type of key used for the key schema attribute.

", + "AwsDynamoDbTableLocalSecondaryIndex$IndexArn": "

The ARN of the index.

", + "AwsDynamoDbTableLocalSecondaryIndex$IndexName": "

The name of the index.

", + "AwsDynamoDbTableProjection$ProjectionType": "

The types of attributes that are projected into the index.

", + "AwsDynamoDbTableProvisionedThroughput$LastDecreaseDateTime": "

Indicates when the provisioned throughput was last decreased.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "AwsDynamoDbTableProvisionedThroughput$LastIncreaseDateTime": "

Indicates when the provisioned throughput was last increased.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "AwsDynamoDbTableReplica$KmsMasterKeyId": "

The identifier of the AWS KMS customer master key (CMK) that will be used for AWS KMS encryption for the replica.

", + "AwsDynamoDbTableReplica$RegionName": "

The name of the Region where the replica is located.

", + "AwsDynamoDbTableReplica$ReplicaStatus": "

The current status of the replica.

", + "AwsDynamoDbTableReplica$ReplicaStatusDescription": "

Detailed information about the replica status.

", + "AwsDynamoDbTableReplicaGlobalSecondaryIndex$IndexName": "

The name of the index.

", + "AwsDynamoDbTableRestoreSummary$SourceBackupArn": "

The ARN of the source backup from which the table was restored.

", + "AwsDynamoDbTableRestoreSummary$SourceTableArn": "

The ARN of the source table for the backup.

", + "AwsDynamoDbTableRestoreSummary$RestoreDateTime": "

Indicates the point in time that the table was restored to.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "AwsDynamoDbTableSseDescription$InaccessibleEncryptionDateTime": "

If the key is inaccessible, the date and time when DynamoDB detected that the key was inaccessible.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "AwsDynamoDbTableSseDescription$Status": "

The status of the server-side encryption.

", + "AwsDynamoDbTableSseDescription$SseType": "

The type of server-side encryption.

", + "AwsDynamoDbTableSseDescription$KmsMasterKeyArn": "

The ARN of the AWS KMS customer master key (CMK) that is used for the AWS KMS encryption.

", + "AwsDynamoDbTableStreamSpecification$StreamViewType": "

Determines the information that is written to the table.

", + "AwsEc2EipDetails$InstanceId": "

The identifier of the EC2 instance.

", + "AwsEc2EipDetails$PublicIp": "

A public IP address that is associated with the EC2 instance.

", + "AwsEc2EipDetails$AllocationId": "

The identifier that AWS assigns to represent the allocation of the Elastic IP address for use with Amazon VPC.

", + "AwsEc2EipDetails$AssociationId": "

The identifier that represents the association of the Elastic IP address with an EC2 instance.

", + "AwsEc2EipDetails$Domain": "

The domain in which to allocate the address.

If the address is for use with EC2 instances in a VPC, then Domain is vpc. Otherwise, Domain is standard.

", + "AwsEc2EipDetails$PublicIpv4Pool": "

The identifier of an IP address pool. This parameter allows Amazon EC2 to select an IP address from the address pool.

", + "AwsEc2EipDetails$NetworkBorderGroup": "

The name of the location from which the Elastic IP address is advertised.

", + "AwsEc2EipDetails$NetworkInterfaceId": "

The identifier of the network interface.

", + "AwsEc2EipDetails$NetworkInterfaceOwnerId": "

The AWS account ID of the owner of the network interface.

", + "AwsEc2EipDetails$PrivateIpAddress": "

The private IP address that is associated with the Elastic IP address.

", "AwsEc2InstanceDetails$Type": "

The instance type of the instance.

", "AwsEc2InstanceDetails$ImageId": "

The Amazon Machine Image (AMI) ID of the instance.

", "AwsEc2InstanceDetails$KeyName": "

The key name associated with the instance.

", "AwsEc2InstanceDetails$IamInstanceProfileArn": "

The IAM profile ARN of the instance.

", "AwsEc2InstanceDetails$VpcId": "

The identifier of the VPC that the instance was launched in.

", "AwsEc2InstanceDetails$SubnetId": "

The identifier of the subnet that the instance was launched in.

", - "AwsEc2InstanceDetails$LaunchedAt": "

The date/time the instance was launched.

", - "AwsEc2NetworkInterfaceAttachment$AttachTime": "

The timestamp indicating when the attachment initiated.

", + "AwsEc2InstanceDetails$LaunchedAt": "

Indicates when the instance was launched.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "AwsEc2NetworkInterfaceAttachment$AttachTime": "

Indicates when the attachment initiated.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", "AwsEc2NetworkInterfaceAttachment$AttachmentId": "

The identifier of the network interface attachment

", "AwsEc2NetworkInterfaceAttachment$InstanceId": "

The ID of the instance.

", "AwsEc2NetworkInterfaceAttachment$InstanceOwnerId": "

The AWS account ID of the owner of the instance.

", @@ -1466,7 +1919,7 @@ "AwsEc2VolumeAttachment$AttachTime": "

The datetime when the attachment initiated.

", "AwsEc2VolumeAttachment$InstanceId": "

The identifier of the EC2 instance.

", "AwsEc2VolumeAttachment$Status": "

The attachment state of the volume.

", - "AwsEc2VolumeDetails$CreateTime": "

The datetime when the volume was created.

", + "AwsEc2VolumeDetails$CreateTime": "

Indicates when the volume was created.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", "AwsEc2VolumeDetails$SnapshotId": "

The snapshot from which the volume was created.

", "AwsEc2VolumeDetails$Status": "

The volume state.

", "AwsEc2VolumeDetails$KmsKeyId": "

The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) that was used to protect the volume encryption key for the volume.

", @@ -1481,26 +1934,45 @@ "AwsElasticsearchDomainEncryptionAtRestOptions$KmsKeyId": "

The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a.

", "AwsElasticsearchDomainVPCOptions$VPCId": "

ID for the VPC.

", "AwsElbv2LoadBalancerDetails$CanonicalHostedZoneId": "

The ID of the Amazon Route 53 hosted zone associated with the load balancer.

", - "AwsElbv2LoadBalancerDetails$CreatedTime": "

The date and time the load balancer was created.

", + "AwsElbv2LoadBalancerDetails$CreatedTime": "

Indicates when the load balancer was created.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", "AwsElbv2LoadBalancerDetails$DNSName": "

The public DNS name of the load balancer.

", "AwsElbv2LoadBalancerDetails$IpAddressType": "

The type of IP addresses used by the subnets for your load balancer. The possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and IPv6 addresses).

", "AwsElbv2LoadBalancerDetails$Scheme": "

The nodes of an Internet-facing load balancer have public IP addresses.

", "AwsElbv2LoadBalancerDetails$Type": "

The type of load balancer.

", "AwsElbv2LoadBalancerDetails$VpcId": "

The ID of the VPC for the load balancer.

", "AwsIamAccessKeyDetails$UserName": "

The user associated with the IAM access key related to a finding.

The UserName parameter has been replaced with the PrincipalName parameter because access keys can also be assigned to principals that are not IAM users.

", - "AwsIamAccessKeyDetails$CreatedAt": "

The creation date/time of the IAM access key related to a finding.

", + "AwsIamAccessKeyDetails$CreatedAt": "

Indicates when the IAM access key was created.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", "AwsIamAccessKeyDetails$PrincipalId": "

The ID of the principal associated with an access key.

", "AwsIamAccessKeyDetails$PrincipalType": "

The type of principal associated with an access key.

", "AwsIamAccessKeyDetails$PrincipalName": "

The name of the principal.

", - "AwsIamRoleDetails$CreateDate": "

The date and time, in ISO 8601 date-time format, when the role was created.

", + "AwsIamAttachedManagedPolicy$PolicyName": "

The name of the policy.

", + "AwsIamAttachedManagedPolicy$PolicyArn": "

The ARN of the policy.

", + "AwsIamPermissionsBoundary$PermissionsBoundaryArn": "

The ARN of the policy used to set the permissions boundary for the user.

", + "AwsIamPermissionsBoundary$PermissionsBoundaryType": "

The usage type for the permissions boundary.

", + "AwsIamPolicyDetails$CreateDate": "

When the policy was created.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "AwsIamPolicyDetails$DefaultVersionId": "

The identifier of the default version of the policy.

", + "AwsIamPolicyDetails$Description": "

A description of the policy.

", + "AwsIamPolicyDetails$Path": "

The path to the policy.

", + "AwsIamPolicyDetails$PolicyId": "

The unique identifier of the policy.

", + "AwsIamPolicyDetails$PolicyName": "

The name of the policy.

", + "AwsIamPolicyDetails$UpdateDate": "

When the policy was most recently updated.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "AwsIamPolicyVersion$VersionId": "

The identifier of the policy version.

", + "AwsIamPolicyVersion$CreateDate": "

Indicates when the version was created.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "AwsIamRoleDetails$CreateDate": "

Indicates when the role was created.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", "AwsIamRoleDetails$RoleId": "

The stable and unique string identifying the role.

", "AwsIamRoleDetails$RoleName": "

The friendly name that identifies the role.

", "AwsIamRoleDetails$Path": "

The path to the role.

", + "AwsIamUserDetails$CreateDate": "

Indicates when the user was created.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "AwsIamUserDetails$Path": "

The path to the user.

", + "AwsIamUserDetails$UserId": "

The unique identifier for the user.

", + "AwsIamUserDetails$UserName": "

The name of the user.

", + "AwsIamUserPolicy$PolicyName": "

The name of the policy.

", "AwsKmsKeyDetails$AWSAccountId": "

The twelve-digit account ID of the AWS account that owns the CMK.

", "AwsKmsKeyDetails$KeyId": "

The globally unique identifier for the CMK.

", "AwsKmsKeyDetails$KeyManager": "

The manager of the CMK. CMKs in your AWS account are either customer managed or AWS managed.

", "AwsKmsKeyDetails$KeyState": "

The state of the CMK.

", "AwsKmsKeyDetails$Origin": "

The source of the CMK's key material.

When this value is AWS_KMS, AWS KMS created the key material.

When this value is EXTERNAL, the key material was imported from your existing key management infrastructure or the CMK lacks key material.

When this value is AWS_CLOUDHSM, the key material was created in the AWS CloudHSM cluster associated with a custom key store.

", + "AwsKmsKeyDetails$Description": "

A description of the key.

", "AwsLambdaFunctionCode$S3Bucket": "

An Amazon S3 bucket in the same AWS Region as your function. The bucket can be in a different AWS account.

", "AwsLambdaFunctionCode$S3Key": "

The Amazon S3 key of the deployment package.

", "AwsLambdaFunctionCode$S3ObjectVersion": "

For versioned objects, the version of the deployment package object to use.

", @@ -1510,7 +1982,7 @@ "AwsLambdaFunctionDetails$FunctionName": "

The name of the function.

", "AwsLambdaFunctionDetails$Handler": "

The function that Lambda calls to begin executing your function.

", "AwsLambdaFunctionDetails$KmsKeyArn": "

The KMS key that's used to encrypt the function's environment variables. This key is only returned if you've configured a customer managed CMK.

", - "AwsLambdaFunctionDetails$LastModified": "

The date and time that the function was last updated, in ISO-8601 format (YYYY-MM-DDThh:mm:ss.sTZD).

", + "AwsLambdaFunctionDetails$LastModified": "

Indicates when the function was last updated.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", "AwsLambdaFunctionDetails$MasterArn": "

For Lambda@Edge functions, the ARN of the master function.

", "AwsLambdaFunctionDetails$RevisionId": "

The latest updated revision of the function or alias.

", "AwsLambdaFunctionDetails$Role": "

The function's execution role.

", @@ -1521,7 +1993,47 @@ "AwsLambdaFunctionLayer$Arn": "

The Amazon Resource Name (ARN) of the function layer.

", "AwsLambdaFunctionTracingConfig$Mode": "

The tracing mode.

", "AwsLambdaFunctionVpcConfig$VpcId": "

The ID of the VPC.

", - "AwsLambdaLayerVersionDetails$CreatedDate": "

The date that the version was created, in ISO 8601 format. For example, 2018-11-27T15:10:45.123+0000.

", + "AwsLambdaLayerVersionDetails$CreatedDate": "

Indicates when the version was created.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "AwsRdsDbClusterAssociatedRole$RoleArn": "

The ARN of the IAM role.

", + "AwsRdsDbClusterAssociatedRole$Status": "

The status of the association between the IAM role and the DB cluster.

", + "AwsRdsDbClusterDetails$DatabaseName": "

The name of the database.

", + "AwsRdsDbClusterDetails$Status": "

The current status of this DB cluster.

", + "AwsRdsDbClusterDetails$Endpoint": "

The connection endpoint for the primary instance of the DB cluster.

", + "AwsRdsDbClusterDetails$ReaderEndpoint": "

The reader endpoint for the DB cluster.

", + "AwsRdsDbClusterDetails$Engine": "

The name of the database engine to use for this DB cluster.

", + "AwsRdsDbClusterDetails$EngineVersion": "

The version number of the database engine to use.

", + "AwsRdsDbClusterDetails$MasterUsername": "

The name of the master user for the DB cluster.

", + "AwsRdsDbClusterDetails$PreferredBackupWindow": "

The range of time each day when automated backups are created, if automated backups are enabled.

Uses the format HH:MM-HH:MM. For example, 04:52-05:22.

", + "AwsRdsDbClusterDetails$PreferredMaintenanceWindow": "

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Uses the format <day>:HH:MM-<day>:HH:MM.

For the day values, use mon|tue|wed|thu|fri|sat|sun.

For example, sun:09:32-sun:10:02.

", + "AwsRdsDbClusterDetails$HostedZoneId": "

Specifies the identifier that Amazon Route 53 assigns when you create a hosted zone.

", + "AwsRdsDbClusterDetails$KmsKeyId": "

The ARN of the AWS KMS master key that is used to encrypt the database instances in the DB cluster.

", + "AwsRdsDbClusterDetails$DbClusterResourceId": "

The identifier of the DB cluster. The identifier must be unique within each AWS Region and is immutable.

", + "AwsRdsDbClusterDetails$ClusterCreateTime": "

Indicates when the DB cluster was created, in Universal Coordinated Time (UTC).

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "AwsRdsDbClusterDetails$EngineMode": "

The database engine mode of the DB cluster.

", + "AwsRdsDbClusterDetails$ActivityStreamStatus": "

The status of the database activity stream.

", + "AwsRdsDbClusterDetails$DbClusterParameterGroup": "

The name of the DB cluster parameter group for the DB cluster.

", + "AwsRdsDbClusterDetails$DbSubnetGroup": "

The subnet group that is associated with the DB cluster, including the name, description, and subnets in the subnet group.

", + "AwsRdsDbClusterDetails$DbClusterIdentifier": "

The DB cluster identifier that the user assigned to the cluster. This identifier is the unique key that identifies a DB cluster.

", + "AwsRdsDbClusterMember$DbInstanceIdentifier": "

The instance identifier for this member of the DB cluster.

", + "AwsRdsDbClusterMember$DbClusterParameterGroupStatus": "

The status of the DB cluster parameter group for this member of the DB cluster.

", + "AwsRdsDbClusterOptionGroupMembership$DbClusterOptionGroupName": "

The name of the DB cluster option group.

", + "AwsRdsDbClusterOptionGroupMembership$Status": "

The status of the DB cluster option group.

", + "AwsRdsDbClusterSnapshotDetails$SnapshotCreateTime": "

Indicates when the snapshot was taken.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "AwsRdsDbClusterSnapshotDetails$Engine": "

", + "AwsRdsDbClusterSnapshotDetails$Status": "

The status of this DB cluster snapshot.

", + "AwsRdsDbClusterSnapshotDetails$VpcId": "

The VPC ID that is associated with the DB cluster snapshot.

", + "AwsRdsDbClusterSnapshotDetails$ClusterCreateTime": "

Indicates when the DB cluster was created, in Universal Coordinated Time (UTC).

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "AwsRdsDbClusterSnapshotDetails$MasterUsername": "

The name of the master user for the DB cluster.

", + "AwsRdsDbClusterSnapshotDetails$EngineVersion": "

The version of the database engine to use.

", + "AwsRdsDbClusterSnapshotDetails$LicenseModel": "

The license model information for this DB cluster snapshot.

", + "AwsRdsDbClusterSnapshotDetails$SnapshotType": "

The type of DB cluster snapshot.

", + "AwsRdsDbClusterSnapshotDetails$KmsKeyId": "

The ARN of the AWS KMS master key that is used to encrypt the database instances in the DB cluster.

", + "AwsRdsDbClusterSnapshotDetails$DbClusterIdentifier": "

The DB cluster identifier.

", + "AwsRdsDbClusterSnapshotDetails$DbClusterSnapshotIdentifier": "

The identifier of the DB cluster snapshot.

", + "AwsRdsDbDomainMembership$Domain": "

The identifier of the Active Directory domain.

", + "AwsRdsDbDomainMembership$Status": "

The status of the Active Directory Domain membership for the DB instance.

", + "AwsRdsDbDomainMembership$Fqdn": "

The fully qualified domain name of the Active Directory domain.

", + "AwsRdsDbDomainMembership$IamRoleName": "

The name of the IAM role to use when making API calls to the Directory Service.

", "AwsRdsDbInstanceAssociatedRole$RoleArn": "

The Amazon Resource Name (ARN) of the IAM role that is associated with the DB instance.

", "AwsRdsDbInstanceAssociatedRole$FeatureName": "

The name of the feature associated with the IAM)role.

", "AwsRdsDbInstanceAssociatedRole$Status": "

Describes the state of the association between the IAM role and the DB instance. The Status property returns one of the following values:

", @@ -1533,33 +2045,97 @@ "AwsRdsDbInstanceDetails$DBName": "

The meaning of this parameter differs according to the database engine you use.

MySQL, MariaDB, SQL Server, PostgreSQL

Contains the name of the initial database of this instance that was provided at create time, if one was specified when the DB instance was created. This same name is returned for the life of the DB instance.

Oracle

Contains the Oracle System ID (SID) of the created DB instance. Not shown when the returned parameters do not apply to an Oracle DB instance.

", "AwsRdsDbInstanceDetails$Engine": "

Provides the name of the database engine to use for this DB instance.

", "AwsRdsDbInstanceDetails$EngineVersion": "

Indicates the database engine version.

", - "AwsRdsDbInstanceDetails$InstanceCreateTime": "

Provides the date and time the DB instance was created.

", + "AwsRdsDbInstanceDetails$InstanceCreateTime": "

Indicates when the DB instance was created.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", "AwsRdsDbInstanceDetails$KmsKeyId": "

If StorageEncrypted is true, the AWS KMS key identifier for the encrypted DB instance.

", "AwsRdsDbInstanceDetails$TdeCredentialArn": "

The ARN from the key store with which the instance is associated for TDE encryption.

", + "AwsRdsDbInstanceDetails$EnhancedMonitoringResourceArn": "

The ARN of the CloudWatch Logs log stream that receives the enhanced monitoring metrics data for the DB instance.

", + "AwsRdsDbInstanceDetails$DbInstanceStatus": "

The current status of the DB instance.

", + "AwsRdsDbInstanceDetails$MasterUsername": "

The master user name of the DB instance.

", + "AwsRdsDbInstanceDetails$PreferredBackupWindow": "

The range of time each day when automated backups are created, if automated backups are enabled.

Uses the format HH:MM-HH:MM. For example, 04:52-05:22.

", + "AwsRdsDbInstanceDetails$AvailabilityZone": "

The Availability Zone where the DB instance will be created.

", + "AwsRdsDbInstanceDetails$PreferredMaintenanceWindow": "

The weekly time range during which system maintenance can occur, in Universal Coordinated Time (UTC).

Uses the format <day>:HH:MM-<day>:HH:MM.

For the day values, use mon|tue|wed|thu|fri|sat|sun.

For example, sun:09:32-sun:10:02.

", + "AwsRdsDbInstanceDetails$LatestRestorableTime": "

Specifies the latest time to which a database can be restored with point-in-time restore.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "AwsRdsDbInstanceDetails$ReadReplicaSourceDBInstanceIdentifier": "

If this DB instance is a read replica, contains the identifier of the source DB instance.

", + "AwsRdsDbInstanceDetails$LicenseModel": "

License model information for this DB instance.

", + "AwsRdsDbInstanceDetails$CharacterSetName": "

The name of the character set that this DB instance is associated with.

", + "AwsRdsDbInstanceDetails$SecondaryAvailabilityZone": "

For a DB instance with multi-Availability Zone support, the name of the secondary Availability Zone.

", + "AwsRdsDbInstanceDetails$StorageType": "

The storage type for the DB instance.

", + "AwsRdsDbInstanceDetails$MonitoringRoleArn": "

The ARN for the IAM role that permits Amazon RDS to send enhanced monitoring metrics to CloudWatch Logs.

", + "AwsRdsDbInstanceDetails$Timezone": "

The time zone of the DB instance.

", + "AwsRdsDbInstanceDetails$PerformanceInsightsKmsKeyId": "

The identifier of the AWS KMS key used to encrypt the Performance Insights data.

", "AwsRdsDbInstanceEndpoint$Address": "

Specifies the DNS address of the DB instance.

", "AwsRdsDbInstanceEndpoint$HostedZoneId": "

Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.

", "AwsRdsDbInstanceVpcSecurityGroup$VpcSecurityGroupId": "

The name of the VPC security group.

", "AwsRdsDbInstanceVpcSecurityGroup$Status": "

The status of the VPC security group.

", + "AwsRdsDbOptionGroupMembership$OptionGroupName": "

", + "AwsRdsDbOptionGroupMembership$Status": "

", + "AwsRdsDbParameterGroup$DbParameterGroupName": "

", + "AwsRdsDbParameterGroup$ParameterApplyStatus": "

", + "AwsRdsDbPendingModifiedValues$DbInstanceClass": "

", + "AwsRdsDbPendingModifiedValues$MasterUserPassword": "

", + "AwsRdsDbPendingModifiedValues$EngineVersion": "

", + "AwsRdsDbPendingModifiedValues$LicenseModel": "

", + "AwsRdsDbPendingModifiedValues$DbInstanceIdentifier": "

", + "AwsRdsDbPendingModifiedValues$StorageType": "

", + "AwsRdsDbPendingModifiedValues$CaCertificateIdentifier": "

", + "AwsRdsDbPendingModifiedValues$DbSubnetGroupName": "

", + "AwsRdsDbProcessorFeature$Name": "

", + "AwsRdsDbProcessorFeature$Value": "

", + "AwsRdsDbSnapshotDetails$DbSnapshotIdentifier": "

", + "AwsRdsDbSnapshotDetails$DbInstanceIdentifier": "

", + "AwsRdsDbSnapshotDetails$SnapshotCreateTime": "

", + "AwsRdsDbSnapshotDetails$Engine": "

", + "AwsRdsDbSnapshotDetails$Status": "

", + "AwsRdsDbSnapshotDetails$AvailabilityZone": "

", + "AwsRdsDbSnapshotDetails$VpcId": "

", + "AwsRdsDbSnapshotDetails$InstanceCreateTime": "

", + "AwsRdsDbSnapshotDetails$MasterUsername": "

", + "AwsRdsDbSnapshotDetails$EngineVersion": "

", + "AwsRdsDbSnapshotDetails$LicenseModel": "

", + "AwsRdsDbSnapshotDetails$SnapshotType": "

", + "AwsRdsDbSnapshotDetails$OptionGroupName": "

", + "AwsRdsDbSnapshotDetails$SourceRegion": "

", + "AwsRdsDbSnapshotDetails$SourceDbSnapshotIdentifier": "

", + "AwsRdsDbSnapshotDetails$StorageType": "

", + "AwsRdsDbSnapshotDetails$TdeCredentialArn": "

", + "AwsRdsDbSnapshotDetails$KmsKeyId": "

", + "AwsRdsDbSnapshotDetails$Timezone": "

", + "AwsRdsDbSnapshotDetails$DbiResourceId": "

", + "AwsRdsDbStatusInfo$StatusType": "

The type of status. For a read replica, the status type is read replication.

", + "AwsRdsDbStatusInfo$Status": "

The status of the read replica instance.

", + "AwsRdsDbStatusInfo$Message": "

If the read replica is currently in an error state, provides the error details.

", + "AwsRdsDbSubnetGroup$DbSubnetGroupName": "

The name of the subnet group.

", + "AwsRdsDbSubnetGroup$DbSubnetGroupDescription": "

The description of the subnet group.

", + "AwsRdsDbSubnetGroup$VpcId": "

The VPC ID of the subnet group.

", + "AwsRdsDbSubnetGroup$SubnetGroupStatus": "

The status of the subnet group.

", + "AwsRdsDbSubnetGroup$DbSubnetGroupArn": "

The ARN of the subnet group.

", + "AwsRdsDbSubnetGroupSubnet$SubnetIdentifier": "

The identifier of a subnet in the subnet group.

", + "AwsRdsDbSubnetGroupSubnet$SubnetStatus": "

The status of a subnet in the subnet group.

", + "AwsRdsDbSubnetGroupSubnetAvailabilityZone$Name": "

The name of the Availability Zone for a subnet in the subnet group.

", "AwsS3BucketDetails$OwnerId": "

The canonical user ID of the owner of the S3 bucket.

", "AwsS3BucketDetails$OwnerName": "

The display name of the owner of the S3 bucket.

", - "AwsS3BucketDetails$CreatedAt": "

The date and time when the S3 bucket was created.

", + "AwsS3BucketDetails$CreatedAt": "

Indicates when the S3 bucket was created.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", "AwsS3BucketServerSideEncryptionByDefault$SSEAlgorithm": "

Server-side encryption algorithm to use for the default encryption.

", "AwsS3BucketServerSideEncryptionByDefault$KMSMasterKeyID": "

AWS KMS customer master key (CMK) ID to use for the default encryption.

", - "AwsS3ObjectDetails$LastModified": "

The date and time when the object was last modified.

", + "AwsS3ObjectDetails$LastModified": "

Indicates when the object was last modified.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", "AwsS3ObjectDetails$ETag": "

The opaque identifier assigned by a web server to a specific version of a resource found at a URL.

", "AwsS3ObjectDetails$VersionId": "

The version of the object.

", "AwsS3ObjectDetails$ContentType": "

A standard MIME type describing the format of the object data.

", "AwsS3ObjectDetails$ServerSideEncryption": "

If the object is stored using server-side encryption, the value of the server-side encryption algorithm used when storing this object in Amazon S3.

", "AwsS3ObjectDetails$SSEKMSKeyId": "

The identifier of the AWS Key Management Service (AWS KMS) symmetric customer managed customer master key (CMK) that was used for the object.

", + "AwsSecretsManagerSecretDetails$KmsKeyId": "

The ARN, Key ID, or alias of the AWS KMS customer master key (CMK) used to encrypt the SecretString or SecretBinary values for versions of this secret.

", + "AwsSecretsManagerSecretDetails$RotationLambdaArn": "

The ARN of the Lambda function that rotates the secret.

", + "AwsSecretsManagerSecretDetails$Name": "

The name of the secret.

", + "AwsSecretsManagerSecretDetails$Description": "

The user-provided description of the secret.

", "AwsSecurityFinding$SchemaVersion": "

The schema version that a finding is formatted for.

", "AwsSecurityFinding$Id": "

The security findings provider-specific identifier for a finding.

", "AwsSecurityFinding$ProductArn": "

The ARN generated by Security Hub that uniquely identifies a product that generates findings. This can be the ARN for a third-party product that is integrated with Security Hub, or the ARN for a custom integration.

", "AwsSecurityFinding$GeneratorId": "

The identifier for the solution-specific component (a discrete unit of logic) that generated a finding. In various security-findings providers' solutions, this generator can be called a rule, a check, a detector, a plugin, etc.

", "AwsSecurityFinding$AwsAccountId": "

The AWS account ID that a finding is generated in.

", - "AwsSecurityFinding$FirstObservedAt": "

An ISO8601-formatted timestamp that indicates when the security-findings provider first observed the potential security issue that a finding captured.

", - "AwsSecurityFinding$LastObservedAt": "

An ISO8601-formatted timestamp that indicates when the security-findings provider most recently observed the potential security issue that a finding captured.

", - "AwsSecurityFinding$CreatedAt": "

An ISO8601-formatted timestamp that indicates when the security-findings provider created the potential security issue that a finding captured.

", - "AwsSecurityFinding$UpdatedAt": "

An ISO8601-formatted timestamp that indicates when the security-findings provider last updated the finding record.

", + "AwsSecurityFinding$FirstObservedAt": "

Indicates when the security-findings provider first observed the potential security issue that a finding captured.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "AwsSecurityFinding$LastObservedAt": "

Indicates when the security-findings provider most recently observed the potential security issue that a finding captured.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "AwsSecurityFinding$CreatedAt": "

Indicates when the security-findings provider created the potential security issue that a finding captured.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "AwsSecurityFinding$UpdatedAt": "

Indicates when the security-findings provider last updated the finding record.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", "AwsSecurityFinding$Title": "

A finding's title.

In this release, Title is a required property.

", "AwsSecurityFinding$Description": "

A finding's description.

In this release, Description is a required property.

", "AwsSecurityFinding$SourceUrl": "

A URL that links to a page about the current finding in the security-findings provider's solution.

", @@ -1587,7 +2163,7 @@ "ContainerDetails$Name": "

The name of the container related to a finding.

", "ContainerDetails$ImageId": "

The identifier of the image related to a finding.

", "ContainerDetails$ImageName": "

The name of the image related to a finding.

", - "ContainerDetails$LaunchedAt": "

The date and time when the container started.

", + "ContainerDetails$LaunchedAt": "

Indicates when the container started.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", "CreateActionTargetRequest$Name": "

The name of the custom action target.

", "CreateActionTargetRequest$Description": "

The description for the custom action target.

", "CreateActionTargetRequest$Id": "

The ID for the custom action target.

", @@ -1643,8 +2219,8 @@ "LoadBalancerState$Reason": "

A description of the state.

", "Malware$Name": "

The name of the malware that was observed.

", "Malware$Path": "

The file system path of the malware that was observed.

", - "MapFilter$Key": "

The key of the map filter.

", - "MapFilter$Value": "

The value for the key in the map filter.

", + "MapFilter$Key": "

The key of the map filter. For example, for ResourceTags, Key identifies the name of the tag. For UserDefinedFields, Key is the name of the field.

", + "MapFilter$Value": "

The value for the key in the map filter. Filter values are case sensitive. For example, one of the values for a tag called Department might be Security. If you provide security as the filter value, then there is no match.

", "Member$Email": "

The email address of the member account.

", "Member$MasterId": "

The AWS account ID of the Security Hub master account associated with this member account.

", "Member$MemberStatus": "

The status of the relationship between the member account and its master account.

", @@ -1662,13 +2238,13 @@ "NonEmptyStringList$member": null, "Note$Text": "

The text of a note.

", "Note$UpdatedBy": "

The principal that created a note.

", - "Note$UpdatedAt": "

The timestamp of when the note was updated.

", + "Note$UpdatedAt": "

The timestamp of when the note was updated.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", "NoteUpdate$Text": "

The updated note text.

", "NoteUpdate$UpdatedBy": "

The principal that updated the note.

", "ProcessDetails$Name": "

The name of the process.

", "ProcessDetails$Path": "

The path to the process executable.

", - "ProcessDetails$LaunchedAt": "

The date/time that the process was launched.

", - "ProcessDetails$TerminatedAt": "

The date and time when the process was terminated.

", + "ProcessDetails$LaunchedAt": "

Indicates when the process was launched.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "ProcessDetails$TerminatedAt": "

Indicates when the process was terminated.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", "Product$ProductArn": "

The ARN assigned to the product.

", "Product$ProductName": "

The name of the product.

", "Product$CompanyName": "

The name of the company that provides the product.

", @@ -1715,10 +2291,10 @@ "StandardsSubscriptionRequest$StandardsArn": "

The ARN of the standard that you want to enable. To view the list of available standards and their ARNs, use the DescribeStandards operation.

", "StatusReason$ReasonCode": "

A code that represents a reason for the control status. For the list of status reason codes and their meanings, see Standards-related information in the ASFF in the AWS Security Hub User Guide.

", "StatusReason$Description": "

The corresponding description for the status reason code.

", - "StringFilter$Value": "

The string filter value.

", + "StringFilter$Value": "

The string filter value. Filter values are case sensitive. For example, the product name for control-based findings is Security Hub. If you provide security hub as the filter text, then there is no match.

", "StringList$member": null, "ThreatIntelIndicator$Value": "

The value of a threat intelligence indicator.

", - "ThreatIntelIndicator$LastObservedAt": "

The date and time when the most recent instance of a threat intelligence indicator was observed.

", + "ThreatIntelIndicator$LastObservedAt": "

Indicates when the most recent instance of a threat intelligence indicator was observed.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", "ThreatIntelIndicator$Source": "

The source of the threat intelligence indicator.

", "ThreatIntelIndicator$SourceUrl": "

The URL to the page or site where you can get more information about the threat intelligence indicator.

", "TypeList$member": null, @@ -1734,8 +2310,8 @@ "VulnerabilityVendor$Name": "

The name of the vendor.

", "VulnerabilityVendor$Url": "

The URL of the vulnerability advisory.

", "VulnerabilityVendor$VendorSeverity": "

The severity that the vendor assigned to the vulnerability.

", - "VulnerabilityVendor$VendorCreatedAt": "

The datetime when the vulnerability advisory was created.

", - "VulnerabilityVendor$VendorUpdatedAt": "

The datetime when the vulnerability advisory was last updated.

", + "VulnerabilityVendor$VendorCreatedAt": "

Indicates when the vulnerability advisory was created.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", + "VulnerabilityVendor$VendorUpdatedAt": "

Indicates when the vulnerability advisory was last updated.

Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time Format. The value cannot contain spaces. For example, 2020-03-22T13:22:13.933Z.

", "WafAction$Type": "

Specifies how you want AWS WAF to respond to requests that match the settings in a rule.

Valid settings include the following:

", "WafExcludedRule$RuleId": "

The unique identifier for the rule to exclude from the rule group.

", "WafOverrideAction$Type": "

COUNT overrides the action specified by the individual rule within a RuleGroup .

If set to NONE, the rule's action takes place.

" @@ -1960,6 +2536,13 @@ "BatchUpdateFindingsRequest$Severity": "

Used to update the finding severity.

" } }, + "SizeBytes": { + "base": null, + "refs": { + "AwsDynamoDbTableDetails$TableSizeBytes": "

The total size of the table in bytes.

", + "AwsDynamoDbTableGlobalSecondaryIndex$IndexSizeBytes": "

The total size in bytes of the index.

" + } + }, "SoftwarePackage": { "base": "

Information about a software package.

", "refs": { @@ -2081,7 +2664,7 @@ "StringFilterComparison": { "base": null, "refs": { - "StringFilter$Comparison": "

The condition to be applied to a string value when querying for findings.

" + "StringFilter$Comparison": "

The condition to apply to a string value when querying for findings. To search for values that contain the filter criteria value, use one of the following comparison operators:

EQUALS and PREFIX filters on the same field are joined by OR. A finding matches if it matches any one of those filters.

To search for values that do not contain the filter criteria value, use one of the following comparison operators:

NOT_EQUALS and PREFIX_NOT_EQUALS filters on the same field are joined by AND. A finding matches only if it matches all of those filters.

For filters on the same field, you cannot provide both an EQUALS filter and a NOT_EQUALS or PREFIX_NOT_EQUALS filter. Combining filters in this way always returns an error, even if the provided filter values would return valid results.

You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters for the same field. Security Hub first processes the PREFIX filters, then the NOT_EQUALS or PREFIX_NOT_EQUALS filters.

For example, for the following filter, Security Hub first identifies findings that have resource types that start with either AwsIAM or AwsEc2. It then excludes findings that have a resource type of AwsIamPolicy and findings that have a resource type of AwsEc2NetworkInterface.

" } }, "StringFilterList": { @@ -2147,8 +2730,21 @@ "base": null, "refs": { "AwsAutoScalingAutoScalingGroupDetails$LoadBalancerNames": "

The list of load balancers associated with the group.

", + "AwsDynamoDbTableProjection$NonKeyAttributes": "

The nonkey attributes that are projected into the index. For each attribute, provide the attribute name.

", "AwsEc2InstanceDetails$IpV4Addresses": "

The IPv4 addresses associated with the instance.

", "AwsEc2InstanceDetails$IpV6Addresses": "

The IPv6 addresses associated with the instance.

", + "AwsIamUserDetails$GroupList": "

A list of IAM groups that the user belongs to.

", + "AwsRdsDbClusterDetails$AvailabilityZones": "

A list of Availability Zones (AZs) where instances in the DB cluster can be created.

", + "AwsRdsDbClusterDetails$CustomEndpoints": "

A list of custom endpoints for the DB cluster.

", + "AwsRdsDbClusterDetails$ReadReplicaIdentifiers": "

The identifiers of the read replicas that are associated with this DB cluster.

", + "AwsRdsDbClusterDetails$EnabledCloudWatchLogsExports": "

A list of log types that this DB cluster is configured to export to CloudWatch Logs.

", + "AwsRdsDbClusterSnapshotDetails$AvailabilityZones": "

A list of Availability Zones where instances in the DB cluster can be created.

", + "AwsRdsDbInstanceDetails$DbSecurityGroups": "

A list of the DB security groups to assign to the DB instance.

", + "AwsRdsDbInstanceDetails$ReadReplicaDBInstanceIdentifiers": "

List of identifiers of the read replicas associated with this DB instance.

", + "AwsRdsDbInstanceDetails$ReadReplicaDBClusterIdentifiers": "

List of identifiers of Aurora DB clusters to which the RDS DB instance is replicated as a read replica.

", + "AwsRdsDbInstanceDetails$EnabledCloudWatchLogsExports": "

A list of log types that this DB instance is configured to export to CloudWatch Logs.

", + "AwsRdsPendingCloudWatchLogsExports$LogTypesToEnable": "

A list of log types that are being enabled.

", + "AwsRdsPendingCloudWatchLogsExports$LogTypesToDisable": "

A list of log types that are being disabled.

", "NetworkPathComponentDetails$Address": "

The IP addresses of the destination.

", "Vulnerability$RelatedVulnerabilities": "

List of vulnerabilities that are related to this vulnerability.

", "Vulnerability$ReferenceUrls": "

A list of URLs that provide additional information about the vulnerability.

" diff --git a/models/apis/sesv2/2019-09-27/api-2.json b/models/apis/sesv2/2019-09-27/api-2.json index b13245be6c..089f6df769 100644 --- a/models/apis/sesv2/2019-09-27/api-2.json +++ b/models/apis/sesv2/2019-09-27/api-2.json @@ -145,6 +145,20 @@ {"shape":"LimitExceededException"} ] }, + "CreateImportJob":{ + "name":"CreateImportJob", + "http":{ + "method":"POST", + "requestUri":"/v2/email/import-jobs" + }, + "input":{"shape":"CreateImportJobRequest"}, + "output":{"shape":"CreateImportJobResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"LimitExceededException"}, + {"shape":"TooManyRequestsException"} + ] + }, "DeleteConfigurationSet":{ "name":"DeleteConfigurationSet", "http":{ @@ -455,6 +469,20 @@ {"shape":"BadRequestException"} ] }, + "GetImportJob":{ + "name":"GetImportJob", + "http":{ + "method":"GET", + "requestUri":"/v2/email/import-jobs/{JobId}" + }, + "input":{"shape":"GetImportJobRequest"}, + "output":{"shape":"GetImportJobResponse"}, + "errors":[ + {"shape":"BadRequestException"}, + {"shape":"NotFoundException"}, + {"shape":"TooManyRequestsException"} + ] + }, "GetSuppressedDestination":{ "name":"GetSuppressedDestination", "http":{ @@ -562,6 +590,19 @@ {"shape":"BadRequestException"} ] }, + "ListImportJobs":{ + "name":"ListImportJobs", + "http":{ + "method":"GET", + "requestUri":"/v2/email/import-jobs" + }, + "input":{"shape":"ListImportJobsRequest"}, + "output":{"shape":"ListImportJobsResponse"}, + "errors":[ + {"shape":"TooManyRequestsException"}, + {"shape":"BadRequestException"} + ] + }, "ListSuppressedDestinations":{ "name":"ListSuppressedDestinations", "http":{ @@ -1340,6 +1381,23 @@ "members":{ } }, + "CreateImportJobRequest":{ + "type":"structure", + "required":[ + "ImportDestination", + "ImportDataSource" + ], + "members":{ + "ImportDestination":{"shape":"ImportDestination"}, + "ImportDataSource":{"shape":"ImportDataSource"} + } + }, + "CreateImportJobResponse":{ + "type":"structure", + "members":{ + "JobId":{"shape":"JobId"} + } + }, "CustomRedirectDomain":{"type":"string"}, "CustomVerificationEmailTemplateMetadata":{ "type":"structure", @@ -1367,6 +1425,13 @@ "type":"list", "member":{"shape":"DailyVolume"} }, + "DataFormat":{ + "type":"string", + "enum":[ + "CSV", + "JSON" + ] + }, "DedicatedIp":{ "type":"structure", "required":[ @@ -1778,6 +1843,15 @@ "type":"list", "member":{"shape":"EventType"} }, + "FailedRecordsCount":{"type":"integer"}, + "FailedRecordsS3Url":{"type":"string"}, + "FailureInfo":{ + "type":"structure", + "members":{ + "FailedRecordsS3Url":{"shape":"FailedRecordsS3Url"}, + "ErrorMessage":{"shape":"ErrorMessage"} + } + }, "FailureRedirectionURL":{"type":"string"}, "FeedbackId":{"type":"string"}, "GeneralEnforcementStatus":{"type":"string"}, @@ -2080,6 +2154,31 @@ "TemplateContent":{"shape":"EmailTemplateContent"} } }, + "GetImportJobRequest":{ + "type":"structure", + "required":["JobId"], + "members":{ + "JobId":{ + "shape":"JobId", + "location":"uri", + "locationName":"JobId" + } + } + }, + "GetImportJobResponse":{ + "type":"structure", + "members":{ + "JobId":{"shape":"JobId"}, + "ImportDestination":{"shape":"ImportDestination"}, + "ImportDataSource":{"shape":"ImportDataSource"}, + "FailureInfo":{"shape":"FailureInfo"}, + "JobStatus":{"shape":"JobStatus"}, + "CreatedTimestamp":{"shape":"Timestamp"}, + "CompletedTimestamp":{"shape":"Timestamp"}, + "ProcessedRecordsCount":{"shape":"ProcessedRecordsCount"}, + "FailedRecordsCount":{"shape":"FailedRecordsCount"} + } + }, "GetSuppressedDestinationRequest":{ "type":"structure", "required":["EmailAddress"], @@ -2123,6 +2222,41 @@ ] }, "ImageUrl":{"type":"string"}, + "ImportDataSource":{ + "type":"structure", + "required":[ + "S3Url", + "DataFormat" + ], + "members":{ + "S3Url":{"shape":"S3Url"}, + "DataFormat":{"shape":"DataFormat"} + } + }, + "ImportDestination":{ + "type":"structure", + "required":["SuppressionListDestination"], + "members":{ + "SuppressionListDestination":{"shape":"SuppressionListDestination"} + } + }, + "ImportDestinationType":{ + "type":"string", + "enum":["SUPPRESSION_LIST"] + }, + "ImportJobSummary":{ + "type":"structure", + "members":{ + "JobId":{"shape":"JobId"}, + "ImportDestination":{"shape":"ImportDestination"}, + "JobStatus":{"shape":"JobStatus"}, + "CreatedTimestamp":{"shape":"Timestamp"} + } + }, + "ImportJobSummaryList":{ + "type":"list", + "member":{"shape":"ImportJobSummary"} + }, "InboxPlacementTrackingOption":{ "type":"structure", "members":{ @@ -2158,6 +2292,19 @@ "type":"list", "member":{"shape":"IspPlacement"} }, + "JobId":{ + "type":"string", + "min":1 + }, + "JobStatus":{ + "type":"string", + "enum":[ + "CREATED", + "PROCESSING", + "COMPLETED", + "FAILED" + ] + }, "KinesisFirehoseDestination":{ "type":"structure", "required":[ @@ -2353,6 +2500,29 @@ "NextToken":{"shape":"NextToken"} } }, + "ListImportJobsRequest":{ + "type":"structure", + "members":{ + "ImportDestinationType":{"shape":"ImportDestinationType"}, + "NextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"NextToken" + }, + "PageSize":{ + "shape":"MaxItems", + "location":"querystring", + "locationName":"PageSize" + } + } + }, + "ListImportJobsResponse":{ + "type":"structure", + "members":{ + "ImportJobs":{"shape":"ImportJobSummaryList"}, + "NextToken":{"shape":"NextToken"} + } + }, "ListOfDedicatedIpPools":{ "type":"list", "member":{"shape":"PoolName"} @@ -2546,6 +2716,7 @@ "pattern":"^[a-zA-Z0-9+\\/]+={0,2}$", "sensitive":true }, + "ProcessedRecordsCount":{"type":"integer"}, "PutAccountDedicatedIpWarmupAttributesRequest":{ "type":"structure", "members":{ @@ -2877,6 +3048,10 @@ "DENIED" ] }, + "S3Url":{ + "type":"string", + "pattern":"^s3:\\/\\/([^\\/]+)\\/(.*?([^\\/]+)\\/?)$" + }, "Selector":{ "type":"string", "max":63, @@ -3023,6 +3198,20 @@ "SuppressedReasons":{"shape":"SuppressionListReasons"} } }, + "SuppressionListDestination":{ + "type":"structure", + "required":["SuppressionListImportAction"], + "members":{ + "SuppressionListImportAction":{"shape":"SuppressionListImportAction"} + } + }, + "SuppressionListImportAction":{ + "type":"string", + "enum":[ + "DELETE", + "PUT" + ] + }, "SuppressionListReason":{ "type":"string", "enum":[ diff --git a/models/apis/sesv2/2019-09-27/docs-2.json b/models/apis/sesv2/2019-09-27/docs-2.json index d6cf446b1d..a0795f6c3a 100644 --- a/models/apis/sesv2/2019-09-27/docs-2.json +++ b/models/apis/sesv2/2019-09-27/docs-2.json @@ -10,6 +10,7 @@ "CreateEmailIdentity": "

Starts the process of verifying an email identity. An identity is an email address or domain that you use when you send email. Before you can use an identity to send email, you first have to verify it. By verifying an identity, you demonstrate that you're the owner of the identity, and that you've given Amazon SES API v2 permission to send email from the identity.

When you verify an email address, Amazon SES sends an email to the address. Your email address is verified as soon as you follow the link in the verification email.

When you verify a domain without specifying the DkimSigningAttributes object, this operation provides a set of DKIM tokens. You can convert these tokens into CNAME records, which you then add to the DNS configuration for your domain. Your domain is verified when Amazon SES detects these records in the DNS configuration for your domain. This verification method is known as Easy DKIM.

Alternatively, you can perform the verification process by providing your own public-private key pair. This verification method is known as Bring Your Own DKIM (BYODKIM). To use BYODKIM, your call to the CreateEmailIdentity operation has to include the DkimSigningAttributes object. When you specify this object, you provide a selector (a component of the DNS record name that identifies the public key that you want to use for DKIM authentication) and a private key.

", "CreateEmailIdentityPolicy": "

Creates the specified sending authorization policy for the given identity (an email address or a domain).

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", "CreateEmailTemplate": "

Creates an email template. Email templates enable you to send personalized email to one or more destinations in a single API operation. For more information, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", + "CreateImportJob": "

Creates an import job for a data destination.

", "DeleteConfigurationSet": "

Delete an existing configuration set.

Configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

", "DeleteConfigurationSetEventDestination": "

Delete an event destination.

Events include message sends, deliveries, opens, clicks, bounces, and complaints. Event destinations are places that you can send information about these events to. For example, you can send event data to Amazon SNS to receive notifications when you receive bounces or complaints, or you can use Amazon Kinesis Data Firehose to stream data to Amazon S3 for long-term storage.

", "DeleteCustomVerificationEmailTemplate": "

Deletes an existing custom verification email template.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", @@ -32,6 +33,7 @@ "GetEmailIdentity": "

Provides information about a specific identity, including the identity's verification status, sending authorization policies, its DKIM authentication status, and its custom Mail-From settings.

", "GetEmailIdentityPolicies": "

Returns the requested sending authorization policies for the given identity (an email address or a domain). The policies are returned as a map of policy names to policy contents. You can retrieve a maximum of 20 policies at a time.

This API is for the identity owner only. If you have not verified the identity, this API will return an error.

Sending authorization is a feature that enables an identity owner to authorize other senders to use its identities. For information about using sending authorization, see the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", "GetEmailTemplate": "

Displays the template object (which includes the subject line, HTML part and text part) for the template you specify.

You can execute this operation no more than once per second.

", + "GetImportJob": "

Provides information about an import job.

", "GetSuppressedDestination": "

Retrieves information about a specific email address that's on the suppression list for your account.

", "ListConfigurationSets": "

List all of the configuration sets associated with your account in the current region.

Configuration sets are groups of rules that you can apply to the emails you send. You apply a configuration set to an email by including a reference to the configuration set in the headers of the email. When you apply a configuration set to an email, all of the rules in that configuration set are applied to the email.

", "ListCustomVerificationEmailTemplates": "

Lists the existing custom verification email templates for your account in the current AWS Region.

For more information about custom verification email templates, see Using Custom Verification Email Templates in the Amazon SES Developer Guide.

You can execute this operation no more than once per second.

", @@ -40,6 +42,7 @@ "ListDomainDeliverabilityCampaigns": "

Retrieve deliverability data for all the campaigns that used a specific domain to send email during a specified time range. This data is available for a domain only if you enabled the Deliverability dashboard for the domain.

", "ListEmailIdentities": "

Returns a list of all of the email identities that are associated with your AWS account. An identity can be either an email address or a domain. This operation returns identities that are verified as well as those that aren't. This operation returns identities that are associated with Amazon SES and Amazon Pinpoint.

", "ListEmailTemplates": "

Lists the email templates present in your Amazon SES account in the current AWS Region.

You can execute this operation no more than once per second.

", + "ListImportJobs": "

Lists all of the import jobs.

", "ListSuppressedDestinations": "

Retrieves a list of email addresses that are on the suppression list for your account.

", "ListTagsForResource": "

Retrieve a list of the tags (keys and values) that are associated with a specified resource. A tag is a label that you optionally define and associate with a resource. Each tag consists of a required tag key and an optional associated tag value. A tag key is a general label that acts as a category for more specific tag values. A tag value acts as a descriptor within a tag key.

", "PutAccountDedicatedIpWarmupAttributes": "

Enable or disable the automatic warm-up feature for dedicated IP addresses.

", @@ -379,6 +382,16 @@ "refs": { } }, + "CreateImportJobRequest": { + "base": "

Represents a request to create an import job from a data source for a data destination.

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

An HTTP 200 response if the request succeeds, or an error message if the request fails.

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

The domain that you want to use for tracking open and click events.

", "refs": { @@ -410,6 +423,12 @@ "GetDomainStatisticsReportResponse$DailyVolumes": "

An object that contains deliverability metrics for the domain that you specified. This object contains data for each day, starting on the StartDate and ending on the EndDate.

" } }, + "DataFormat": { + "base": "

The data format of the import job's data source.

", + "refs": { + "ImportDataSource$DataFormat": "

The data format of the import job's data source.

" + } + }, "DedicatedIp": { "base": "

Contains information about a dedicated IP address that is associated with your Amazon SES account.

To learn more about requesting dedicated IP addresses, see Requesting and Relinquishing Dedicated IP Addresses in the Amazon SES Developer Guide.

", "refs": { @@ -799,7 +818,8 @@ "ErrorMessage": { "base": null, "refs": { - "BulkEmailEntryResult$Error": "

A description of an error that prevented a message being sent using the SendBulkTemplatedEmail operation.

" + "BulkEmailEntryResult$Error": "

A description of an error that prevented a message being sent using the SendBulkTemplatedEmail operation.

", + "FailureInfo$ErrorMessage": "

A message about why the import job failed.

" } }, "Esp": { @@ -855,6 +875,24 @@ "EventDestinationDefinition$MatchingEventTypes": "

An array that specifies which events the Amazon SES API v2 should send to the destinations in this EventDestinationDefinition.

" } }, + "FailedRecordsCount": { + "base": null, + "refs": { + "GetImportJobResponse$FailedRecordsCount": "

The number of records that failed processing because of invalid input or other reasons.

" + } + }, + "FailedRecordsS3Url": { + "base": null, + "refs": { + "FailureInfo$FailedRecordsS3Url": "

An Amazon S3 presigned URL that contains all the failed records and related information.

" + } + }, + "FailureInfo": { + "base": "

An object that contains the failure details about an import job.

", + "refs": { + "GetImportJobResponse$FailureInfo": "

The failure details about an import job.

" + } + }, "FailureRedirectionURL": { "base": "

The URL that the recipient of the verification email is sent to if his or her address is not successfully verified.

", "refs": { @@ -1016,6 +1054,16 @@ "refs": { } }, + "GetImportJobRequest": { + "base": "

Represents a request for information about an import job using the import job ID.

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

An HTTP 200 response if the request succeeds, or an error message if the request fails.

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

A request to retrieve information about an email address that's on the suppression list for your account.

", "refs": { @@ -1071,6 +1119,39 @@ "DomainDeliverabilityCampaign$ImageUrl": "

The URL of an image that contains a snapshot of the email message that was sent.

" } }, + "ImportDataSource": { + "base": "

An object that contains details about the data source of the import job.

", + "refs": { + "CreateImportJobRequest$ImportDataSource": "

The data source for the import job.

", + "GetImportJobResponse$ImportDataSource": "

The data source of the import job.

" + } + }, + "ImportDestination": { + "base": "

An object that contains details about the resource destination the import job is going to target.

", + "refs": { + "CreateImportJobRequest$ImportDestination": "

The destination for the import job.

", + "GetImportJobResponse$ImportDestination": "

The destination of the import job.

", + "ImportJobSummary$ImportDestination": null + } + }, + "ImportDestinationType": { + "base": "

The destination of the import job, which can be used to list import jobs that have a certain ImportDestinationType.

", + "refs": { + "ListImportJobsRequest$ImportDestinationType": "

The destination of the import job, which can be used to list import jobs that have a certain ImportDestinationType.

" + } + }, + "ImportJobSummary": { + "base": "

A summary of the import job.

", + "refs": { + "ImportJobSummaryList$member": null + } + }, + "ImportJobSummaryList": { + "base": "

A list of the import job summaries.

", + "refs": { + "ListImportJobsResponse$ImportJobs": "

A list of the import job summaries.

" + } + }, "InboxPlacementTrackingOption": { "base": "

An object that contains information about the inbox placement data settings for a verified domain that’s associated with your AWS account. This data is available only if you enabled the Deliverability dashboard for the domain.

", "refs": { @@ -1124,6 +1205,22 @@ "GetDeliverabilityTestReportResponse$IspPlacements": "

An object that describes how the test email was handled by several email providers, including Gmail, Hotmail, Yahoo, AOL, and others.

" } }, + "JobId": { + "base": "

A string that represents the import job ID.

", + "refs": { + "CreateImportJobResponse$JobId": "

A string that represents the import job ID.

", + "GetImportJobRequest$JobId": "

The ID of the import job.

", + "GetImportJobResponse$JobId": "

A string that represents the import job ID.

", + "ImportJobSummary$JobId": null + } + }, + "JobStatus": { + "base": "

The status of the import job.

", + "refs": { + "GetImportJobResponse$JobStatus": "

The status of the import job.

", + "ImportJobSummary$JobStatus": null + } + }, "KinesisFirehoseDestination": { "base": "

An object that defines an Amazon Kinesis Data Firehose destination for email events. You can use Amazon Kinesis Data Firehose to stream data to other services, such as Amazon S3 and Amazon Redshift.

", "refs": { @@ -1212,6 +1309,16 @@ "refs": { } }, + "ListImportJobsRequest": { + "base": "

Represents a request to list all of the import jobs for a data destination within the specified maximum number of import jobs.

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

An HTTP 200 response if the request succeeds, or an error message if the request fails.

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

A list of dedicated IP pools that are associated with your AWS account.

", "refs": { @@ -1286,6 +1393,7 @@ "ListDomainDeliverabilityCampaignsRequest$PageSize": "

The maximum number of results to include in response to a single call to the ListDomainDeliverabilityCampaigns operation. If the number of results is larger than the number that you specify in this parameter, the response includes a NextToken element, which you can use to obtain additional results.

", "ListEmailIdentitiesRequest$PageSize": "

The number of results to show in a single call to ListEmailIdentities. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

The value you specify has to be at least 0, and can be no more than 1000.

", "ListEmailTemplatesRequest$PageSize": "

The number of results to show in a single call to ListEmailTemplates. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

The value you specify has to be at least 1, and can be no more than 10.

", + "ListImportJobsRequest$PageSize": "

Maximum number of import jobs to return at once. Use this parameter to paginate results. If additional import jobs exist beyond the specified limit, the NextToken element is sent in the response. Use the NextToken value in subsequent requests to retrieve additional addresses.

", "ListSuppressedDestinationsRequest$PageSize": "

The number of results to show in a single call to ListSuppressedDestinations. If the number of results is larger than the number you specified in this parameter, then the response includes a NextToken element, which you can use to obtain additional results.

" } }, @@ -1363,6 +1471,8 @@ "ListEmailIdentitiesResponse$NextToken": "

A token that indicates that there are additional configuration sets to list. To view additional configuration sets, issue another request to ListEmailIdentities, and pass this token in the NextToken parameter.

", "ListEmailTemplatesRequest$NextToken": "

A token returned from a previous call to ListEmailTemplates to indicate the position in the list of email templates.

", "ListEmailTemplatesResponse$NextToken": "

A token indicating that there are additional email templates available to be listed. Pass this token to a subsequent ListEmailTemplates call to retrieve the next 10 email templates.

", + "ListImportJobsRequest$NextToken": "

A string token indicating that there might be additional import jobs available to be listed. Copy this token to a subsequent call to ListImportJobs with the same parameters to retrieve the next page of import jobs.

", + "ListImportJobsResponse$NextToken": "

A string token indicating that there might be additional import jobs available to be listed. Copy this token to a subsequent call to ListImportJobs with the same parameters to retrieve the next page of import jobs.

", "ListSuppressedDestinationsRequest$NextToken": "

A token returned from a previous call to ListSuppressedDestinations to indicate the position in the list of suppressed email addresses.

", "ListSuppressedDestinationsResponse$NextToken": "

A token that indicates that there are additional email addresses on the suppression list for your account. To view additional suppressed addresses, issue another request to ListSuppressedDestinations, and pass this token in the NextToken parameter.

" } @@ -1466,6 +1576,12 @@ "DkimSigningAttributes$DomainSigningPrivateKey": "

A private key that's used to generate a DKIM signature.

The private key must use 1024-bit RSA encryption, and must be encoded using base64 encoding.

" } }, + "ProcessedRecordsCount": { + "base": null, + "refs": { + "GetImportJobResponse$ProcessedRecordsCount": "

The current number of records processed.

" + } + }, "PutAccountDedicatedIpWarmupAttributesRequest": { "base": "

A request to enable or disable the automatic IP address warm-up feature.

", "refs": { @@ -1706,6 +1822,12 @@ "ReviewDetails$Status": "

The status of the latest review of your account. The status can be one of the following:

" } }, + "S3Url": { + "base": "

An Amazon S3 URL in the format s3://<bucket_name>/<object>.

", + "refs": { + "ImportDataSource$S3Url": "

An Amazon S3 URL in the format s3://<bucket_name>/<object>.

" + } + }, "Selector": { "base": null, "refs": { @@ -1824,6 +1946,18 @@ "GetAccountResponse$SuppressionAttributes": "

An object that contains information about the email address suppression preferences for your account in the current AWS Region.

" } }, + "SuppressionListDestination": { + "base": "

An object that contains details about the action of suppression list.

", + "refs": { + "ImportDestination$SuppressionListDestination": "

An object that contains the action of the import job towards suppression list.

" + } + }, + "SuppressionListImportAction": { + "base": "

The type of action that you want to perform on the address. Acceptable values:

", + "refs": { + "SuppressionListDestination$SuppressionListImportAction": "

The type of action that you want to perform on the address. Acceptable values:

" + } + }, "SuppressionListReason": { "base": "

The reason that the address was added to the suppression list for your account. The value can be one of the following:

", "refs": { @@ -1937,6 +2071,9 @@ "GetDeliverabilityDashboardOptionsResponse$SubscriptionExpiryDate": "

The date, in Unix time format, when your current subscription to the Deliverability dashboard is scheduled to expire, if your subscription is scheduled to expire at the end of the current calendar month. This value is null if you have an active subscription that isn’t due to expire at the end of the month.

", "GetDomainStatisticsReportRequest$StartDate": "

The first day (in Unix time) that you want to obtain domain deliverability metrics for.

", "GetDomainStatisticsReportRequest$EndDate": "

The last day (in Unix time) that you want to obtain domain deliverability metrics for. The EndDate that you specify has to be less than or equal to 30 days after the StartDate.

", + "GetImportJobResponse$CreatedTimestamp": "

The time stamp of when the import job was created.

", + "GetImportJobResponse$CompletedTimestamp": "

The time stamp of when the import job was completed.

", + "ImportJobSummary$CreatedTimestamp": null, "ListDomainDeliverabilityCampaignsRequest$StartDate": "

The first day, in Unix time format, that you want to obtain deliverability data for.

", "ListDomainDeliverabilityCampaignsRequest$EndDate": "

The last day, in Unix time format, that you want to obtain deliverability data for. This value has to be less than or equal to 30 days after the value of the StartDate parameter.

", "ListSuppressedDestinationsRequest$StartDate": "

Used to filter the list of suppressed email destinations so that it only includes addresses that were added to the list after a specific date. The date that you specify should be in Unix time format.

", diff --git a/models/apis/sesv2/2019-09-27/paginators-1.json b/models/apis/sesv2/2019-09-27/paginators-1.json index 2408254705..6acdcfdb43 100644 --- a/models/apis/sesv2/2019-09-27/paginators-1.json +++ b/models/apis/sesv2/2019-09-27/paginators-1.json @@ -40,6 +40,11 @@ "output_token": "NextToken", "limit_key": "PageSize" }, + "ListImportJobs": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "PageSize" + }, "ListSuppressedDestinations": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/service/codebuild/api.go b/service/codebuild/api.go index 5d32f44fdc..d905d5f291 100644 --- a/service/codebuild/api.go +++ b/service/codebuild/api.go @@ -4808,7 +4808,7 @@ type Build struct { // if your service role has permission to that key. // // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, - // the CMK's alias (using the format alias/alias-name ). + // the CMK's alias (using the format alias/). EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` // When the build process ended, expressed in Unix time format. @@ -5256,7 +5256,7 @@ type BuildBatch struct { // if your service role has permission to that key. // // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, - // the CMK's alias (using the format alias/alias-name ). + // the CMK's alias (using the format alias/). EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` // The date and time that the batch build ended. @@ -6335,7 +6335,7 @@ type CreateProjectInput struct { // if your service role has permission to that key. // // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, - // the CMK's alias (using the format alias/alias-name ). + // the CMK's alias (using the format alias/). EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` // Information about the build environment for the build project. @@ -9680,7 +9680,7 @@ type Project struct { // if your service role has permission to that key. // // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, - // the CMK's alias (using the format alias/alias-name ). + // the CMK's alias (using the format alias/). EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` // Information about the build environment for this build project. @@ -9966,13 +9966,13 @@ type ProjectArtifacts struct { // For example: // // * If path is set to MyArtifacts, namespaceType is set to BUILD_ID, and - // name is set to MyArtifact.zip, then the output artifact is stored in MyArtifacts/build-ID/MyArtifact.zip. + // name is set to MyArtifact.zip, then the output artifact is stored in MyArtifacts//MyArtifact.zip. // // * If path is empty, namespaceType is set to NONE, and name is set to "/", // the output artifact is stored in the root of the output bucket. // // * If path is set to MyArtifacts, namespaceType is set to BUILD_ID, and - // name is set to "/", the output artifact is stored in MyArtifacts/build-ID . + // name is set to "/", the output artifact is stored in MyArtifacts/. Name *string `locationName:"name" type:"string"` // Along with path and name, the pattern that AWS CodeBuild uses to determine @@ -9990,7 +9990,7 @@ type ProjectArtifacts struct { // the build ID. This is the default if namespaceType is not specified. // // For example, if path is set to MyArtifacts, namespaceType is set to BUILD_ID, - // and name is set to MyArtifact.zip, the output artifact is stored in MyArtifacts/build-ID/MyArtifact.zip. + // and name is set to MyArtifact.zip, the output artifact is stored in MyArtifacts//MyArtifact.zip. NamespaceType *string `locationName:"namespaceType" type:"string" enum:"ArtifactNamespace"` // If this flag is set, a name specified in the buildspec file overrides the @@ -10661,13 +10661,12 @@ type ProjectSource struct { // // * For source code in an AWS CodeCommit repository, the HTTPS clone URL // to the repository that contains the source code and the buildspec file - // (for example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name - // ). + // (for example, https://git-codecommit..amazonaws.com/v1/repos/). // // * For source code in an Amazon Simple Storage Service (Amazon S3) input // bucket, one of the following. The path to the ZIP file that contains the - // source code (for example, bucket-name/path/to/object-name.zip). The path - // to the folder that contains the source code (for example, bucket-name/path/to/source-code/folder/). + // source code (for example, //.zip). The + // path to the folder that contains the source code (for example, ///). // // * For source code in a GitHub repository, the HTTPS clone URL to the repository // that contains the source and the buildspec file. You must connect your @@ -11955,7 +11954,7 @@ type StartBuildBatchInput struct { // if your service role has permission to that key. // // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, - // the CMK's alias (using the format alias/alias-name ). + // the CMK's alias (using the format alias/). EncryptionKeyOverride *string `locationName:"encryptionKeyOverride" min:"1" type:"string"` // A container type for this batch build that overrides the one specified in @@ -12471,7 +12470,7 @@ type StartBuildInput struct { // if your service role has permission to that key. // // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, - // the CMK's alias (using the format alias/alias-name ). + // the CMK's alias (using the format alias/). EncryptionKeyOverride *string `locationName:"encryptionKeyOverride" min:"1" type:"string"` // A container type for this build that overrides the one specified in the build @@ -13308,7 +13307,7 @@ type UpdateProjectInput struct { // if your service role has permission to that key. // // You can specify either the Amazon Resource Name (ARN) of the CMK or, if available, - // the CMK's alias (using the format alias/alias-name ). + // the CMK's alias (using the format alias/). EncryptionKey *string `locationName:"encryptionKey" min:"1" type:"string"` // Information to be changed about the build environment for the build project. diff --git a/service/cognitoidentityprovider/api.go b/service/cognitoidentityprovider/api.go index bc509c4b25..86c0162ec5 100644 --- a/service/cognitoidentityprovider/api.go +++ b/service/cognitoidentityprovider/api.go @@ -14851,21 +14851,21 @@ func (s *AliasExistsException) RequestID() string { type AnalyticsConfigurationType struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use + // the Amazon Pinpoint project for Pinpoint integration with the chosen User + // Pool Client. Amazon Cognito publishes events to the pinpoint project declared + // by the app ARN. + ApplicationArn *string `min:"20" type:"string"` + // The application ID for an Amazon Pinpoint application. - // - // ApplicationId is a required field - ApplicationId *string `type:"string" required:"true"` + ApplicationId *string `type:"string"` // The external ID. - // - // ExternalId is a required field - ExternalId *string `type:"string" required:"true"` + ExternalId *string `type:"string"` // The ARN of an IAM role that authorizes Amazon Cognito to publish events to // Amazon Pinpoint analytics. - // - // RoleArn is a required field - RoleArn *string `min:"20" type:"string" required:"true"` + RoleArn *string `min:"20" type:"string"` // If UserDataShared is true, Amazon Cognito will include user data in the events // it publishes to Amazon Pinpoint analytics. @@ -14885,14 +14885,8 @@ func (s AnalyticsConfigurationType) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *AnalyticsConfigurationType) Validate() error { invalidParams := request.ErrInvalidParams{Context: "AnalyticsConfigurationType"} - if s.ApplicationId == nil { - invalidParams.Add(request.NewErrParamRequired("ApplicationId")) - } - if s.ExternalId == nil { - invalidParams.Add(request.NewErrParamRequired("ExternalId")) - } - if s.RoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("RoleArn")) + if s.ApplicationArn != nil && len(*s.ApplicationArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ApplicationArn", 20)) } if s.RoleArn != nil && len(*s.RoleArn) < 20 { invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) @@ -14904,6 +14898,12 @@ func (s *AnalyticsConfigurationType) Validate() error { return nil } +// SetApplicationArn sets the ApplicationArn field's value. +func (s *AnalyticsConfigurationType) SetApplicationArn(v string) *AnalyticsConfigurationType { + s.ApplicationArn = &v + return s +} + // SetApplicationId sets the ApplicationId field's value. func (s *AnalyticsConfigurationType) SetApplicationId(v string) *AnalyticsConfigurationType { s.ApplicationId = &v diff --git a/service/datasync/api.go b/service/datasync/api.go index 0ce90849d0..8d61015394 100644 --- a/service/datasync/api.go +++ b/service/datasync/api.go @@ -5936,6 +5936,8 @@ func (s *ListAgentsOutput) SetNextToken(v string) *ListAgentsOutput { type ListLocationsInput struct { _ struct{} `type:"structure"` + Filters []*LocationFilter `type:"list"` + // The maximum number of locations to return. MaxResults *int64 `type:"integer"` @@ -5954,6 +5956,32 @@ func (s ListLocationsInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListLocationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListLocationsInput"} + 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 *ListLocationsInput) SetFilters(v []*LocationFilter) *ListLocationsInput { + s.Filters = v + return s +} + // SetMaxResults sets the MaxResults field's value. func (s *ListLocationsInput) SetMaxResults(v int64) *ListLocationsInput { s.MaxResults = &v @@ -6173,6 +6201,8 @@ func (s *ListTaskExecutionsOutput) SetTaskExecutions(v []*TaskExecutionListEntry type ListTasksInput struct { _ struct{} `type:"structure"` + Filters []*TaskFilter `type:"list"` + // The maximum number of tasks to return. MaxResults *int64 `type:"integer"` @@ -6191,6 +6221,32 @@ func (s ListTasksInput) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTasksInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTasksInput"} + 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 *ListTasksInput) SetFilters(v []*TaskFilter) *ListTasksInput { + s.Filters = v + return s +} + // SetMaxResults sets the MaxResults field's value. func (s *ListTasksInput) SetMaxResults(v int64) *ListTasksInput { s.MaxResults = &v @@ -6237,6 +6293,66 @@ func (s *ListTasksOutput) SetTasks(v []*TaskListEntry) *ListTasksOutput { return s } +type LocationFilter struct { + _ struct{} `type:"structure"` + + // Name is a required field + Name *string `type:"string" required:"true" enum:"LocationFilterName"` + + // Operator is a required field + Operator *string `type:"string" required:"true" enum:"Operator"` + + // Values is a required field + Values []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s LocationFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LocationFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *LocationFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "LocationFilter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *LocationFilter) SetName(v string) *LocationFilter { + s.Name = &v + return s +} + +// SetOperator sets the Operator field's value. +func (s *LocationFilter) SetOperator(v string) *LocationFilter { + s.Operator = &v + return s +} + +// SetValues sets the Values field's value. +func (s *LocationFilter) SetValues(v []*string) *LocationFilter { + s.Values = v + return s +} + // Represents a single entry in a list of locations. LocationListEntry returns // an array that contains a list of locations when the ListLocations operation // is called. @@ -7131,6 +7247,66 @@ func (s *TaskExecutionResultDetail) SetVerifyStatus(v string) *TaskExecutionResu return s } +type TaskFilter struct { + _ struct{} `type:"structure"` + + // Name is a required field + Name *string `type:"string" required:"true" enum:"TaskFilterName"` + + // Operator is a required field + Operator *string `type:"string" required:"true" enum:"Operator"` + + // Values is a required field + Values []*string `type:"list" required:"true"` +} + +// String returns the string representation +func (s TaskFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TaskFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TaskFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TaskFilter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Operator == nil { + invalidParams.Add(request.NewErrParamRequired("Operator")) + } + if s.Values == nil { + invalidParams.Add(request.NewErrParamRequired("Values")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *TaskFilter) SetName(v string) *TaskFilter { + s.Name = &v + return s +} + +// SetOperator sets the Operator field's value. +func (s *TaskFilter) SetOperator(v string) *TaskFilter { + s.Operator = &v + return s +} + +// SetValues sets the Values field's value. +func (s *TaskFilter) SetValues(v []*string) *TaskFilter { + s.Values = v + return s +} + // Represents a single entry in a list of tasks. TaskListEntry returns an array // that contains a list of tasks when the ListTasks operation is called. A task // includes the source and destination file systems to sync and the options @@ -7566,6 +7742,26 @@ func Gid_Values() []string { } } +const ( + // LocationFilterNameLocationUri is a LocationFilterName enum value + LocationFilterNameLocationUri = "LocationUri" + + // LocationFilterNameLocationType is a LocationFilterName enum value + LocationFilterNameLocationType = "LocationType" + + // LocationFilterNameCreationTime is a LocationFilterName enum value + LocationFilterNameCreationTime = "CreationTime" +) + +// LocationFilterName_Values returns all elements of the LocationFilterName enum +func LocationFilterName_Values() []string { + return []string{ + LocationFilterNameLocationUri, + LocationFilterNameLocationType, + LocationFilterNameCreationTime, + } +} + const ( // LogLevelOff is a LogLevel enum value LogLevelOff = "OFF" @@ -7642,6 +7838,54 @@ func ObjectStorageServerProtocol_Values() []string { } } +const ( + // OperatorEquals is a Operator enum value + OperatorEquals = "Equals" + + // OperatorNotEquals is a Operator enum value + OperatorNotEquals = "NotEquals" + + // OperatorIn is a Operator enum value + OperatorIn = "In" + + // OperatorLessThanOrEqual is a Operator enum value + OperatorLessThanOrEqual = "LessThanOrEqual" + + // OperatorLessThan is a Operator enum value + OperatorLessThan = "LessThan" + + // OperatorGreaterThanOrEqual is a Operator enum value + OperatorGreaterThanOrEqual = "GreaterThanOrEqual" + + // OperatorGreaterThan is a Operator enum value + OperatorGreaterThan = "GreaterThan" + + // OperatorContains is a Operator enum value + OperatorContains = "Contains" + + // OperatorNotContains is a Operator enum value + OperatorNotContains = "NotContains" + + // OperatorBeginsWith is a Operator enum value + OperatorBeginsWith = "BeginsWith" +) + +// Operator_Values returns all elements of the Operator enum +func Operator_Values() []string { + return []string{ + OperatorEquals, + OperatorNotEquals, + OperatorIn, + OperatorLessThanOrEqual, + OperatorLessThan, + OperatorGreaterThanOrEqual, + OperatorGreaterThan, + OperatorContains, + OperatorNotContains, + OperatorBeginsWith, + } +} + const ( // OverwriteModeAlways is a OverwriteMode enum value OverwriteModeAlways = "ALWAYS" @@ -7814,6 +8058,22 @@ func TaskExecutionStatus_Values() []string { } } +const ( + // TaskFilterNameLocationId is a TaskFilterName enum value + TaskFilterNameLocationId = "LocationId" + + // TaskFilterNameCreationTime is a TaskFilterName enum value + TaskFilterNameCreationTime = "CreationTime" +) + +// TaskFilterName_Values returns all elements of the TaskFilterName enum +func TaskFilterName_Values() []string { + return []string{ + TaskFilterNameLocationId, + TaskFilterNameCreationTime, + } +} + const ( // TaskQueueingEnabled is a TaskQueueing enum value TaskQueueingEnabled = "ENABLED" diff --git a/service/identitystore/api.go b/service/identitystore/api.go new file mode 100644 index 0000000000..74c4740c53 --- /dev/null +++ b/service/identitystore/api.go @@ -0,0 +1,1454 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package identitystore + +import ( + "fmt" + + "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" +) + +const opDescribeGroup = "DescribeGroup" + +// DescribeGroupRequest generates a "aws/request.Request" representing the +// client's request for the DescribeGroup 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 DescribeGroup for more information on using the DescribeGroup +// 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 DescribeGroupRequest method. +// req, resp := client.DescribeGroupRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/identitystore-2020-06-15/DescribeGroup +func (c *IdentityStore) DescribeGroupRequest(input *DescribeGroupInput) (req *request.Request, output *DescribeGroupOutput) { + op := &request.Operation{ + Name: opDescribeGroup, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeGroupInput{} + } + + output = &DescribeGroupOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeGroup API operation for AWS SSO Identity Store. +// +// Retrieves the group metadata and attributes from GroupId in an identity 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 AWS SSO Identity Store's +// API operation DescribeGroup for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// Indicates that a requested resource is not found. +// +// * ValidationException +// The request failed because it contains a syntax error. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ThrottlingException +// Indicates that the principal has crossed the throttling limits of the API +// operations. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure with an internal server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/identitystore-2020-06-15/DescribeGroup +func (c *IdentityStore) DescribeGroup(input *DescribeGroupInput) (*DescribeGroupOutput, error) { + req, out := c.DescribeGroupRequest(input) + return out, req.Send() +} + +// DescribeGroupWithContext is the same as DescribeGroup with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeGroup 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 *IdentityStore) DescribeGroupWithContext(ctx aws.Context, input *DescribeGroupInput, opts ...request.Option) (*DescribeGroupOutput, error) { + req, out := c.DescribeGroupRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeUser = "DescribeUser" + +// DescribeUserRequest generates a "aws/request.Request" representing the +// client's request for the DescribeUser 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 DescribeUser for more information on using the DescribeUser +// 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 DescribeUserRequest method. +// req, resp := client.DescribeUserRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/identitystore-2020-06-15/DescribeUser +func (c *IdentityStore) DescribeUserRequest(input *DescribeUserInput) (req *request.Request, output *DescribeUserOutput) { + op := &request.Operation{ + Name: opDescribeUser, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeUserInput{} + } + + output = &DescribeUserOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeUser API operation for AWS SSO Identity Store. +// +// Retrieves the user metadata and attributes from UserId in an identity 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 AWS SSO Identity Store's +// API operation DescribeUser for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// Indicates that a requested resource is not found. +// +// * ValidationException +// The request failed because it contains a syntax error. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ThrottlingException +// Indicates that the principal has crossed the throttling limits of the API +// operations. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure with an internal server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/identitystore-2020-06-15/DescribeUser +func (c *IdentityStore) DescribeUser(input *DescribeUserInput) (*DescribeUserOutput, error) { + req, out := c.DescribeUserRequest(input) + return out, req.Send() +} + +// DescribeUserWithContext is the same as DescribeUser with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeUser 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 *IdentityStore) DescribeUserWithContext(ctx aws.Context, input *DescribeUserInput, opts ...request.Option) (*DescribeUserOutput, error) { + req, out := c.DescribeUserRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListGroups = "ListGroups" + +// ListGroupsRequest generates a "aws/request.Request" representing the +// client's request for the ListGroups 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 ListGroups for more information on using the ListGroups +// 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 ListGroupsRequest method. +// req, resp := client.ListGroupsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/identitystore-2020-06-15/ListGroups +func (c *IdentityStore) ListGroupsRequest(input *ListGroupsInput) (req *request.Request, output *ListGroupsOutput) { + op := &request.Operation{ + Name: opListGroups, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListGroupsInput{} + } + + output = &ListGroupsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListGroups API operation for AWS SSO Identity Store. +// +// Lists the attribute name and value of the group that you specified in the +// search. We only support DisplayName as a valid filter attribute path currently, +// and filter is required. This API returns minimum attributes, including GroupId +// and group DisplayName in the 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 AWS SSO Identity Store's +// API operation ListGroups for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The request failed because it contains a syntax error. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ResourceNotFoundException +// Indicates that a requested resource is not found. +// +// * ThrottlingException +// Indicates that the principal has crossed the throttling limits of the API +// operations. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure with an internal server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/identitystore-2020-06-15/ListGroups +func (c *IdentityStore) ListGroups(input *ListGroupsInput) (*ListGroupsOutput, error) { + req, out := c.ListGroupsRequest(input) + return out, req.Send() +} + +// ListGroupsWithContext is the same as ListGroups with the addition of +// the ability to pass a context and additional request options. +// +// See ListGroups 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 *IdentityStore) ListGroupsWithContext(ctx aws.Context, input *ListGroupsInput, opts ...request.Option) (*ListGroupsOutput, error) { + req, out := c.ListGroupsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListGroupsPages iterates over the pages of a ListGroups operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListGroups 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 ListGroups operation. +// pageNum := 0 +// err := client.ListGroupsPages(params, +// func(page *identitystore.ListGroupsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IdentityStore) ListGroupsPages(input *ListGroupsInput, fn func(*ListGroupsOutput, bool) bool) error { + return c.ListGroupsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListGroupsPagesWithContext same as ListGroupsPages 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 *IdentityStore) ListGroupsPagesWithContext(ctx aws.Context, input *ListGroupsInput, fn func(*ListGroupsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListGroupsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListGroupsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListGroupsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListUsers = "ListUsers" + +// ListUsersRequest generates a "aws/request.Request" representing the +// client's request for the ListUsers 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 ListUsers for more information on using the ListUsers +// 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 ListUsersRequest method. +// req, resp := client.ListUsersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/identitystore-2020-06-15/ListUsers +func (c *IdentityStore) ListUsersRequest(input *ListUsersInput) (req *request.Request, output *ListUsersOutput) { + op := &request.Operation{ + Name: opListUsers, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListUsersInput{} + } + + output = &ListUsersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListUsers API operation for AWS SSO Identity Store. +// +// Lists the attribute name and value of the user that you specified in the +// search. We only support UserName as a valid filter attribute path currently, +// and filter is required. This API returns minimum attributes, including UserId +// and UserName in the 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 AWS SSO Identity Store's +// API operation ListUsers for usage and error information. +// +// Returned Error Types: +// * ValidationException +// The request failed because it contains a syntax error. +// +// * AccessDeniedException +// You do not have sufficient access to perform this action. +// +// * ResourceNotFoundException +// Indicates that a requested resource is not found. +// +// * ThrottlingException +// Indicates that the principal has crossed the throttling limits of the API +// operations. +// +// * InternalServerException +// The request processing has failed because of an unknown error, exception +// or failure with an internal server. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/identitystore-2020-06-15/ListUsers +func (c *IdentityStore) ListUsers(input *ListUsersInput) (*ListUsersOutput, error) { + req, out := c.ListUsersRequest(input) + return out, req.Send() +} + +// ListUsersWithContext is the same as ListUsers with the addition of +// the ability to pass a context and additional request options. +// +// See ListUsers 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 *IdentityStore) ListUsersWithContext(ctx aws.Context, input *ListUsersInput, opts ...request.Option) (*ListUsersOutput, error) { + req, out := c.ListUsersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListUsersPages iterates over the pages of a ListUsers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListUsers 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 ListUsers operation. +// pageNum := 0 +// err := client.ListUsersPages(params, +// func(page *identitystore.ListUsersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IdentityStore) ListUsersPages(input *ListUsersInput, fn func(*ListUsersOutput, bool) bool) error { + return c.ListUsersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListUsersPagesWithContext same as ListUsersPages 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 *IdentityStore) ListUsersPagesWithContext(ctx aws.Context, input *ListUsersInput, fn func(*ListUsersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListUsersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListUsersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListUsersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +// You do not have sufficient access to perform this action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" min:"1" type:"string"` + + // The identifier for each request. This value is a globally unique ID that + // is generated by the Identity Store service for each sent request, and is + // then returned inside the exception if the request fails. + RequestId *string `type:"string"` +} + +// String returns the string representation +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 DescribeGroupInput struct { + _ struct{} `type:"structure"` + + // The identifier for a group in the identity store. + // + // GroupId is a required field + GroupId *string `min:"1" type:"string" required:"true"` + + // The globally unique identifier for the identity store, such as d-1234567890. + // In this example, d- is a fixed prefix, and 1234567890 is a randomly generated + // string which contains number and lower case letters. This value is generated + // at the time that a new identity store is created. + // + // IdentityStoreId is a required field + IdentityStoreId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeGroupInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeGroupInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeGroupInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeGroupInput"} + if s.GroupId == nil { + invalidParams.Add(request.NewErrParamRequired("GroupId")) + } + if s.GroupId != nil && len(*s.GroupId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("GroupId", 1)) + } + if s.IdentityStoreId == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityStoreId")) + } + if s.IdentityStoreId != nil && len(*s.IdentityStoreId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IdentityStoreId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGroupId sets the GroupId field's value. +func (s *DescribeGroupInput) SetGroupId(v string) *DescribeGroupInput { + s.GroupId = &v + return s +} + +// SetIdentityStoreId sets the IdentityStoreId field's value. +func (s *DescribeGroupInput) SetIdentityStoreId(v string) *DescribeGroupInput { + s.IdentityStoreId = &v + return s +} + +type DescribeGroupOutput struct { + _ struct{} `type:"structure"` + + // Contains the group’s display name value. The length limit is 1024 characters. + // This value can consist of letters, accented characters, symbols, numbers, + // punctuation, tab, new line, carriage return, space and non breaking space + // in this attribute. The characters “<>;:%” are excluded. This value is + // specified at the time the group is created and stored as an attribute of + // the group object in the identity store. + // + // DisplayName is a required field + DisplayName *string `min:"1" type:"string" required:"true"` + + // The identifier for a group in the identity store. + // + // GroupId is a required field + GroupId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeGroupOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeGroupOutput) GoString() string { + return s.String() +} + +// SetDisplayName sets the DisplayName field's value. +func (s *DescribeGroupOutput) SetDisplayName(v string) *DescribeGroupOutput { + s.DisplayName = &v + return s +} + +// SetGroupId sets the GroupId field's value. +func (s *DescribeGroupOutput) SetGroupId(v string) *DescribeGroupOutput { + s.GroupId = &v + return s +} + +type DescribeUserInput struct { + _ struct{} `type:"structure"` + + // The globally unique identifier for the identity store, such as d-1234567890. + // In this example, d- is a fixed prefix, and 1234567890 is a randomly generated + // string which contains number and lower case letters. This value is generated + // at the time that a new identity store is created. + // + // IdentityStoreId is a required field + IdentityStoreId *string `min:"1" type:"string" required:"true"` + + // The identifier for a user in the identity store. + // + // UserId is a required field + UserId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeUserInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeUserInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeUserInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeUserInput"} + if s.IdentityStoreId == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityStoreId")) + } + if s.IdentityStoreId != nil && len(*s.IdentityStoreId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IdentityStoreId", 1)) + } + if s.UserId == nil { + invalidParams.Add(request.NewErrParamRequired("UserId")) + } + if s.UserId != nil && len(*s.UserId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("UserId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetIdentityStoreId sets the IdentityStoreId field's value. +func (s *DescribeUserInput) SetIdentityStoreId(v string) *DescribeUserInput { + s.IdentityStoreId = &v + return s +} + +// SetUserId sets the UserId field's value. +func (s *DescribeUserInput) SetUserId(v string) *DescribeUserInput { + s.UserId = &v + return s +} + +type DescribeUserOutput struct { + _ struct{} `type:"structure"` + + // The identifier for a user in the identity store. + // + // UserId is a required field + UserId *string `min:"1" type:"string" required:"true"` + + // Contains the user’s username value. The length limit is 128 characters. + // This value can consist of letters, accented characters, symbols, numbers + // and punctuation. The characters “<>;:%” are excluded. This value is specified + // at the time the user is created and stored as an attribute of the user object + // in the identity store. + // + // UserName is a required field + UserName *string `min:"1" type:"string" required:"true" sensitive:"true"` +} + +// String returns the string representation +func (s DescribeUserOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeUserOutput) GoString() string { + return s.String() +} + +// SetUserId sets the UserId field's value. +func (s *DescribeUserOutput) SetUserId(v string) *DescribeUserOutput { + s.UserId = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *DescribeUserOutput) SetUserName(v string) *DescribeUserOutput { + s.UserName = &v + return s +} + +// A query filter used by ListUsers and ListGroup. This filter object provides +// the attribute name and attribute value to search users or groups. +type Filter struct { + _ struct{} `type:"structure"` + + // The attribute path used to specify which attribute name to search. Length + // limit is 255 characters. For example, UserName is a valid attribute path + // for the ListUsers API, and DisplayName is a valid attribute path for the + // ListGroups API. + // + // AttributePath is a required field + AttributePath *string `min:"1" type:"string" required:"true"` + + // Represents the data for an attribute. Each attribute value is described as + // a name-value pair. + // + // AttributeValue is a required field + AttributeValue *string `min:"1" type:"string" required:"true" sensitive:"true"` +} + +// String returns the string representation +func (s Filter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Filter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Filter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Filter"} + if s.AttributePath == nil { + invalidParams.Add(request.NewErrParamRequired("AttributePath")) + } + if s.AttributePath != nil && len(*s.AttributePath) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AttributePath", 1)) + } + if s.AttributeValue == nil { + invalidParams.Add(request.NewErrParamRequired("AttributeValue")) + } + if s.AttributeValue != nil && len(*s.AttributeValue) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AttributeValue", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttributePath sets the AttributePath field's value. +func (s *Filter) SetAttributePath(v string) *Filter { + s.AttributePath = &v + return s +} + +// SetAttributeValue sets the AttributeValue field's value. +func (s *Filter) SetAttributeValue(v string) *Filter { + s.AttributeValue = &v + return s +} + +// A group object, which contains a specified group’s metadata and attributes. +type Group struct { + _ struct{} `type:"structure"` + + // Contains the group’s display name value. The length limit is 1024 characters. + // This value can consist of letters, accented characters, symbols, numbers, + // punctuation, tab, new line, carriage return, space and non breaking space + // in this attribute. The characters “<>;:%” are excluded. This value is + // specified at the time the group is created and stored as an attribute of + // the group object in the identity store. + // + // DisplayName is a required field + DisplayName *string `min:"1" type:"string" required:"true"` + + // The identifier for a group in the identity store. + // + // GroupId is a required field + GroupId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s Group) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Group) GoString() string { + return s.String() +} + +// SetDisplayName sets the DisplayName field's value. +func (s *Group) SetDisplayName(v string) *Group { + s.DisplayName = &v + return s +} + +// SetGroupId sets the GroupId field's value. +func (s *Group) SetGroupId(v string) *Group { + s.GroupId = &v + return s +} + +// The request processing has failed because of an unknown error, exception +// or failure with an internal server. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" min:"1" type:"string"` + + // The identifier for each request. This value is a globally unique ID that + // is generated by the Identity Store service for each sent request, and is + // then returned inside the exception if the request fails. + RequestId *string `type:"string"` +} + +// String returns the string representation +func (s InternalServerException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 ListGroupsInput struct { + _ struct{} `type:"structure"` + + // A list of Filter objects, which is used in the ListUsers and ListGroups request. + Filters []*Filter `type:"list"` + + // The globally unique identifier for the identity store, such as d-1234567890. + // In this example, d- is a fixed prefix, and 1234567890 is a randomly generated + // string which contains number and lower case letters. This value is generated + // at the time that a new identity store is created. + // + // IdentityStoreId is a required field + IdentityStoreId *string `min:"1" type:"string" required:"true"` + + // The maximum number of results to be returned per request, which is used in + // the ListUsers and ListGroups request to specify how many results to return + // in one page. The length limit is 50 characters. + MaxResults *int64 `min:"1" type:"integer"` + + // The pagination token used for the ListUsers and ListGroups APIs. This value + // is generated by the identity store service and is returned in the API response + // if the total results are more than the size of one page, and when this token + // is used in the API request to search for the next page. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListGroupsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListGroupsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListGroupsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListGroupsInput"} + if s.IdentityStoreId == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityStoreId")) + } + if s.IdentityStoreId != nil && len(*s.IdentityStoreId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IdentityStoreId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if 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 *ListGroupsInput) SetFilters(v []*Filter) *ListGroupsInput { + s.Filters = v + return s +} + +// SetIdentityStoreId sets the IdentityStoreId field's value. +func (s *ListGroupsInput) SetIdentityStoreId(v string) *ListGroupsInput { + s.IdentityStoreId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListGroupsInput) SetMaxResults(v int64) *ListGroupsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListGroupsInput) SetNextToken(v string) *ListGroupsInput { + s.NextToken = &v + return s +} + +type ListGroupsOutput struct { + _ struct{} `type:"structure"` + + // A list of Group objects in the identity store. + // + // Groups is a required field + Groups []*Group `type:"list" required:"true"` + + // The pagination token used for the ListUsers and ListGroups APIs. This value + // is generated by the identity store service and is returned in the API response + // if the total results are more than the size of one page, and when this token + // is used in the API request to search for the next page. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListGroupsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListGroupsOutput) GoString() string { + return s.String() +} + +// SetGroups sets the Groups field's value. +func (s *ListGroupsOutput) SetGroups(v []*Group) *ListGroupsOutput { + s.Groups = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListGroupsOutput) SetNextToken(v string) *ListGroupsOutput { + s.NextToken = &v + return s +} + +type ListUsersInput struct { + _ struct{} `type:"structure"` + + // A list of Filter objects, which is used in the ListUsers and ListGroups request. + Filters []*Filter `type:"list"` + + // The globally unique identifier for the identity store, such as d-1234567890. + // In this example, d- is a fixed prefix, and 1234567890 is a randomly generated + // string which contains number and lower case letters. This value is generated + // at the time that a new identity store is created. + // + // IdentityStoreId is a required field + IdentityStoreId *string `min:"1" type:"string" required:"true"` + + // The maximum number of results to be returned per request, which is used in + // the ListUsers and ListGroups request to specify how many results to return + // in one page. The length limit is 50 characters. + MaxResults *int64 `min:"1" type:"integer"` + + // The pagination token used for the ListUsers and ListGroups APIs. This value + // is generated by the identity store service and is returned in the API response + // if the total results are more than the size of one page, and when this token + // is used in the API request to search for the next page. + NextToken *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s ListUsersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListUsersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListUsersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListUsersInput"} + if s.IdentityStoreId == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityStoreId")) + } + if s.IdentityStoreId != nil && len(*s.IdentityStoreId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("IdentityStoreId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if 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 *ListUsersInput) SetFilters(v []*Filter) *ListUsersInput { + s.Filters = v + return s +} + +// SetIdentityStoreId sets the IdentityStoreId field's value. +func (s *ListUsersInput) SetIdentityStoreId(v string) *ListUsersInput { + s.IdentityStoreId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListUsersInput) SetMaxResults(v int64) *ListUsersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListUsersInput) SetNextToken(v string) *ListUsersInput { + s.NextToken = &v + return s +} + +type ListUsersOutput struct { + _ struct{} `type:"structure"` + + // The pagination token used for the ListUsers and ListGroups APIs. This value + // is generated by the identity store service and is returned in the API response + // if the total results are more than the size of one page, and when this token + // is used in the API request to search for the next page. + NextToken *string `min:"1" type:"string"` + + // A list of User objects in the identity store. + // + // Users is a required field + Users []*User `type:"list" required:"true"` +} + +// String returns the string representation +func (s ListUsersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListUsersOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListUsersOutput) SetNextToken(v string) *ListUsersOutput { + s.NextToken = &v + return s +} + +// SetUsers sets the Users field's value. +func (s *ListUsersOutput) SetUsers(v []*User) *ListUsersOutput { + s.Users = v + return s +} + +// Indicates that a requested resource is not found. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" min:"1" type:"string"` + + // The identifier for each request. This value is a globally unique ID that + // is generated by the Identity Store service for each sent request, and is + // then returned inside the exception if the request fails. + RequestId *string `type:"string"` + + // The identifier for a resource in the identity store, which can be used as + // UserId or GroupId. The format for ResourceId is either UUID or 1234567890-UUID, + // where UUID is a randomly generated value for each resource when it is created + // and 1234567890 represents the IdentityStoreId string value. In the case that + // the identity store is migrated from a legacy SSO identity store, the ResourceId + // for that identity store will be in the format of UUID. Otherwise, it will + // be in the 1234567890-UUID format. + ResourceId *string `min:"1" type:"string"` + + // The type of resource in the Identity Store service, which is an enum object. + // Valid values include USER, GROUP, and IDENTITY_STORE. + ResourceType *string `type:"string" enum:"ResourceType"` +} + +// String returns the string representation +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 +} + +// Indicates that the principal has crossed the throttling limits of the API +// operations. +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" min:"1" type:"string"` + + // The identifier for each request. This value is a globally unique ID that + // is generated by the Identity Store service for each sent request, and is + // then returned inside the exception if the request fails. + RequestId *string `type:"string"` +} + +// String returns the string representation +func (s ThrottlingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 +} + +// A user object, which contains a specified user’s metadata and attributes. +type User struct { + _ struct{} `type:"structure"` + + // The identifier for a user in the identity store. + // + // UserId is a required field + UserId *string `min:"1" type:"string" required:"true"` + + // Contains the user’s username value. The length limit is 128 characters. + // This value can consist of letters, accented characters, symbols, numbers + // and punctuation. The characters “<>;:%” are excluded. This value is specified + // at the time the user is created and stored as an attribute of the user object + // in the identity store. + // + // UserName is a required field + UserName *string `min:"1" type:"string" required:"true" sensitive:"true"` +} + +// String returns the string representation +func (s User) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s User) GoString() string { + return s.String() +} + +// SetUserId sets the UserId field's value. +func (s *User) SetUserId(v string) *User { + s.UserId = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *User) SetUserName(v string) *User { + s.UserName = &v + return s +} + +// The request failed because it contains a syntax error. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" min:"1" type:"string"` + + // The identifier for each request. This value is a globally unique ID that + // is generated by the Identity Store service for each sent request, and is + // then returned inside the exception if the request fails. + RequestId *string `type:"string"` +} + +// String returns the string representation +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +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 +} + +const ( + // ResourceTypeGroup is a ResourceType enum value + ResourceTypeGroup = "GROUP" + + // ResourceTypeUser is a ResourceType enum value + ResourceTypeUser = "USER" + + // ResourceTypeIdentityStore is a ResourceType enum value + ResourceTypeIdentityStore = "IDENTITY_STORE" +) + +// ResourceType_Values returns all elements of the ResourceType enum +func ResourceType_Values() []string { + return []string{ + ResourceTypeGroup, + ResourceTypeUser, + ResourceTypeIdentityStore, + } +} diff --git a/service/identitystore/doc.go b/service/identitystore/doc.go new file mode 100644 index 0000000000..6fc2e6e9bc --- /dev/null +++ b/service/identitystore/doc.go @@ -0,0 +1,26 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package identitystore provides the client and types for making API +// requests to AWS SSO Identity Store. +// +// See https://docs.aws.amazon.com/goto/WebAPI/identitystore-2020-06-15 for more information on this service. +// +// See identitystore package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/identitystore/ +// +// Using the Client +// +// To contact AWS SSO Identity Store 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 SSO Identity Store client IdentityStore for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/identitystore/#New +package identitystore diff --git a/service/identitystore/errors.go b/service/identitystore/errors.go new file mode 100644 index 0000000000..c837ae8197 --- /dev/null +++ b/service/identitystore/errors.go @@ -0,0 +1,50 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package identitystore + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // You do not have sufficient access to perform this action. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeInternalServerException for service response error code + // "InternalServerException". + // + // The request processing has failed because of an unknown error, exception + // or failure with an internal server. + ErrCodeInternalServerException = "InternalServerException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // Indicates that a requested resource is not found. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + // + // Indicates that the principal has crossed the throttling limits of the API + // operations. + ErrCodeThrottlingException = "ThrottlingException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // The request failed because it contains a syntax error. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "InternalServerException": newErrorInternalServerException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ThrottlingException": newErrorThrottlingException, + "ValidationException": newErrorValidationException, +} diff --git a/service/identitystore/identitystoreiface/interface.go b/service/identitystore/identitystoreiface/interface.go new file mode 100644 index 0000000000..07162ed729 --- /dev/null +++ b/service/identitystore/identitystoreiface/interface.go @@ -0,0 +1,86 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package identitystoreiface provides an interface to enable mocking the AWS SSO Identity Store 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 identitystoreiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/identitystore" +) + +// IdentityStoreAPI provides an interface to enable mocking the +// identitystore.IdentityStore 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 SSO Identity Store. +// func myFunc(svc identitystoreiface.IdentityStoreAPI) bool { +// // Make svc.DescribeGroup request +// } +// +// func main() { +// sess := session.New() +// svc := identitystore.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockIdentityStoreClient struct { +// identitystoreiface.IdentityStoreAPI +// } +// func (m *mockIdentityStoreClient) DescribeGroup(input *identitystore.DescribeGroupInput) (*identitystore.DescribeGroupOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockIdentityStoreClient{} +// +// 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 IdentityStoreAPI interface { + DescribeGroup(*identitystore.DescribeGroupInput) (*identitystore.DescribeGroupOutput, error) + DescribeGroupWithContext(aws.Context, *identitystore.DescribeGroupInput, ...request.Option) (*identitystore.DescribeGroupOutput, error) + DescribeGroupRequest(*identitystore.DescribeGroupInput) (*request.Request, *identitystore.DescribeGroupOutput) + + DescribeUser(*identitystore.DescribeUserInput) (*identitystore.DescribeUserOutput, error) + DescribeUserWithContext(aws.Context, *identitystore.DescribeUserInput, ...request.Option) (*identitystore.DescribeUserOutput, error) + DescribeUserRequest(*identitystore.DescribeUserInput) (*request.Request, *identitystore.DescribeUserOutput) + + ListGroups(*identitystore.ListGroupsInput) (*identitystore.ListGroupsOutput, error) + ListGroupsWithContext(aws.Context, *identitystore.ListGroupsInput, ...request.Option) (*identitystore.ListGroupsOutput, error) + ListGroupsRequest(*identitystore.ListGroupsInput) (*request.Request, *identitystore.ListGroupsOutput) + + ListGroupsPages(*identitystore.ListGroupsInput, func(*identitystore.ListGroupsOutput, bool) bool) error + ListGroupsPagesWithContext(aws.Context, *identitystore.ListGroupsInput, func(*identitystore.ListGroupsOutput, bool) bool, ...request.Option) error + + ListUsers(*identitystore.ListUsersInput) (*identitystore.ListUsersOutput, error) + ListUsersWithContext(aws.Context, *identitystore.ListUsersInput, ...request.Option) (*identitystore.ListUsersOutput, error) + ListUsersRequest(*identitystore.ListUsersInput) (*request.Request, *identitystore.ListUsersOutput) + + ListUsersPages(*identitystore.ListUsersInput, func(*identitystore.ListUsersOutput, bool) bool) error + ListUsersPagesWithContext(aws.Context, *identitystore.ListUsersInput, func(*identitystore.ListUsersOutput, bool) bool, ...request.Option) error +} + +var _ IdentityStoreAPI = (*identitystore.IdentityStore)(nil) diff --git a/service/identitystore/service.go b/service/identitystore/service.go new file mode 100644 index 0000000000..651b742c58 --- /dev/null +++ b/service/identitystore/service.go @@ -0,0 +1,106 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package identitystore + +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" +) + +// IdentityStore provides the API operation methods for making requests to +// AWS SSO Identity Store. See this package's package overview docs +// for details on the service. +// +// IdentityStore methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type IdentityStore 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 = "identitystore" // Name of service. + EndpointsID = ServiceName // ID to lookup a service endpoint with. + ServiceID = "identitystore" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the IdentityStore 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 IdentityStore client from just a session. +// svc := identitystore.New(mySession) +// +// // Create a IdentityStore client with additional configuration +// svc := identitystore.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *IdentityStore { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "identitystore" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *IdentityStore { + svc := &IdentityStore{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2020-06-15", + JSONVersion: "1.1", + TargetPrefix: "AWSIdentityStore", + }, + 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 IdentityStore operation and runs any +// custom request initialization. +func (c *IdentityStore) 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/securityhub/api.go b/service/securityhub/api.go index 0d105df98c..543ae2d5cd 100644 --- a/service/securityhub/api.go +++ b/service/securityhub/api.go @@ -4920,7 +4920,11 @@ func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone { type AwsAutoScalingAutoScalingGroupDetails struct { _ struct{} `type:"structure"` - // The datetime when the auto scaling group was created. + // Indicates when the auto scaling group was created. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. CreatedTime *string `type:"string"` // The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before @@ -4987,7 +4991,11 @@ type AwsCloudFrontDistributionDetails struct { // The entity tag is a hash of the object. ETag *string `type:"string"` - // The date and time that the distribution was last modified. + // Indicates when that the distribution was last modified. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. LastModifiedTime *string `type:"string"` // A complex type that controls whether access logs are written for the distribution. @@ -5506,2195 +5514,5300 @@ func (s *AwsCodeBuildProjectVpcConfig) SetVpcId(v string) *AwsCodeBuildProjectVp return s } -// The details of an Amazon EC2 instance. -type AwsEc2InstanceDetails struct { +// Contains a definition of an attribute for the table. +type AwsDynamoDbTableAttributeDefinition struct { _ struct{} `type:"structure"` - // The IAM profile ARN of the instance. - IamInstanceProfileArn *string `type:"string"` + // The name of the attribute. + AttributeName *string `type:"string"` - // The Amazon Machine Image (AMI) ID of the instance. - ImageId *string `type:"string"` + // The type of the attribute. + AttributeType *string `type:"string"` +} - // The IPv4 addresses associated with the instance. - IpV4Addresses []*string `type:"list"` +// String returns the string representation +func (s AwsDynamoDbTableAttributeDefinition) String() string { + return awsutil.Prettify(s) +} - // The IPv6 addresses associated with the instance. - IpV6Addresses []*string `type:"list"` +// GoString returns the string representation +func (s AwsDynamoDbTableAttributeDefinition) GoString() string { + return s.String() +} - // The key name associated with the instance. - KeyName *string `type:"string"` +// SetAttributeName sets the AttributeName field's value. +func (s *AwsDynamoDbTableAttributeDefinition) SetAttributeName(v string) *AwsDynamoDbTableAttributeDefinition { + s.AttributeName = &v + return s +} - // The date/time the instance was launched. - LaunchedAt *string `type:"string"` +// SetAttributeType sets the AttributeType field's value. +func (s *AwsDynamoDbTableAttributeDefinition) SetAttributeType(v string) *AwsDynamoDbTableAttributeDefinition { + s.AttributeType = &v + return s +} - // The identifier of the subnet that the instance was launched in. - SubnetId *string `type:"string"` +// Provides information about the billing for read/write capacity on the table. +type AwsDynamoDbTableBillingModeSummary struct { + _ struct{} `type:"structure"` - // The instance type of the instance. - Type *string `type:"string"` + // The method used to charge for read and write throughput and to manage capacity. + BillingMode *string `type:"string"` - // The identifier of the VPC that the instance was launched in. - VpcId *string `type:"string"` + // If the billing mode is PAY_PER_REQUEST, indicates when the billing mode was + // set to that value. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + LastUpdateToPayPerRequestDateTime *string `type:"string"` } // String returns the string representation -func (s AwsEc2InstanceDetails) String() string { +func (s AwsDynamoDbTableBillingModeSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsEc2InstanceDetails) GoString() string { +func (s AwsDynamoDbTableBillingModeSummary) GoString() string { return s.String() } -// SetIamInstanceProfileArn sets the IamInstanceProfileArn field's value. -func (s *AwsEc2InstanceDetails) SetIamInstanceProfileArn(v string) *AwsEc2InstanceDetails { - s.IamInstanceProfileArn = &v +// SetBillingMode sets the BillingMode field's value. +func (s *AwsDynamoDbTableBillingModeSummary) SetBillingMode(v string) *AwsDynamoDbTableBillingModeSummary { + s.BillingMode = &v return s } -// SetImageId sets the ImageId field's value. -func (s *AwsEc2InstanceDetails) SetImageId(v string) *AwsEc2InstanceDetails { - s.ImageId = &v +// SetLastUpdateToPayPerRequestDateTime sets the LastUpdateToPayPerRequestDateTime field's value. +func (s *AwsDynamoDbTableBillingModeSummary) SetLastUpdateToPayPerRequestDateTime(v string) *AwsDynamoDbTableBillingModeSummary { + s.LastUpdateToPayPerRequestDateTime = &v return s } -// SetIpV4Addresses sets the IpV4Addresses field's value. -func (s *AwsEc2InstanceDetails) SetIpV4Addresses(v []*string) *AwsEc2InstanceDetails { - s.IpV4Addresses = v - return s +// Provides details about a DynamoDB table. +type AwsDynamoDbTableDetails struct { + _ struct{} `type:"structure"` + + // A list of attribute definitions for the table. + AttributeDefinitions []*AwsDynamoDbTableAttributeDefinition `type:"list"` + + // Information about the billing for read/write capacity on the table. + BillingModeSummary *AwsDynamoDbTableBillingModeSummary `type:"structure"` + + // Indicates when the table was created. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + CreationDateTime *string `type:"string"` + + // List of global secondary indexes for the table. + GlobalSecondaryIndexes []*AwsDynamoDbTableGlobalSecondaryIndex `type:"list"` + + // The version of global tables being used. + GlobalTableVersion *string `type:"string"` + + // The number of items in the table. + ItemCount *int64 `type:"integer"` + + // The primary key structure for the table. + KeySchema []*AwsDynamoDbTableKeySchema `type:"list"` + + // The ARN of the latest stream for the table. + LatestStreamArn *string `type:"string"` + + // The label of the latest stream. The label is not a unique identifier. + LatestStreamLabel *string `type:"string"` + + // The list of local secondary indexes for the table. + LocalSecondaryIndexes []*AwsDynamoDbTableLocalSecondaryIndex `type:"list"` + + // Information about the provisioned throughput for the table. + ProvisionedThroughput *AwsDynamoDbTableProvisionedThroughput `type:"structure"` + + // The list of replicas of this table. + Replicas []*AwsDynamoDbTableReplica `type:"list"` + + // Information about the restore for the table. + RestoreSummary *AwsDynamoDbTableRestoreSummary `type:"structure"` + + // Information about the server-side encryption for the table. + SseDescription *AwsDynamoDbTableSseDescription `type:"structure"` + + // The current DynamoDB Streams configuration for the table. + StreamSpecification *AwsDynamoDbTableStreamSpecification `type:"structure"` + + // The identifier of the table. + TableId *string `type:"string"` + + // The name of the table. + TableName *string `type:"string"` + + // The total size of the table in bytes. + TableSizeBytes *int64 `type:"long"` + + // The current status of the table. + TableStatus *string `type:"string"` } -// SetIpV6Addresses sets the IpV6Addresses field's value. -func (s *AwsEc2InstanceDetails) SetIpV6Addresses(v []*string) *AwsEc2InstanceDetails { - s.IpV6Addresses = v - return s +// String returns the string representation +func (s AwsDynamoDbTableDetails) String() string { + return awsutil.Prettify(s) } -// SetKeyName sets the KeyName field's value. -func (s *AwsEc2InstanceDetails) SetKeyName(v string) *AwsEc2InstanceDetails { - s.KeyName = &v - return s +// GoString returns the string representation +func (s AwsDynamoDbTableDetails) GoString() string { + return s.String() } -// SetLaunchedAt sets the LaunchedAt field's value. -func (s *AwsEc2InstanceDetails) SetLaunchedAt(v string) *AwsEc2InstanceDetails { - s.LaunchedAt = &v +// SetAttributeDefinitions sets the AttributeDefinitions field's value. +func (s *AwsDynamoDbTableDetails) SetAttributeDefinitions(v []*AwsDynamoDbTableAttributeDefinition) *AwsDynamoDbTableDetails { + s.AttributeDefinitions = v return s } -// SetSubnetId sets the SubnetId field's value. -func (s *AwsEc2InstanceDetails) SetSubnetId(v string) *AwsEc2InstanceDetails { - s.SubnetId = &v +// SetBillingModeSummary sets the BillingModeSummary field's value. +func (s *AwsDynamoDbTableDetails) SetBillingModeSummary(v *AwsDynamoDbTableBillingModeSummary) *AwsDynamoDbTableDetails { + s.BillingModeSummary = v return s } -// SetType sets the Type field's value. -func (s *AwsEc2InstanceDetails) SetType(v string) *AwsEc2InstanceDetails { - s.Type = &v +// SetCreationDateTime sets the CreationDateTime field's value. +func (s *AwsDynamoDbTableDetails) SetCreationDateTime(v string) *AwsDynamoDbTableDetails { + s.CreationDateTime = &v return s } -// SetVpcId sets the VpcId field's value. -func (s *AwsEc2InstanceDetails) SetVpcId(v string) *AwsEc2InstanceDetails { - s.VpcId = &v +// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. +func (s *AwsDynamoDbTableDetails) SetGlobalSecondaryIndexes(v []*AwsDynamoDbTableGlobalSecondaryIndex) *AwsDynamoDbTableDetails { + s.GlobalSecondaryIndexes = v return s } -// Information about the network interface attachment. -type AwsEc2NetworkInterfaceAttachment struct { - _ struct{} `type:"structure"` - - // The timestamp indicating when the attachment initiated. - AttachTime *string `type:"string"` - - // The identifier of the network interface attachment - AttachmentId *string `type:"string"` +// SetGlobalTableVersion sets the GlobalTableVersion field's value. +func (s *AwsDynamoDbTableDetails) SetGlobalTableVersion(v string) *AwsDynamoDbTableDetails { + s.GlobalTableVersion = &v + return s +} - // Indicates whether the network interface is deleted when the instance is terminated. - DeleteOnTermination *bool `type:"boolean"` +// SetItemCount sets the ItemCount field's value. +func (s *AwsDynamoDbTableDetails) SetItemCount(v int64) *AwsDynamoDbTableDetails { + s.ItemCount = &v + return s +} - // The device index of the network interface attachment on the instance. - DeviceIndex *int64 `type:"integer"` +// SetKeySchema sets the KeySchema field's value. +func (s *AwsDynamoDbTableDetails) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableDetails { + s.KeySchema = v + return s +} - // The ID of the instance. - InstanceId *string `type:"string"` +// SetLatestStreamArn sets the LatestStreamArn field's value. +func (s *AwsDynamoDbTableDetails) SetLatestStreamArn(v string) *AwsDynamoDbTableDetails { + s.LatestStreamArn = &v + return s +} - // The AWS account ID of the owner of the instance. - InstanceOwnerId *string `type:"string"` +// SetLatestStreamLabel sets the LatestStreamLabel field's value. +func (s *AwsDynamoDbTableDetails) SetLatestStreamLabel(v string) *AwsDynamoDbTableDetails { + s.LatestStreamLabel = &v + return s +} - // The attachment state. - // - // Valid values: attaching | attached | detaching | detached - Status *string `type:"string"` +// SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value. +func (s *AwsDynamoDbTableDetails) SetLocalSecondaryIndexes(v []*AwsDynamoDbTableLocalSecondaryIndex) *AwsDynamoDbTableDetails { + s.LocalSecondaryIndexes = v + return s } -// String returns the string representation -func (s AwsEc2NetworkInterfaceAttachment) String() string { - return awsutil.Prettify(s) +// SetProvisionedThroughput sets the ProvisionedThroughput field's value. +func (s *AwsDynamoDbTableDetails) SetProvisionedThroughput(v *AwsDynamoDbTableProvisionedThroughput) *AwsDynamoDbTableDetails { + s.ProvisionedThroughput = v + return s } -// GoString returns the string representation -func (s AwsEc2NetworkInterfaceAttachment) GoString() string { - return s.String() +// SetReplicas sets the Replicas field's value. +func (s *AwsDynamoDbTableDetails) SetReplicas(v []*AwsDynamoDbTableReplica) *AwsDynamoDbTableDetails { + s.Replicas = v + return s } -// SetAttachTime sets the AttachTime field's value. -func (s *AwsEc2NetworkInterfaceAttachment) SetAttachTime(v string) *AwsEc2NetworkInterfaceAttachment { - s.AttachTime = &v +// SetRestoreSummary sets the RestoreSummary field's value. +func (s *AwsDynamoDbTableDetails) SetRestoreSummary(v *AwsDynamoDbTableRestoreSummary) *AwsDynamoDbTableDetails { + s.RestoreSummary = v return s } -// SetAttachmentId sets the AttachmentId field's value. -func (s *AwsEc2NetworkInterfaceAttachment) SetAttachmentId(v string) *AwsEc2NetworkInterfaceAttachment { - s.AttachmentId = &v +// SetSseDescription sets the SseDescription field's value. +func (s *AwsDynamoDbTableDetails) SetSseDescription(v *AwsDynamoDbTableSseDescription) *AwsDynamoDbTableDetails { + s.SseDescription = v return s } -// SetDeleteOnTermination sets the DeleteOnTermination field's value. -func (s *AwsEc2NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *AwsEc2NetworkInterfaceAttachment { - s.DeleteOnTermination = &v +// SetStreamSpecification sets the StreamSpecification field's value. +func (s *AwsDynamoDbTableDetails) SetStreamSpecification(v *AwsDynamoDbTableStreamSpecification) *AwsDynamoDbTableDetails { + s.StreamSpecification = v return s } -// SetDeviceIndex sets the DeviceIndex field's value. -func (s *AwsEc2NetworkInterfaceAttachment) SetDeviceIndex(v int64) *AwsEc2NetworkInterfaceAttachment { - s.DeviceIndex = &v +// SetTableId sets the TableId field's value. +func (s *AwsDynamoDbTableDetails) SetTableId(v string) *AwsDynamoDbTableDetails { + s.TableId = &v return s } -// SetInstanceId sets the InstanceId field's value. -func (s *AwsEc2NetworkInterfaceAttachment) SetInstanceId(v string) *AwsEc2NetworkInterfaceAttachment { - s.InstanceId = &v +// SetTableName sets the TableName field's value. +func (s *AwsDynamoDbTableDetails) SetTableName(v string) *AwsDynamoDbTableDetails { + s.TableName = &v return s } -// SetInstanceOwnerId sets the InstanceOwnerId field's value. -func (s *AwsEc2NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *AwsEc2NetworkInterfaceAttachment { - s.InstanceOwnerId = &v +// SetTableSizeBytes sets the TableSizeBytes field's value. +func (s *AwsDynamoDbTableDetails) SetTableSizeBytes(v int64) *AwsDynamoDbTableDetails { + s.TableSizeBytes = &v return s } -// SetStatus sets the Status field's value. -func (s *AwsEc2NetworkInterfaceAttachment) SetStatus(v string) *AwsEc2NetworkInterfaceAttachment { - s.Status = &v +// SetTableStatus sets the TableStatus field's value. +func (s *AwsDynamoDbTableDetails) SetTableStatus(v string) *AwsDynamoDbTableDetails { + s.TableStatus = &v return s } -// Details about the network interface -type AwsEc2NetworkInterfaceDetails struct { +// Information abut a global secondary index for the table. +type AwsDynamoDbTableGlobalSecondaryIndex struct { _ struct{} `type:"structure"` - // The network interface attachment. - Attachment *AwsEc2NetworkInterfaceAttachment `type:"structure"` + // Whether the index is currently backfilling. + Backfilling *bool `type:"boolean"` - // The ID of the network interface. - NetworkInterfaceId *string `type:"string"` + // The ARN of the index. + IndexArn *string `type:"string"` - // Security groups for the network interface. - SecurityGroups []*AwsEc2NetworkInterfaceSecurityGroup `type:"list"` + // The name of the index. + IndexName *string `type:"string"` - // Indicates whether traffic to or from the instance is validated. - SourceDestCheck *bool `type:"boolean"` + // The total size in bytes of the index. + IndexSizeBytes *int64 `type:"long"` + + // The current status of the index. + IndexStatus *string `type:"string"` + + // The number of items in the index. + ItemCount *int64 `type:"integer"` + + // The key schema for the index. + KeySchema []*AwsDynamoDbTableKeySchema `type:"list"` + + // Attributes that are copied from the table into an index. + Projection *AwsDynamoDbTableProjection `type:"structure"` + + // Information about the provisioned throughput settings for the indexes. + ProvisionedThroughput *AwsDynamoDbTableProvisionedThroughput `type:"structure"` } // String returns the string representation -func (s AwsEc2NetworkInterfaceDetails) String() string { +func (s AwsDynamoDbTableGlobalSecondaryIndex) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsEc2NetworkInterfaceDetails) GoString() string { +func (s AwsDynamoDbTableGlobalSecondaryIndex) GoString() string { return s.String() } -// SetAttachment sets the Attachment field's value. -func (s *AwsEc2NetworkInterfaceDetails) SetAttachment(v *AwsEc2NetworkInterfaceAttachment) *AwsEc2NetworkInterfaceDetails { - s.Attachment = v +// SetBackfilling sets the Backfilling field's value. +func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetBackfilling(v bool) *AwsDynamoDbTableGlobalSecondaryIndex { + s.Backfilling = &v return s } -// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. -func (s *AwsEc2NetworkInterfaceDetails) SetNetworkInterfaceId(v string) *AwsEc2NetworkInterfaceDetails { - s.NetworkInterfaceId = &v +// SetIndexArn sets the IndexArn field's value. +func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexArn(v string) *AwsDynamoDbTableGlobalSecondaryIndex { + s.IndexArn = &v return s } -// SetSecurityGroups sets the SecurityGroups field's value. -func (s *AwsEc2NetworkInterfaceDetails) SetSecurityGroups(v []*AwsEc2NetworkInterfaceSecurityGroup) *AwsEc2NetworkInterfaceDetails { - s.SecurityGroups = v +// SetIndexName sets the IndexName field's value. +func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableGlobalSecondaryIndex { + s.IndexName = &v return s } -// SetSourceDestCheck sets the SourceDestCheck field's value. -func (s *AwsEc2NetworkInterfaceDetails) SetSourceDestCheck(v bool) *AwsEc2NetworkInterfaceDetails { - s.SourceDestCheck = &v +// SetIndexSizeBytes sets the IndexSizeBytes field's value. +func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexSizeBytes(v int64) *AwsDynamoDbTableGlobalSecondaryIndex { + s.IndexSizeBytes = &v return s } -// A security group associated with the network interface. -type AwsEc2NetworkInterfaceSecurityGroup struct { +// SetIndexStatus sets the IndexStatus field's value. +func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexStatus(v string) *AwsDynamoDbTableGlobalSecondaryIndex { + s.IndexStatus = &v + return s +} + +// SetItemCount sets the ItemCount field's value. +func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetItemCount(v int64) *AwsDynamoDbTableGlobalSecondaryIndex { + s.ItemCount = &v + return s +} + +// SetKeySchema sets the KeySchema field's value. +func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableGlobalSecondaryIndex { + s.KeySchema = v + return s +} + +// SetProjection sets the Projection field's value. +func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetProjection(v *AwsDynamoDbTableProjection) *AwsDynamoDbTableGlobalSecondaryIndex { + s.Projection = v + return s +} + +// SetProvisionedThroughput sets the ProvisionedThroughput field's value. +func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetProvisionedThroughput(v *AwsDynamoDbTableProvisionedThroughput) *AwsDynamoDbTableGlobalSecondaryIndex { + s.ProvisionedThroughput = v + return s +} + +// A component of the key schema for the DynamoDB table, a global secondary +// index, or a local secondary index. +type AwsDynamoDbTableKeySchema struct { _ struct{} `type:"structure"` - // The ID of the security group. - GroupId *string `type:"string"` + // The name of the key schema attribute. + AttributeName *string `type:"string"` - // The name of the security group. - GroupName *string `type:"string"` + // The type of key used for the key schema attribute. + KeyType *string `type:"string"` } // String returns the string representation -func (s AwsEc2NetworkInterfaceSecurityGroup) String() string { +func (s AwsDynamoDbTableKeySchema) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsEc2NetworkInterfaceSecurityGroup) GoString() string { +func (s AwsDynamoDbTableKeySchema) GoString() string { return s.String() } -// SetGroupId sets the GroupId field's value. -func (s *AwsEc2NetworkInterfaceSecurityGroup) SetGroupId(v string) *AwsEc2NetworkInterfaceSecurityGroup { - s.GroupId = &v +// SetAttributeName sets the AttributeName field's value. +func (s *AwsDynamoDbTableKeySchema) SetAttributeName(v string) *AwsDynamoDbTableKeySchema { + s.AttributeName = &v return s } -// SetGroupName sets the GroupName field's value. -func (s *AwsEc2NetworkInterfaceSecurityGroup) SetGroupName(v string) *AwsEc2NetworkInterfaceSecurityGroup { - s.GroupName = &v +// SetKeyType sets the KeyType field's value. +func (s *AwsDynamoDbTableKeySchema) SetKeyType(v string) *AwsDynamoDbTableKeySchema { + s.KeyType = &v return s } -// Details about an EC2 security group. -type AwsEc2SecurityGroupDetails struct { +// Information about a local secondary index for a DynamoDB table. +type AwsDynamoDbTableLocalSecondaryIndex struct { _ struct{} `type:"structure"` - // The ID of the security group. - GroupId *string `type:"string"` - - // The name of the security group. - GroupName *string `type:"string"` - - // The inbound rules associated with the security group. - IpPermissions []*AwsEc2SecurityGroupIpPermission `type:"list"` + // The ARN of the index. + IndexArn *string `type:"string"` - // [VPC only] The outbound rules associated with the security group. - IpPermissionsEgress []*AwsEc2SecurityGroupIpPermission `type:"list"` + // The name of the index. + IndexName *string `type:"string"` - // The AWS account ID of the owner of the security group. - OwnerId *string `type:"string"` + // The complete key schema for the index. + KeySchema []*AwsDynamoDbTableKeySchema `type:"list"` - // [VPC only] The ID of the VPC for the security group. - VpcId *string `type:"string"` + // Attributes that are copied from the table into the index. These are in addition + // to the primary key attributes and index key attributes, which are automatically + // projected. + Projection *AwsDynamoDbTableProjection `type:"structure"` } // String returns the string representation -func (s AwsEc2SecurityGroupDetails) String() string { +func (s AwsDynamoDbTableLocalSecondaryIndex) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsEc2SecurityGroupDetails) GoString() string { +func (s AwsDynamoDbTableLocalSecondaryIndex) GoString() string { return s.String() } -// SetGroupId sets the GroupId field's value. -func (s *AwsEc2SecurityGroupDetails) SetGroupId(v string) *AwsEc2SecurityGroupDetails { - s.GroupId = &v +// SetIndexArn sets the IndexArn field's value. +func (s *AwsDynamoDbTableLocalSecondaryIndex) SetIndexArn(v string) *AwsDynamoDbTableLocalSecondaryIndex { + s.IndexArn = &v return s } -// SetGroupName sets the GroupName field's value. -func (s *AwsEc2SecurityGroupDetails) SetGroupName(v string) *AwsEc2SecurityGroupDetails { - s.GroupName = &v +// SetIndexName sets the IndexName field's value. +func (s *AwsDynamoDbTableLocalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableLocalSecondaryIndex { + s.IndexName = &v return s } -// SetIpPermissions sets the IpPermissions field's value. -func (s *AwsEc2SecurityGroupDetails) SetIpPermissions(v []*AwsEc2SecurityGroupIpPermission) *AwsEc2SecurityGroupDetails { - s.IpPermissions = v +// SetKeySchema sets the KeySchema field's value. +func (s *AwsDynamoDbTableLocalSecondaryIndex) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableLocalSecondaryIndex { + s.KeySchema = v return s } -// SetIpPermissionsEgress sets the IpPermissionsEgress field's value. -func (s *AwsEc2SecurityGroupDetails) SetIpPermissionsEgress(v []*AwsEc2SecurityGroupIpPermission) *AwsEc2SecurityGroupDetails { - s.IpPermissionsEgress = v +// SetProjection sets the Projection field's value. +func (s *AwsDynamoDbTableLocalSecondaryIndex) SetProjection(v *AwsDynamoDbTableProjection) *AwsDynamoDbTableLocalSecondaryIndex { + s.Projection = v return s } -// SetOwnerId sets the OwnerId field's value. -func (s *AwsEc2SecurityGroupDetails) SetOwnerId(v string) *AwsEc2SecurityGroupDetails { - s.OwnerId = &v - return s -} +// For global and local secondary indexes, identifies the attributes that are +// copied from the table into the index. +type AwsDynamoDbTableProjection struct { + _ struct{} `type:"structure"` -// SetVpcId sets the VpcId field's value. -func (s *AwsEc2SecurityGroupDetails) SetVpcId(v string) *AwsEc2SecurityGroupDetails { - s.VpcId = &v - return s + // The nonkey attributes that are projected into the index. For each attribute, + // provide the attribute name. + NonKeyAttributes []*string `type:"list"` + + // The types of attributes that are projected into the index. + ProjectionType *string `type:"string"` } -// An IP permission for an EC2 security group. -type AwsEc2SecurityGroupIpPermission struct { - _ struct{} `type:"structure"` +// String returns the string representation +func (s AwsDynamoDbTableProjection) String() string { + return awsutil.Prettify(s) +} - // The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 - // type number. - // - // A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 - // types, you must specify all codes. - FromPort *int64 `type:"integer"` +// GoString returns the string representation +func (s AwsDynamoDbTableProjection) GoString() string { + return s.String() +} - // The IP protocol name (tcp, udp, icmp, icmpv6) or number. - // - // [VPC only] Use -1 to specify all protocols. - // - // When authorizing security group rules, specifying -1 or a protocol number - // other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless - // of any port range you specify. - // - // For tcp, udp, and icmp, you must specify a port range. - // - // For icmpv6, the port range is optional. If you omit the port range, traffic - // for all types and codes is allowed. - IpProtocol *string `type:"string"` +// SetNonKeyAttributes sets the NonKeyAttributes field's value. +func (s *AwsDynamoDbTableProjection) SetNonKeyAttributes(v []*string) *AwsDynamoDbTableProjection { + s.NonKeyAttributes = v + return s +} - // The IPv4 ranges. - IpRanges []*AwsEc2SecurityGroupIpRange `type:"list"` +// SetProjectionType sets the ProjectionType field's value. +func (s *AwsDynamoDbTableProjection) SetProjectionType(v string) *AwsDynamoDbTableProjection { + s.ProjectionType = &v + return s +} - // The IPv6 ranges. - Ipv6Ranges []*AwsEc2SecurityGroupIpv6Range `type:"list"` +// Information about the provisioned throughput for the table or for a global +// secondary index. +type AwsDynamoDbTableProvisionedThroughput struct { + _ struct{} `type:"structure"` - // [VPC only] The prefix list IDs for an AWS service. With outbound rules, this - // is the AWS service to access through a VPC endpoint from instances associated - // with the security group. - PrefixListIds []*AwsEc2SecurityGroupPrefixListId `type:"list"` + // Indicates when the provisioned throughput was last decreased. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + LastDecreaseDateTime *string `type:"string"` - // The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 - // code. + // Indicates when the provisioned throughput was last increased. // - // A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 - // types, you must specify all codes. - ToPort *int64 `type:"integer"` + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + LastIncreaseDateTime *string `type:"string"` - // The security group and AWS account ID pairs. - UserIdGroupPairs []*AwsEc2SecurityGroupUserIdGroupPair `type:"list"` + // The number of times during the current UTC calendar day that the provisioned + // throughput was decreased. + NumberOfDecreasesToday *int64 `type:"integer"` + + // The maximum number of strongly consistent reads consumed per second before + // DynamoDB returns a ThrottlingException. + ReadCapacityUnits *int64 `type:"integer"` + + // The maximum number of writes consumed per second before DynamoDB returns + // a ThrottlingException. + WriteCapacityUnits *int64 `type:"integer"` } // String returns the string representation -func (s AwsEc2SecurityGroupIpPermission) String() string { +func (s AwsDynamoDbTableProvisionedThroughput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsEc2SecurityGroupIpPermission) GoString() string { +func (s AwsDynamoDbTableProvisionedThroughput) GoString() string { return s.String() } -// SetFromPort sets the FromPort field's value. -func (s *AwsEc2SecurityGroupIpPermission) SetFromPort(v int64) *AwsEc2SecurityGroupIpPermission { - s.FromPort = &v - return s -} - -// SetIpProtocol sets the IpProtocol field's value. -func (s *AwsEc2SecurityGroupIpPermission) SetIpProtocol(v string) *AwsEc2SecurityGroupIpPermission { - s.IpProtocol = &v - return s -} - -// SetIpRanges sets the IpRanges field's value. -func (s *AwsEc2SecurityGroupIpPermission) SetIpRanges(v []*AwsEc2SecurityGroupIpRange) *AwsEc2SecurityGroupIpPermission { - s.IpRanges = v +// SetLastDecreaseDateTime sets the LastDecreaseDateTime field's value. +func (s *AwsDynamoDbTableProvisionedThroughput) SetLastDecreaseDateTime(v string) *AwsDynamoDbTableProvisionedThroughput { + s.LastDecreaseDateTime = &v return s } -// SetIpv6Ranges sets the Ipv6Ranges field's value. -func (s *AwsEc2SecurityGroupIpPermission) SetIpv6Ranges(v []*AwsEc2SecurityGroupIpv6Range) *AwsEc2SecurityGroupIpPermission { - s.Ipv6Ranges = v +// SetLastIncreaseDateTime sets the LastIncreaseDateTime field's value. +func (s *AwsDynamoDbTableProvisionedThroughput) SetLastIncreaseDateTime(v string) *AwsDynamoDbTableProvisionedThroughput { + s.LastIncreaseDateTime = &v return s } -// SetPrefixListIds sets the PrefixListIds field's value. -func (s *AwsEc2SecurityGroupIpPermission) SetPrefixListIds(v []*AwsEc2SecurityGroupPrefixListId) *AwsEc2SecurityGroupIpPermission { - s.PrefixListIds = v +// SetNumberOfDecreasesToday sets the NumberOfDecreasesToday field's value. +func (s *AwsDynamoDbTableProvisionedThroughput) SetNumberOfDecreasesToday(v int64) *AwsDynamoDbTableProvisionedThroughput { + s.NumberOfDecreasesToday = &v return s } -// SetToPort sets the ToPort field's value. -func (s *AwsEc2SecurityGroupIpPermission) SetToPort(v int64) *AwsEc2SecurityGroupIpPermission { - s.ToPort = &v +// SetReadCapacityUnits sets the ReadCapacityUnits field's value. +func (s *AwsDynamoDbTableProvisionedThroughput) SetReadCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughput { + s.ReadCapacityUnits = &v return s } -// SetUserIdGroupPairs sets the UserIdGroupPairs field's value. -func (s *AwsEc2SecurityGroupIpPermission) SetUserIdGroupPairs(v []*AwsEc2SecurityGroupUserIdGroupPair) *AwsEc2SecurityGroupIpPermission { - s.UserIdGroupPairs = v +// SetWriteCapacityUnits sets the WriteCapacityUnits field's value. +func (s *AwsDynamoDbTableProvisionedThroughput) SetWriteCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughput { + s.WriteCapacityUnits = &v return s } -// A range of IPv4 addresses. -type AwsEc2SecurityGroupIpRange struct { +// Replica-specific configuration for the provisioned throughput. +type AwsDynamoDbTableProvisionedThroughputOverride struct { _ struct{} `type:"structure"` - // The IPv4 CIDR range. You can specify either a CIDR range or a source security - // group, but not both. To specify a single IPv4 address, use the /32 prefix - // length. - CidrIp *string `type:"string"` + // The read capacity units for the replica. + ReadCapacityUnits *int64 `type:"integer"` } // String returns the string representation -func (s AwsEc2SecurityGroupIpRange) String() string { +func (s AwsDynamoDbTableProvisionedThroughputOverride) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsEc2SecurityGroupIpRange) GoString() string { +func (s AwsDynamoDbTableProvisionedThroughputOverride) GoString() string { return s.String() } -// SetCidrIp sets the CidrIp field's value. -func (s *AwsEc2SecurityGroupIpRange) SetCidrIp(v string) *AwsEc2SecurityGroupIpRange { - s.CidrIp = &v +// SetReadCapacityUnits sets the ReadCapacityUnits field's value. +func (s *AwsDynamoDbTableProvisionedThroughputOverride) SetReadCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughputOverride { + s.ReadCapacityUnits = &v return s } -// A range of IPv6 addresses. -type AwsEc2SecurityGroupIpv6Range struct { +// Information about a replica of a DynamoDB table. +type AwsDynamoDbTableReplica struct { _ struct{} `type:"structure"` - // The IPv6 CIDR range. You can specify either a CIDR range or a source security - // group, but not both. To specify a single IPv6 address, use the /128 prefix - // length. - CidrIpv6 *string `type:"string"` + // List of global secondary indexes for the replica. + GlobalSecondaryIndexes []*AwsDynamoDbTableReplicaGlobalSecondaryIndex `type:"list"` + + // The identifier of the AWS KMS customer master key (CMK) that will be used + // for AWS KMS encryption for the replica. + KmsMasterKeyId *string `type:"string"` + + // Replica-specific configuration for the provisioned throughput. + ProvisionedThroughputOverride *AwsDynamoDbTableProvisionedThroughputOverride `type:"structure"` + + // The name of the Region where the replica is located. + RegionName *string `type:"string"` + + // The current status of the replica. + ReplicaStatus *string `type:"string"` + + // Detailed information about the replica status. + ReplicaStatusDescription *string `type:"string"` } // String returns the string representation -func (s AwsEc2SecurityGroupIpv6Range) String() string { +func (s AwsDynamoDbTableReplica) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsEc2SecurityGroupIpv6Range) GoString() string { +func (s AwsDynamoDbTableReplica) GoString() string { return s.String() } -// SetCidrIpv6 sets the CidrIpv6 field's value. -func (s *AwsEc2SecurityGroupIpv6Range) SetCidrIpv6(v string) *AwsEc2SecurityGroupIpv6Range { - s.CidrIpv6 = &v +// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value. +func (s *AwsDynamoDbTableReplica) SetGlobalSecondaryIndexes(v []*AwsDynamoDbTableReplicaGlobalSecondaryIndex) *AwsDynamoDbTableReplica { + s.GlobalSecondaryIndexes = v return s } -// A prefix list ID. -type AwsEc2SecurityGroupPrefixListId struct { +// SetKmsMasterKeyId sets the KmsMasterKeyId field's value. +func (s *AwsDynamoDbTableReplica) SetKmsMasterKeyId(v string) *AwsDynamoDbTableReplica { + s.KmsMasterKeyId = &v + return s +} + +// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. +func (s *AwsDynamoDbTableReplica) SetProvisionedThroughputOverride(v *AwsDynamoDbTableProvisionedThroughputOverride) *AwsDynamoDbTableReplica { + s.ProvisionedThroughputOverride = v + return s +} + +// SetRegionName sets the RegionName field's value. +func (s *AwsDynamoDbTableReplica) SetRegionName(v string) *AwsDynamoDbTableReplica { + s.RegionName = &v + return s +} + +// SetReplicaStatus sets the ReplicaStatus field's value. +func (s *AwsDynamoDbTableReplica) SetReplicaStatus(v string) *AwsDynamoDbTableReplica { + s.ReplicaStatus = &v + return s +} + +// SetReplicaStatusDescription sets the ReplicaStatusDescription field's value. +func (s *AwsDynamoDbTableReplica) SetReplicaStatusDescription(v string) *AwsDynamoDbTableReplica { + s.ReplicaStatusDescription = &v + return s +} + +// Information about a global secondary index for a DynamoDB table replica. +type AwsDynamoDbTableReplicaGlobalSecondaryIndex struct { _ struct{} `type:"structure"` - // The ID of the prefix. - PrefixListId *string `type:"string"` + // The name of the index. + IndexName *string `type:"string"` + + // Replica-specific configuration for the provisioned throughput for the index. + ProvisionedThroughputOverride *AwsDynamoDbTableProvisionedThroughputOverride `type:"structure"` } // String returns the string representation -func (s AwsEc2SecurityGroupPrefixListId) String() string { +func (s AwsDynamoDbTableReplicaGlobalSecondaryIndex) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsEc2SecurityGroupPrefixListId) GoString() string { +func (s AwsDynamoDbTableReplicaGlobalSecondaryIndex) GoString() string { return s.String() } -// SetPrefixListId sets the PrefixListId field's value. -func (s *AwsEc2SecurityGroupPrefixListId) SetPrefixListId(v string) *AwsEc2SecurityGroupPrefixListId { - s.PrefixListId = &v +// SetIndexName sets the IndexName field's value. +func (s *AwsDynamoDbTableReplicaGlobalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableReplicaGlobalSecondaryIndex { + s.IndexName = &v return s } -// A relationship between a security group and a user. -type AwsEc2SecurityGroupUserIdGroupPair struct { - _ struct{} `type:"structure"` - - // The ID of the security group. - GroupId *string `type:"string"` - - // The name of the security group. - GroupName *string `type:"string"` +// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value. +func (s *AwsDynamoDbTableReplicaGlobalSecondaryIndex) SetProvisionedThroughputOverride(v *AwsDynamoDbTableProvisionedThroughputOverride) *AwsDynamoDbTableReplicaGlobalSecondaryIndex { + s.ProvisionedThroughputOverride = v + return s +} - // The status of a VPC peering connection, if applicable. - PeeringStatus *string `type:"string"` +// Information about the restore for the table. +type AwsDynamoDbTableRestoreSummary struct { + _ struct{} `type:"structure"` - // The ID of an AWS account. + // Indicates the point in time that the table was restored to. // - // For a referenced security group in another VPC, the account ID of the referenced - // security group is returned in the response. If the referenced security group - // is deleted, this value is not returned. - // - // [EC2-Classic] Required when adding or removing rules that reference a security - // group in another AWS. - UserId *string `type:"string"` + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + RestoreDateTime *string `type:"string"` - // The ID of the VPC for the referenced security group, if applicable. - VpcId *string `type:"string"` + // Whether a restore is currently in progress. + RestoreInProgress *bool `type:"boolean"` - // The ID of the VPC peering connection, if applicable. - VpcPeeringConnectionId *string `type:"string"` + // The ARN of the source backup from which the table was restored. + SourceBackupArn *string `type:"string"` + + // The ARN of the source table for the backup. + SourceTableArn *string `type:"string"` } // String returns the string representation -func (s AwsEc2SecurityGroupUserIdGroupPair) String() string { +func (s AwsDynamoDbTableRestoreSummary) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsEc2SecurityGroupUserIdGroupPair) GoString() string { +func (s AwsDynamoDbTableRestoreSummary) GoString() string { return s.String() } -// SetGroupId sets the GroupId field's value. -func (s *AwsEc2SecurityGroupUserIdGroupPair) SetGroupId(v string) *AwsEc2SecurityGroupUserIdGroupPair { - s.GroupId = &v - return s -} - -// SetGroupName sets the GroupName field's value. -func (s *AwsEc2SecurityGroupUserIdGroupPair) SetGroupName(v string) *AwsEc2SecurityGroupUserIdGroupPair { - s.GroupName = &v - return s -} - -// SetPeeringStatus sets the PeeringStatus field's value. -func (s *AwsEc2SecurityGroupUserIdGroupPair) SetPeeringStatus(v string) *AwsEc2SecurityGroupUserIdGroupPair { - s.PeeringStatus = &v +// SetRestoreDateTime sets the RestoreDateTime field's value. +func (s *AwsDynamoDbTableRestoreSummary) SetRestoreDateTime(v string) *AwsDynamoDbTableRestoreSummary { + s.RestoreDateTime = &v return s } -// SetUserId sets the UserId field's value. -func (s *AwsEc2SecurityGroupUserIdGroupPair) SetUserId(v string) *AwsEc2SecurityGroupUserIdGroupPair { - s.UserId = &v +// SetRestoreInProgress sets the RestoreInProgress field's value. +func (s *AwsDynamoDbTableRestoreSummary) SetRestoreInProgress(v bool) *AwsDynamoDbTableRestoreSummary { + s.RestoreInProgress = &v return s } -// SetVpcId sets the VpcId field's value. -func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcId(v string) *AwsEc2SecurityGroupUserIdGroupPair { - s.VpcId = &v +// SetSourceBackupArn sets the SourceBackupArn field's value. +func (s *AwsDynamoDbTableRestoreSummary) SetSourceBackupArn(v string) *AwsDynamoDbTableRestoreSummary { + s.SourceBackupArn = &v return s } -// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value. -func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcPeeringConnectionId(v string) *AwsEc2SecurityGroupUserIdGroupPair { - s.VpcPeeringConnectionId = &v +// SetSourceTableArn sets the SourceTableArn field's value. +func (s *AwsDynamoDbTableRestoreSummary) SetSourceTableArn(v string) *AwsDynamoDbTableRestoreSummary { + s.SourceTableArn = &v return s } -// An attachment to an AWS EC2 volume. -type AwsEc2VolumeAttachment struct { +// Information about the server-side encryption for the table. +type AwsDynamoDbTableSseDescription struct { _ struct{} `type:"structure"` - // The datetime when the attachment initiated. - AttachTime *string `type:"string"` + // If the key is inaccessible, the date and time when DynamoDB detected that + // the key was inaccessible. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + InaccessibleEncryptionDateTime *string `type:"string"` - // Whether the EBS volume is deleted when the EC2 instance is terminated. - DeleteOnTermination *bool `type:"boolean"` + // The ARN of the AWS KMS customer master key (CMK) that is used for the AWS + // KMS encryption. + KmsMasterKeyArn *string `type:"string"` - // The identifier of the EC2 instance. - InstanceId *string `type:"string"` + // The type of server-side encryption. + SseType *string `type:"string"` - // The attachment state of the volume. + // The status of the server-side encryption. Status *string `type:"string"` } // String returns the string representation -func (s AwsEc2VolumeAttachment) String() string { +func (s AwsDynamoDbTableSseDescription) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsEc2VolumeAttachment) GoString() string { +func (s AwsDynamoDbTableSseDescription) GoString() string { return s.String() } -// SetAttachTime sets the AttachTime field's value. -func (s *AwsEc2VolumeAttachment) SetAttachTime(v string) *AwsEc2VolumeAttachment { - s.AttachTime = &v +// SetInaccessibleEncryptionDateTime sets the InaccessibleEncryptionDateTime field's value. +func (s *AwsDynamoDbTableSseDescription) SetInaccessibleEncryptionDateTime(v string) *AwsDynamoDbTableSseDescription { + s.InaccessibleEncryptionDateTime = &v return s } -// SetDeleteOnTermination sets the DeleteOnTermination field's value. -func (s *AwsEc2VolumeAttachment) SetDeleteOnTermination(v bool) *AwsEc2VolumeAttachment { - s.DeleteOnTermination = &v +// SetKmsMasterKeyArn sets the KmsMasterKeyArn field's value. +func (s *AwsDynamoDbTableSseDescription) SetKmsMasterKeyArn(v string) *AwsDynamoDbTableSseDescription { + s.KmsMasterKeyArn = &v return s } -// SetInstanceId sets the InstanceId field's value. -func (s *AwsEc2VolumeAttachment) SetInstanceId(v string) *AwsEc2VolumeAttachment { - s.InstanceId = &v +// SetSseType sets the SseType field's value. +func (s *AwsDynamoDbTableSseDescription) SetSseType(v string) *AwsDynamoDbTableSseDescription { + s.SseType = &v return s } // SetStatus sets the Status field's value. -func (s *AwsEc2VolumeAttachment) SetStatus(v string) *AwsEc2VolumeAttachment { +func (s *AwsDynamoDbTableSseDescription) SetStatus(v string) *AwsDynamoDbTableSseDescription { s.Status = &v return s } -// Details about an EC2 volume. -type AwsEc2VolumeDetails struct { +// The current DynamoDB Streams configuration for the table. +type AwsDynamoDbTableStreamSpecification struct { _ struct{} `type:"structure"` - // The volume attachments. - Attachments []*AwsEc2VolumeAttachment `type:"list"` - - // The datetime when the volume was created. - CreateTime *string `type:"string"` - - // Whether the volume is encrypted. - Encrypted *bool `type:"boolean"` - - // The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) - // that was used to protect the volume encryption key for the volume. - KmsKeyId *string `type:"string"` - - // The size of the volume, in GiBs. - Size *int64 `type:"integer"` - - // The snapshot from which the volume was created. - SnapshotId *string `type:"string"` + // Indicates whether DynamoDB Streams is enabled on the table. + StreamEnabled *bool `type:"boolean"` - // The volume state. - Status *string `type:"string"` + // Determines the information that is written to the table. + StreamViewType *string `type:"string"` } // String returns the string representation -func (s AwsEc2VolumeDetails) String() string { +func (s AwsDynamoDbTableStreamSpecification) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsEc2VolumeDetails) GoString() string { +func (s AwsDynamoDbTableStreamSpecification) GoString() string { return s.String() } -// SetAttachments sets the Attachments field's value. -func (s *AwsEc2VolumeDetails) SetAttachments(v []*AwsEc2VolumeAttachment) *AwsEc2VolumeDetails { - s.Attachments = v +// SetStreamEnabled sets the StreamEnabled field's value. +func (s *AwsDynamoDbTableStreamSpecification) SetStreamEnabled(v bool) *AwsDynamoDbTableStreamSpecification { + s.StreamEnabled = &v return s } -// SetCreateTime sets the CreateTime field's value. -func (s *AwsEc2VolumeDetails) SetCreateTime(v string) *AwsEc2VolumeDetails { - s.CreateTime = &v +// SetStreamViewType sets the StreamViewType field's value. +func (s *AwsDynamoDbTableStreamSpecification) SetStreamViewType(v string) *AwsDynamoDbTableStreamSpecification { + s.StreamViewType = &v return s } -// SetEncrypted sets the Encrypted field's value. -func (s *AwsEc2VolumeDetails) SetEncrypted(v bool) *AwsEc2VolumeDetails { - s.Encrypted = &v - return s -} +// Information about an Elastic IP address. +type AwsEc2EipDetails struct { + _ struct{} `type:"structure"` -// SetKmsKeyId sets the KmsKeyId field's value. -func (s *AwsEc2VolumeDetails) SetKmsKeyId(v string) *AwsEc2VolumeDetails { - s.KmsKeyId = &v - return s -} + // The identifier that AWS assigns to represent the allocation of the Elastic + // IP address for use with Amazon VPC. + AllocationId *string `type:"string"` -// SetSize sets the Size field's value. -func (s *AwsEc2VolumeDetails) SetSize(v int64) *AwsEc2VolumeDetails { - s.Size = &v - return s -} + // The identifier that represents the association of the Elastic IP address + // with an EC2 instance. + AssociationId *string `type:"string"` -// SetSnapshotId sets the SnapshotId field's value. -func (s *AwsEc2VolumeDetails) SetSnapshotId(v string) *AwsEc2VolumeDetails { - s.SnapshotId = &v - return s -} + // The domain in which to allocate the address. + // + // If the address is for use with EC2 instances in a VPC, then Domain is vpc. + // Otherwise, Domain is standard. + Domain *string `type:"string"` -// SetStatus sets the Status field's value. -func (s *AwsEc2VolumeDetails) SetStatus(v string) *AwsEc2VolumeDetails { - s.Status = &v - return s -} + // The identifier of the EC2 instance. + InstanceId *string `type:"string"` -// Details about an EC2 VPC. -type AwsEc2VpcDetails struct { - _ struct{} `type:"structure"` + // The name of the location from which the Elastic IP address is advertised. + NetworkBorderGroup *string `type:"string"` - // Information about the IPv4 CIDR blocks associated with the VPC. - CidrBlockAssociationSet []*CidrBlockAssociation `type:"list"` + // The identifier of the network interface. + NetworkInterfaceId *string `type:"string"` - // The identifier of the set of Dynamic Host Configuration Protocol (DHCP) options - // that are associated with the VPC. If the default options are associated with - // the VPC, then this is default. - DhcpOptionsId *string `type:"string"` + // The AWS account ID of the owner of the network interface. + NetworkInterfaceOwnerId *string `type:"string"` - // Information about the IPv6 CIDR blocks associated with the VPC. - Ipv6CidrBlockAssociationSet []*Ipv6CidrBlockAssociation `type:"list"` + // The private IP address that is associated with the Elastic IP address. + PrivateIpAddress *string `type:"string"` - // The current state of the VPC. - State *string `type:"string"` + // A public IP address that is associated with the EC2 instance. + PublicIp *string `type:"string"` + + // The identifier of an IP address pool. This parameter allows Amazon EC2 to + // select an IP address from the address pool. + PublicIpv4Pool *string `type:"string"` } // String returns the string representation -func (s AwsEc2VpcDetails) String() string { +func (s AwsEc2EipDetails) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsEc2VpcDetails) GoString() string { +func (s AwsEc2EipDetails) GoString() string { return s.String() } -// SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value. -func (s *AwsEc2VpcDetails) SetCidrBlockAssociationSet(v []*CidrBlockAssociation) *AwsEc2VpcDetails { - s.CidrBlockAssociationSet = v +// SetAllocationId sets the AllocationId field's value. +func (s *AwsEc2EipDetails) SetAllocationId(v string) *AwsEc2EipDetails { + s.AllocationId = &v return s } -// SetDhcpOptionsId sets the DhcpOptionsId field's value. -func (s *AwsEc2VpcDetails) SetDhcpOptionsId(v string) *AwsEc2VpcDetails { - s.DhcpOptionsId = &v +// SetAssociationId sets the AssociationId field's value. +func (s *AwsEc2EipDetails) SetAssociationId(v string) *AwsEc2EipDetails { + s.AssociationId = &v return s } -// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value. -func (s *AwsEc2VpcDetails) SetIpv6CidrBlockAssociationSet(v []*Ipv6CidrBlockAssociation) *AwsEc2VpcDetails { - s.Ipv6CidrBlockAssociationSet = v +// SetDomain sets the Domain field's value. +func (s *AwsEc2EipDetails) SetDomain(v string) *AwsEc2EipDetails { + s.Domain = &v return s } -// SetState sets the State field's value. -func (s *AwsEc2VpcDetails) SetState(v string) *AwsEc2VpcDetails { - s.State = &v +// SetInstanceId sets the InstanceId field's value. +func (s *AwsEc2EipDetails) SetInstanceId(v string) *AwsEc2EipDetails { + s.InstanceId = &v return s } -// Information about an Elasticsearch domain. -type AwsElasticsearchDomainDetails struct { - _ struct{} `type:"structure"` +// SetNetworkBorderGroup sets the NetworkBorderGroup field's value. +func (s *AwsEc2EipDetails) SetNetworkBorderGroup(v string) *AwsEc2EipDetails { + s.NetworkBorderGroup = &v + return s +} - // IAM policy document specifying the access policies for the new Amazon ES - // domain. - AccessPolicies *string `type:"string"` +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *AwsEc2EipDetails) SetNetworkInterfaceId(v string) *AwsEc2EipDetails { + s.NetworkInterfaceId = &v + return s +} - // Additional options for the domain endpoint. - DomainEndpointOptions *AwsElasticsearchDomainDomainEndpointOptions `type:"structure"` +// SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value. +func (s *AwsEc2EipDetails) SetNetworkInterfaceOwnerId(v string) *AwsEc2EipDetails { + s.NetworkInterfaceOwnerId = &v + return s +} - // Unique identifier for an Amazon ES domain. - DomainId *string `type:"string"` +// SetPrivateIpAddress sets the PrivateIpAddress field's value. +func (s *AwsEc2EipDetails) SetPrivateIpAddress(v string) *AwsEc2EipDetails { + s.PrivateIpAddress = &v + return s +} - // Name of an Amazon ES domain. - // - // Domain names are unique across all domains owned by the same account within - // an AWS Region. - // - // Domain names must start with a lowercase letter and must be between 3 and - // 28 characters. - // - // Valid characters are a-z (lowercase only), 0-9, and – (hyphen). - DomainName *string `type:"string"` +// SetPublicIp sets the PublicIp field's value. +func (s *AwsEc2EipDetails) SetPublicIp(v string) *AwsEc2EipDetails { + s.PublicIp = &v + return s +} - // Elasticsearch version. - ElasticsearchVersion *string `type:"string"` +// SetPublicIpv4Pool sets the PublicIpv4Pool field's value. +func (s *AwsEc2EipDetails) SetPublicIpv4Pool(v string) *AwsEc2EipDetails { + s.PublicIpv4Pool = &v + return s +} - // Details about the configuration for encryption at rest. - EncryptionAtRestOptions *AwsElasticsearchDomainEncryptionAtRestOptions `type:"structure"` +// The details of an Amazon EC2 instance. +type AwsEc2InstanceDetails struct { + _ struct{} `type:"structure"` - // Domain-specific endpoint used to submit index, search, and data upload requests - // to an Amazon ES domain. + // The IAM profile ARN of the instance. + IamInstanceProfileArn *string `type:"string"` + + // The Amazon Machine Image (AMI) ID of the instance. + ImageId *string `type:"string"` + + // The IPv4 addresses associated with the instance. + IpV4Addresses []*string `type:"list"` + + // The IPv6 addresses associated with the instance. + IpV6Addresses []*string `type:"list"` + + // The key name associated with the instance. + KeyName *string `type:"string"` + + // Indicates when the instance was launched. // - // The endpoint is a service URL. - Endpoint *string `type:"string"` + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + LaunchedAt *string `type:"string"` - // The key-value pair that exists if the Amazon ES domain uses VPC endpoints. - Endpoints map[string]*string `type:"map"` + // The identifier of the subnet that the instance was launched in. + SubnetId *string `type:"string"` - // Details about the configuration for node-to-node encryption. - NodeToNodeEncryptionOptions *AwsElasticsearchDomainNodeToNodeEncryptionOptions `type:"structure"` + // The instance type of the instance. + Type *string `type:"string"` - // Information that Amazon ES derives based on VPCOptions for the domain. - VPCOptions *AwsElasticsearchDomainVPCOptions `type:"structure"` + // The identifier of the VPC that the instance was launched in. + VpcId *string `type:"string"` } // String returns the string representation -func (s AwsElasticsearchDomainDetails) String() string { +func (s AwsEc2InstanceDetails) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsElasticsearchDomainDetails) GoString() string { +func (s AwsEc2InstanceDetails) GoString() string { return s.String() } -// SetAccessPolicies sets the AccessPolicies field's value. -func (s *AwsElasticsearchDomainDetails) SetAccessPolicies(v string) *AwsElasticsearchDomainDetails { - s.AccessPolicies = &v - return s -} - -// SetDomainEndpointOptions sets the DomainEndpointOptions field's value. -func (s *AwsElasticsearchDomainDetails) SetDomainEndpointOptions(v *AwsElasticsearchDomainDomainEndpointOptions) *AwsElasticsearchDomainDetails { - s.DomainEndpointOptions = v +// SetIamInstanceProfileArn sets the IamInstanceProfileArn field's value. +func (s *AwsEc2InstanceDetails) SetIamInstanceProfileArn(v string) *AwsEc2InstanceDetails { + s.IamInstanceProfileArn = &v return s } -// SetDomainId sets the DomainId field's value. -func (s *AwsElasticsearchDomainDetails) SetDomainId(v string) *AwsElasticsearchDomainDetails { - s.DomainId = &v +// SetImageId sets the ImageId field's value. +func (s *AwsEc2InstanceDetails) SetImageId(v string) *AwsEc2InstanceDetails { + s.ImageId = &v return s } -// SetDomainName sets the DomainName field's value. -func (s *AwsElasticsearchDomainDetails) SetDomainName(v string) *AwsElasticsearchDomainDetails { - s.DomainName = &v +// SetIpV4Addresses sets the IpV4Addresses field's value. +func (s *AwsEc2InstanceDetails) SetIpV4Addresses(v []*string) *AwsEc2InstanceDetails { + s.IpV4Addresses = v return s } -// SetElasticsearchVersion sets the ElasticsearchVersion field's value. -func (s *AwsElasticsearchDomainDetails) SetElasticsearchVersion(v string) *AwsElasticsearchDomainDetails { - s.ElasticsearchVersion = &v +// SetIpV6Addresses sets the IpV6Addresses field's value. +func (s *AwsEc2InstanceDetails) SetIpV6Addresses(v []*string) *AwsEc2InstanceDetails { + s.IpV6Addresses = v return s } -// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value. -func (s *AwsElasticsearchDomainDetails) SetEncryptionAtRestOptions(v *AwsElasticsearchDomainEncryptionAtRestOptions) *AwsElasticsearchDomainDetails { - s.EncryptionAtRestOptions = v +// SetKeyName sets the KeyName field's value. +func (s *AwsEc2InstanceDetails) SetKeyName(v string) *AwsEc2InstanceDetails { + s.KeyName = &v return s } -// SetEndpoint sets the Endpoint field's value. -func (s *AwsElasticsearchDomainDetails) SetEndpoint(v string) *AwsElasticsearchDomainDetails { - s.Endpoint = &v +// SetLaunchedAt sets the LaunchedAt field's value. +func (s *AwsEc2InstanceDetails) SetLaunchedAt(v string) *AwsEc2InstanceDetails { + s.LaunchedAt = &v return s } -// SetEndpoints sets the Endpoints field's value. -func (s *AwsElasticsearchDomainDetails) SetEndpoints(v map[string]*string) *AwsElasticsearchDomainDetails { - s.Endpoints = v +// SetSubnetId sets the SubnetId field's value. +func (s *AwsEc2InstanceDetails) SetSubnetId(v string) *AwsEc2InstanceDetails { + s.SubnetId = &v return s } -// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value. -func (s *AwsElasticsearchDomainDetails) SetNodeToNodeEncryptionOptions(v *AwsElasticsearchDomainNodeToNodeEncryptionOptions) *AwsElasticsearchDomainDetails { - s.NodeToNodeEncryptionOptions = v +// SetType sets the Type field's value. +func (s *AwsEc2InstanceDetails) SetType(v string) *AwsEc2InstanceDetails { + s.Type = &v return s } -// SetVPCOptions sets the VPCOptions field's value. -func (s *AwsElasticsearchDomainDetails) SetVPCOptions(v *AwsElasticsearchDomainVPCOptions) *AwsElasticsearchDomainDetails { - s.VPCOptions = v +// SetVpcId sets the VpcId field's value. +func (s *AwsEc2InstanceDetails) SetVpcId(v string) *AwsEc2InstanceDetails { + s.VpcId = &v return s } -// Additional options for the domain endpoint, such as whether to require HTTPS -// for all traffic. -type AwsElasticsearchDomainDomainEndpointOptions struct { +// Information about the network interface attachment. +type AwsEc2NetworkInterfaceAttachment struct { _ struct{} `type:"structure"` - // Whether to require that all traffic to the domain arrive over HTTPS. - EnforceHTTPS *bool `type:"boolean"` - - // The TLS security policy to apply to the HTTPS endpoint of the Elasticsearch - // domain. - // - // Valid values: + // Indicates when the attachment initiated. // - // * Policy-Min-TLS-1-0-2019-07, which supports TLSv1.0 and higher + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + AttachTime *string `type:"string"` + + // The identifier of the network interface attachment + AttachmentId *string `type:"string"` + + // Indicates whether the network interface is deleted when the instance is terminated. + DeleteOnTermination *bool `type:"boolean"` + + // The device index of the network interface attachment on the instance. + DeviceIndex *int64 `type:"integer"` + + // The ID of the instance. + InstanceId *string `type:"string"` + + // The AWS account ID of the owner of the instance. + InstanceOwnerId *string `type:"string"` + + // The attachment state. // - // * Policy-Min-TLS-1-2-2019-07, which only supports TLSv1.2 - TLSSecurityPolicy *string `type:"string"` + // Valid values: attaching | attached | detaching | detached + Status *string `type:"string"` } // String returns the string representation -func (s AwsElasticsearchDomainDomainEndpointOptions) String() string { +func (s AwsEc2NetworkInterfaceAttachment) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsElasticsearchDomainDomainEndpointOptions) GoString() string { +func (s AwsEc2NetworkInterfaceAttachment) GoString() string { return s.String() } -// SetEnforceHTTPS sets the EnforceHTTPS field's value. -func (s *AwsElasticsearchDomainDomainEndpointOptions) SetEnforceHTTPS(v bool) *AwsElasticsearchDomainDomainEndpointOptions { - s.EnforceHTTPS = &v +// SetAttachTime sets the AttachTime field's value. +func (s *AwsEc2NetworkInterfaceAttachment) SetAttachTime(v string) *AwsEc2NetworkInterfaceAttachment { + s.AttachTime = &v return s } -// SetTLSSecurityPolicy sets the TLSSecurityPolicy field's value. -func (s *AwsElasticsearchDomainDomainEndpointOptions) SetTLSSecurityPolicy(v string) *AwsElasticsearchDomainDomainEndpointOptions { - s.TLSSecurityPolicy = &v +// SetAttachmentId sets the AttachmentId field's value. +func (s *AwsEc2NetworkInterfaceAttachment) SetAttachmentId(v string) *AwsEc2NetworkInterfaceAttachment { + s.AttachmentId = &v return s } -// Details about the configuration for encryption at rest. -type AwsElasticsearchDomainEncryptionAtRestOptions struct { - _ struct{} `type:"structure"` - - // Whether encryption at rest is enabled. - Enabled *bool `type:"boolean"` - - // The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a. - KmsKeyId *string `type:"string"` +// SetDeleteOnTermination sets the DeleteOnTermination field's value. +func (s *AwsEc2NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *AwsEc2NetworkInterfaceAttachment { + s.DeleteOnTermination = &v + return s } -// String returns the string representation -func (s AwsElasticsearchDomainEncryptionAtRestOptions) String() string { - return awsutil.Prettify(s) +// SetDeviceIndex sets the DeviceIndex field's value. +func (s *AwsEc2NetworkInterfaceAttachment) SetDeviceIndex(v int64) *AwsEc2NetworkInterfaceAttachment { + s.DeviceIndex = &v + return s } -// GoString returns the string representation -func (s AwsElasticsearchDomainEncryptionAtRestOptions) GoString() string { - return s.String() +// SetInstanceId sets the InstanceId field's value. +func (s *AwsEc2NetworkInterfaceAttachment) SetInstanceId(v string) *AwsEc2NetworkInterfaceAttachment { + s.InstanceId = &v + return s } -// SetEnabled sets the Enabled field's value. -func (s *AwsElasticsearchDomainEncryptionAtRestOptions) SetEnabled(v bool) *AwsElasticsearchDomainEncryptionAtRestOptions { - s.Enabled = &v +// SetInstanceOwnerId sets the InstanceOwnerId field's value. +func (s *AwsEc2NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *AwsEc2NetworkInterfaceAttachment { + s.InstanceOwnerId = &v return s } -// SetKmsKeyId sets the KmsKeyId field's value. -func (s *AwsElasticsearchDomainEncryptionAtRestOptions) SetKmsKeyId(v string) *AwsElasticsearchDomainEncryptionAtRestOptions { - s.KmsKeyId = &v +// SetStatus sets the Status field's value. +func (s *AwsEc2NetworkInterfaceAttachment) SetStatus(v string) *AwsEc2NetworkInterfaceAttachment { + s.Status = &v return s } -// Details about the configuration for node-to-node encryption. -type AwsElasticsearchDomainNodeToNodeEncryptionOptions struct { +// Details about the network interface +type AwsEc2NetworkInterfaceDetails struct { _ struct{} `type:"structure"` - // Whether node-to-node encryption is enabled. - Enabled *bool `type:"boolean"` + // The network interface attachment. + Attachment *AwsEc2NetworkInterfaceAttachment `type:"structure"` + + // The ID of the network interface. + NetworkInterfaceId *string `type:"string"` + + // Security groups for the network interface. + SecurityGroups []*AwsEc2NetworkInterfaceSecurityGroup `type:"list"` + + // Indicates whether traffic to or from the instance is validated. + SourceDestCheck *bool `type:"boolean"` } // String returns the string representation -func (s AwsElasticsearchDomainNodeToNodeEncryptionOptions) String() string { +func (s AwsEc2NetworkInterfaceDetails) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsElasticsearchDomainNodeToNodeEncryptionOptions) GoString() string { +func (s AwsEc2NetworkInterfaceDetails) GoString() string { return s.String() } -// SetEnabled sets the Enabled field's value. -func (s *AwsElasticsearchDomainNodeToNodeEncryptionOptions) SetEnabled(v bool) *AwsElasticsearchDomainNodeToNodeEncryptionOptions { - s.Enabled = &v +// SetAttachment sets the Attachment field's value. +func (s *AwsEc2NetworkInterfaceDetails) SetAttachment(v *AwsEc2NetworkInterfaceAttachment) *AwsEc2NetworkInterfaceDetails { + s.Attachment = v return s } -// Information that Amazon ES derives based on VPCOptions for the domain. -type AwsElasticsearchDomainVPCOptions struct { - _ struct{} `type:"structure"` +// SetNetworkInterfaceId sets the NetworkInterfaceId field's value. +func (s *AwsEc2NetworkInterfaceDetails) SetNetworkInterfaceId(v string) *AwsEc2NetworkInterfaceDetails { + s.NetworkInterfaceId = &v + return s +} - // The list of Availability Zones associated with the VPC subnets. - AvailabilityZones []*string `type:"list"` +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *AwsEc2NetworkInterfaceDetails) SetSecurityGroups(v []*AwsEc2NetworkInterfaceSecurityGroup) *AwsEc2NetworkInterfaceDetails { + s.SecurityGroups = v + return s +} - // The list of security group IDs associated with the VPC endpoints for the - // domain. - SecurityGroupIds []*string `type:"list"` +// SetSourceDestCheck sets the SourceDestCheck field's value. +func (s *AwsEc2NetworkInterfaceDetails) SetSourceDestCheck(v bool) *AwsEc2NetworkInterfaceDetails { + s.SourceDestCheck = &v + return s +} - // A list of subnet IDs associated with the VPC endpoints for the domain. - SubnetIds []*string `type:"list"` +// A security group associated with the network interface. +type AwsEc2NetworkInterfaceSecurityGroup struct { + _ struct{} `type:"structure"` - // ID for the VPC. - VPCId *string `type:"string"` + // The ID of the security group. + GroupId *string `type:"string"` + + // The name of the security group. + GroupName *string `type:"string"` } // String returns the string representation -func (s AwsElasticsearchDomainVPCOptions) String() string { +func (s AwsEc2NetworkInterfaceSecurityGroup) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsElasticsearchDomainVPCOptions) GoString() string { +func (s AwsEc2NetworkInterfaceSecurityGroup) GoString() string { return s.String() } -// SetAvailabilityZones sets the AvailabilityZones field's value. -func (s *AwsElasticsearchDomainVPCOptions) SetAvailabilityZones(v []*string) *AwsElasticsearchDomainVPCOptions { - s.AvailabilityZones = v - return s -} - -// SetSecurityGroupIds sets the SecurityGroupIds field's value. -func (s *AwsElasticsearchDomainVPCOptions) SetSecurityGroupIds(v []*string) *AwsElasticsearchDomainVPCOptions { - s.SecurityGroupIds = v - return s -} - -// SetSubnetIds sets the SubnetIds field's value. -func (s *AwsElasticsearchDomainVPCOptions) SetSubnetIds(v []*string) *AwsElasticsearchDomainVPCOptions { - s.SubnetIds = v +// SetGroupId sets the GroupId field's value. +func (s *AwsEc2NetworkInterfaceSecurityGroup) SetGroupId(v string) *AwsEc2NetworkInterfaceSecurityGroup { + s.GroupId = &v return s } -// SetVPCId sets the VPCId field's value. -func (s *AwsElasticsearchDomainVPCOptions) SetVPCId(v string) *AwsElasticsearchDomainVPCOptions { - s.VPCId = &v +// SetGroupName sets the GroupName field's value. +func (s *AwsEc2NetworkInterfaceSecurityGroup) SetGroupName(v string) *AwsEc2NetworkInterfaceSecurityGroup { + s.GroupName = &v return s } -// Information about a load balancer. -type AwsElbv2LoadBalancerDetails struct { +// Details about an EC2 security group. +type AwsEc2SecurityGroupDetails struct { _ struct{} `type:"structure"` - // The Availability Zones for the load balancer. - AvailabilityZones []*AvailabilityZone `type:"list"` - - // The ID of the Amazon Route 53 hosted zone associated with the load balancer. - CanonicalHostedZoneId *string `type:"string"` - - // The date and time the load balancer was created. - CreatedTime *string `type:"string"` - - // The public DNS name of the load balancer. - DNSName *string `type:"string"` - - // The type of IP addresses used by the subnets for your load balancer. The - // possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and - // IPv6 addresses). - IpAddressType *string `type:"string"` + // The ID of the security group. + GroupId *string `type:"string"` - // The nodes of an Internet-facing load balancer have public IP addresses. - Scheme *string `type:"string"` + // The name of the security group. + GroupName *string `type:"string"` - // The IDs of the security groups for the load balancer. - SecurityGroups []*string `type:"list"` + // The inbound rules associated with the security group. + IpPermissions []*AwsEc2SecurityGroupIpPermission `type:"list"` - // The state of the load balancer. - State *LoadBalancerState `type:"structure"` + // [VPC only] The outbound rules associated with the security group. + IpPermissionsEgress []*AwsEc2SecurityGroupIpPermission `type:"list"` - // The type of load balancer. - Type *string `type:"string"` + // The AWS account ID of the owner of the security group. + OwnerId *string `type:"string"` - // The ID of the VPC for the load balancer. + // [VPC only] The ID of the VPC for the security group. VpcId *string `type:"string"` } // String returns the string representation -func (s AwsElbv2LoadBalancerDetails) String() string { +func (s AwsEc2SecurityGroupDetails) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsElbv2LoadBalancerDetails) GoString() string { +func (s AwsEc2SecurityGroupDetails) GoString() string { return s.String() } -// SetAvailabilityZones sets the AvailabilityZones field's value. -func (s *AwsElbv2LoadBalancerDetails) SetAvailabilityZones(v []*AvailabilityZone) *AwsElbv2LoadBalancerDetails { - s.AvailabilityZones = v - return s -} - -// SetCanonicalHostedZoneId sets the CanonicalHostedZoneId field's value. -func (s *AwsElbv2LoadBalancerDetails) SetCanonicalHostedZoneId(v string) *AwsElbv2LoadBalancerDetails { - s.CanonicalHostedZoneId = &v - return s -} - -// SetCreatedTime sets the CreatedTime field's value. -func (s *AwsElbv2LoadBalancerDetails) SetCreatedTime(v string) *AwsElbv2LoadBalancerDetails { - s.CreatedTime = &v - return s -} - -// SetDNSName sets the DNSName field's value. -func (s *AwsElbv2LoadBalancerDetails) SetDNSName(v string) *AwsElbv2LoadBalancerDetails { - s.DNSName = &v - return s -} - -// SetIpAddressType sets the IpAddressType field's value. -func (s *AwsElbv2LoadBalancerDetails) SetIpAddressType(v string) *AwsElbv2LoadBalancerDetails { - s.IpAddressType = &v +// SetGroupId sets the GroupId field's value. +func (s *AwsEc2SecurityGroupDetails) SetGroupId(v string) *AwsEc2SecurityGroupDetails { + s.GroupId = &v return s } -// SetScheme sets the Scheme field's value. -func (s *AwsElbv2LoadBalancerDetails) SetScheme(v string) *AwsElbv2LoadBalancerDetails { - s.Scheme = &v +// SetGroupName sets the GroupName field's value. +func (s *AwsEc2SecurityGroupDetails) SetGroupName(v string) *AwsEc2SecurityGroupDetails { + s.GroupName = &v return s } -// SetSecurityGroups sets the SecurityGroups field's value. -func (s *AwsElbv2LoadBalancerDetails) SetSecurityGroups(v []*string) *AwsElbv2LoadBalancerDetails { - s.SecurityGroups = v +// SetIpPermissions sets the IpPermissions field's value. +func (s *AwsEc2SecurityGroupDetails) SetIpPermissions(v []*AwsEc2SecurityGroupIpPermission) *AwsEc2SecurityGroupDetails { + s.IpPermissions = v return s } -// SetState sets the State field's value. -func (s *AwsElbv2LoadBalancerDetails) SetState(v *LoadBalancerState) *AwsElbv2LoadBalancerDetails { - s.State = v +// SetIpPermissionsEgress sets the IpPermissionsEgress field's value. +func (s *AwsEc2SecurityGroupDetails) SetIpPermissionsEgress(v []*AwsEc2SecurityGroupIpPermission) *AwsEc2SecurityGroupDetails { + s.IpPermissionsEgress = v return s } -// SetType sets the Type field's value. -func (s *AwsElbv2LoadBalancerDetails) SetType(v string) *AwsElbv2LoadBalancerDetails { - s.Type = &v +// SetOwnerId sets the OwnerId field's value. +func (s *AwsEc2SecurityGroupDetails) SetOwnerId(v string) *AwsEc2SecurityGroupDetails { + s.OwnerId = &v return s } // SetVpcId sets the VpcId field's value. -func (s *AwsElbv2LoadBalancerDetails) SetVpcId(v string) *AwsElbv2LoadBalancerDetails { +func (s *AwsEc2SecurityGroupDetails) SetVpcId(v string) *AwsEc2SecurityGroupDetails { s.VpcId = &v return s } -// IAM access key details related to a finding. -type AwsIamAccessKeyDetails struct { +// An IP permission for an EC2 security group. +type AwsEc2SecurityGroupIpPermission struct { _ struct{} `type:"structure"` - // The creation date/time of the IAM access key related to a finding. - CreatedAt *string `type:"string"` + // The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 + // type number. + // + // A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 + // types, you must specify all codes. + FromPort *int64 `type:"integer"` - // The ID of the principal associated with an access key. - PrincipalId *string `type:"string"` + // The IP protocol name (tcp, udp, icmp, icmpv6) or number. + // + // [VPC only] Use -1 to specify all protocols. + // + // When authorizing security group rules, specifying -1 or a protocol number + // other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless + // of any port range you specify. + // + // For tcp, udp, and icmp, you must specify a port range. + // + // For icmpv6, the port range is optional. If you omit the port range, traffic + // for all types and codes is allowed. + IpProtocol *string `type:"string"` - // The name of the principal. - PrincipalName *string `type:"string"` + // The IPv4 ranges. + IpRanges []*AwsEc2SecurityGroupIpRange `type:"list"` - // The type of principal associated with an access key. - PrincipalType *string `type:"string"` + // The IPv6 ranges. + Ipv6Ranges []*AwsEc2SecurityGroupIpv6Range `type:"list"` - // The status of the IAM access key related to a finding. - Status *string `type:"string" enum:"AwsIamAccessKeyStatus"` + // [VPC only] The prefix list IDs for an AWS service. With outbound rules, this + // is the AWS service to access through a VPC endpoint from instances associated + // with the security group. + PrefixListIds []*AwsEc2SecurityGroupPrefixListId `type:"list"` - // The user associated with the IAM access key related to a finding. - // - // The UserName parameter has been replaced with the PrincipalName parameter - // because access keys can also be assigned to principals that are not IAM users. + // The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 + // code. // - // Deprecated: This field is deprecated, use PrincipalName instead. - UserName *string `deprecated:"true" type:"string"` + // A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 + // types, you must specify all codes. + ToPort *int64 `type:"integer"` + + // The security group and AWS account ID pairs. + UserIdGroupPairs []*AwsEc2SecurityGroupUserIdGroupPair `type:"list"` } // String returns the string representation -func (s AwsIamAccessKeyDetails) String() string { +func (s AwsEc2SecurityGroupIpPermission) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsIamAccessKeyDetails) GoString() string { +func (s AwsEc2SecurityGroupIpPermission) GoString() string { return s.String() } -// SetCreatedAt sets the CreatedAt field's value. -func (s *AwsIamAccessKeyDetails) SetCreatedAt(v string) *AwsIamAccessKeyDetails { - s.CreatedAt = &v +// SetFromPort sets the FromPort field's value. +func (s *AwsEc2SecurityGroupIpPermission) SetFromPort(v int64) *AwsEc2SecurityGroupIpPermission { + s.FromPort = &v return s } -// SetPrincipalId sets the PrincipalId field's value. -func (s *AwsIamAccessKeyDetails) SetPrincipalId(v string) *AwsIamAccessKeyDetails { - s.PrincipalId = &v +// SetIpProtocol sets the IpProtocol field's value. +func (s *AwsEc2SecurityGroupIpPermission) SetIpProtocol(v string) *AwsEc2SecurityGroupIpPermission { + s.IpProtocol = &v return s } -// SetPrincipalName sets the PrincipalName field's value. -func (s *AwsIamAccessKeyDetails) SetPrincipalName(v string) *AwsIamAccessKeyDetails { - s.PrincipalName = &v +// SetIpRanges sets the IpRanges field's value. +func (s *AwsEc2SecurityGroupIpPermission) SetIpRanges(v []*AwsEc2SecurityGroupIpRange) *AwsEc2SecurityGroupIpPermission { + s.IpRanges = v return s } -// SetPrincipalType sets the PrincipalType field's value. -func (s *AwsIamAccessKeyDetails) SetPrincipalType(v string) *AwsIamAccessKeyDetails { - s.PrincipalType = &v +// SetIpv6Ranges sets the Ipv6Ranges field's value. +func (s *AwsEc2SecurityGroupIpPermission) SetIpv6Ranges(v []*AwsEc2SecurityGroupIpv6Range) *AwsEc2SecurityGroupIpPermission { + s.Ipv6Ranges = v return s } -// SetStatus sets the Status field's value. -func (s *AwsIamAccessKeyDetails) SetStatus(v string) *AwsIamAccessKeyDetails { - s.Status = &v +// SetPrefixListIds sets the PrefixListIds field's value. +func (s *AwsEc2SecurityGroupIpPermission) SetPrefixListIds(v []*AwsEc2SecurityGroupPrefixListId) *AwsEc2SecurityGroupIpPermission { + s.PrefixListIds = v return s } -// SetUserName sets the UserName field's value. -func (s *AwsIamAccessKeyDetails) SetUserName(v string) *AwsIamAccessKeyDetails { - s.UserName = &v +// SetToPort sets the ToPort field's value. +func (s *AwsEc2SecurityGroupIpPermission) SetToPort(v int64) *AwsEc2SecurityGroupIpPermission { + s.ToPort = &v return s } -// Contains information about an IAM role, including all of the role's policies. -type AwsIamRoleDetails struct { +// SetUserIdGroupPairs sets the UserIdGroupPairs field's value. +func (s *AwsEc2SecurityGroupIpPermission) SetUserIdGroupPairs(v []*AwsEc2SecurityGroupUserIdGroupPair) *AwsEc2SecurityGroupIpPermission { + s.UserIdGroupPairs = v + return s +} + +// A range of IPv4 addresses. +type AwsEc2SecurityGroupIpRange struct { _ struct{} `type:"structure"` - // The trust policy that grants permission to assume the role. - AssumeRolePolicyDocument *string `min:"1" type:"string"` + // The IPv4 CIDR range. You can specify either a CIDR range or a source security + // group, but not both. To specify a single IPv4 address, use the /32 prefix + // length. + CidrIp *string `type:"string"` +} - // The date and time, in ISO 8601 date-time format, when the role was created. - CreateDate *string `type:"string"` +// String returns the string representation +func (s AwsEc2SecurityGroupIpRange) String() string { + return awsutil.Prettify(s) +} - // The maximum session duration (in seconds) that you want to set for the specified - // role. - MaxSessionDuration *int64 `type:"integer"` +// GoString returns the string representation +func (s AwsEc2SecurityGroupIpRange) GoString() string { + return s.String() +} - // The path to the role. - Path *string `type:"string"` +// SetCidrIp sets the CidrIp field's value. +func (s *AwsEc2SecurityGroupIpRange) SetCidrIp(v string) *AwsEc2SecurityGroupIpRange { + s.CidrIp = &v + return s +} - // The stable and unique string identifying the role. - RoleId *string `type:"string"` +// A range of IPv6 addresses. +type AwsEc2SecurityGroupIpv6Range struct { + _ struct{} `type:"structure"` - // The friendly name that identifies the role. - RoleName *string `type:"string"` + // The IPv6 CIDR range. You can specify either a CIDR range or a source security + // group, but not both. To specify a single IPv6 address, use the /128 prefix + // length. + CidrIpv6 *string `type:"string"` } // String returns the string representation -func (s AwsIamRoleDetails) String() string { +func (s AwsEc2SecurityGroupIpv6Range) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsIamRoleDetails) GoString() string { +func (s AwsEc2SecurityGroupIpv6Range) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AwsIamRoleDetails) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AwsIamRoleDetails"} - if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value. -func (s *AwsIamRoleDetails) SetAssumeRolePolicyDocument(v string) *AwsIamRoleDetails { - s.AssumeRolePolicyDocument = &v +// SetCidrIpv6 sets the CidrIpv6 field's value. +func (s *AwsEc2SecurityGroupIpv6Range) SetCidrIpv6(v string) *AwsEc2SecurityGroupIpv6Range { + s.CidrIpv6 = &v return s } -// SetCreateDate sets the CreateDate field's value. -func (s *AwsIamRoleDetails) SetCreateDate(v string) *AwsIamRoleDetails { - s.CreateDate = &v - return s -} +// A prefix list ID. +type AwsEc2SecurityGroupPrefixListId struct { + _ struct{} `type:"structure"` -// SetMaxSessionDuration sets the MaxSessionDuration field's value. -func (s *AwsIamRoleDetails) SetMaxSessionDuration(v int64) *AwsIamRoleDetails { - s.MaxSessionDuration = &v - return s + // The ID of the prefix. + PrefixListId *string `type:"string"` } -// SetPath sets the Path field's value. -func (s *AwsIamRoleDetails) SetPath(v string) *AwsIamRoleDetails { - s.Path = &v - return s +// String returns the string representation +func (s AwsEc2SecurityGroupPrefixListId) String() string { + return awsutil.Prettify(s) } -// SetRoleId sets the RoleId field's value. -func (s *AwsIamRoleDetails) SetRoleId(v string) *AwsIamRoleDetails { - s.RoleId = &v - return s +// GoString returns the string representation +func (s AwsEc2SecurityGroupPrefixListId) GoString() string { + return s.String() } -// SetRoleName sets the RoleName field's value. -func (s *AwsIamRoleDetails) SetRoleName(v string) *AwsIamRoleDetails { - s.RoleName = &v +// SetPrefixListId sets the PrefixListId field's value. +func (s *AwsEc2SecurityGroupPrefixListId) SetPrefixListId(v string) *AwsEc2SecurityGroupPrefixListId { + s.PrefixListId = &v return s } -// Contains metadata about a customer master key (CMK). -type AwsKmsKeyDetails struct { +// A relationship between a security group and a user. +type AwsEc2SecurityGroupUserIdGroupPair struct { _ struct{} `type:"structure"` - // The twelve-digit account ID of the AWS account that owns the CMK. - AWSAccountId *string `type:"string"` - - // The date and time when the CMK was created. - CreationDate *float64 `type:"double"` - - // The globally unique identifier for the CMK. - KeyId *string `type:"string"` + // The ID of the security group. + GroupId *string `type:"string"` - // The manager of the CMK. CMKs in your AWS account are either customer managed - // or AWS managed. - KeyManager *string `type:"string"` + // The name of the security group. + GroupName *string `type:"string"` - // The state of the CMK. - KeyState *string `type:"string"` + // The status of a VPC peering connection, if applicable. + PeeringStatus *string `type:"string"` - // The source of the CMK's key material. - // - // When this value is AWS_KMS, AWS KMS created the key material. + // The ID of an AWS account. // - // When this value is EXTERNAL, the key material was imported from your existing - // key management infrastructure or the CMK lacks key material. + // For a referenced security group in another VPC, the account ID of the referenced + // security group is returned in the response. If the referenced security group + // is deleted, this value is not returned. // - // When this value is AWS_CLOUDHSM, the key material was created in the AWS - // CloudHSM cluster associated with a custom key store. - Origin *string `type:"string"` + // [EC2-Classic] Required when adding or removing rules that reference a security + // group in another AWS. + UserId *string `type:"string"` + + // The ID of the VPC for the referenced security group, if applicable. + VpcId *string `type:"string"` + + // The ID of the VPC peering connection, if applicable. + VpcPeeringConnectionId *string `type:"string"` } // String returns the string representation -func (s AwsKmsKeyDetails) String() string { +func (s AwsEc2SecurityGroupUserIdGroupPair) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsKmsKeyDetails) GoString() string { +func (s AwsEc2SecurityGroupUserIdGroupPair) GoString() string { return s.String() } -// SetAWSAccountId sets the AWSAccountId field's value. -func (s *AwsKmsKeyDetails) SetAWSAccountId(v string) *AwsKmsKeyDetails { - s.AWSAccountId = &v +// SetGroupId sets the GroupId field's value. +func (s *AwsEc2SecurityGroupUserIdGroupPair) SetGroupId(v string) *AwsEc2SecurityGroupUserIdGroupPair { + s.GroupId = &v return s } -// SetCreationDate sets the CreationDate field's value. -func (s *AwsKmsKeyDetails) SetCreationDate(v float64) *AwsKmsKeyDetails { - s.CreationDate = &v +// SetGroupName sets the GroupName field's value. +func (s *AwsEc2SecurityGroupUserIdGroupPair) SetGroupName(v string) *AwsEc2SecurityGroupUserIdGroupPair { + s.GroupName = &v return s } -// SetKeyId sets the KeyId field's value. -func (s *AwsKmsKeyDetails) SetKeyId(v string) *AwsKmsKeyDetails { - s.KeyId = &v +// SetPeeringStatus sets the PeeringStatus field's value. +func (s *AwsEc2SecurityGroupUserIdGroupPair) SetPeeringStatus(v string) *AwsEc2SecurityGroupUserIdGroupPair { + s.PeeringStatus = &v return s } -// SetKeyManager sets the KeyManager field's value. -func (s *AwsKmsKeyDetails) SetKeyManager(v string) *AwsKmsKeyDetails { - s.KeyManager = &v +// SetUserId sets the UserId field's value. +func (s *AwsEc2SecurityGroupUserIdGroupPair) SetUserId(v string) *AwsEc2SecurityGroupUserIdGroupPair { + s.UserId = &v return s } -// SetKeyState sets the KeyState field's value. -func (s *AwsKmsKeyDetails) SetKeyState(v string) *AwsKmsKeyDetails { - s.KeyState = &v +// SetVpcId sets the VpcId field's value. +func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcId(v string) *AwsEc2SecurityGroupUserIdGroupPair { + s.VpcId = &v return s } -// SetOrigin sets the Origin field's value. -func (s *AwsKmsKeyDetails) SetOrigin(v string) *AwsKmsKeyDetails { - s.Origin = &v +// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value. +func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcPeeringConnectionId(v string) *AwsEc2SecurityGroupUserIdGroupPair { + s.VpcPeeringConnectionId = &v return s } -// The code for the Lambda function. You can specify either an object in Amazon -// S3, or upload a deployment package directly. -type AwsLambdaFunctionCode struct { +// An attachment to an AWS EC2 volume. +type AwsEc2VolumeAttachment struct { _ struct{} `type:"structure"` - // An Amazon S3 bucket in the same AWS Region as your function. The bucket can - // be in a different AWS account. - S3Bucket *string `type:"string"` + // The datetime when the attachment initiated. + AttachTime *string `type:"string"` - // The Amazon S3 key of the deployment package. - S3Key *string `type:"string"` + // Whether the EBS volume is deleted when the EC2 instance is terminated. + DeleteOnTermination *bool `type:"boolean"` - // For versioned objects, the version of the deployment package object to use. - S3ObjectVersion *string `type:"string"` + // The identifier of the EC2 instance. + InstanceId *string `type:"string"` - // The base64-encoded contents of the deployment package. AWS SDK and AWS CLI - // clients handle the encoding for you. - ZipFile *string `type:"string"` + // The attachment state of the volume. + Status *string `type:"string"` } // String returns the string representation -func (s AwsLambdaFunctionCode) String() string { +func (s AwsEc2VolumeAttachment) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsLambdaFunctionCode) GoString() string { +func (s AwsEc2VolumeAttachment) GoString() string { return s.String() } -// SetS3Bucket sets the S3Bucket field's value. -func (s *AwsLambdaFunctionCode) SetS3Bucket(v string) *AwsLambdaFunctionCode { - s.S3Bucket = &v +// SetAttachTime sets the AttachTime field's value. +func (s *AwsEc2VolumeAttachment) SetAttachTime(v string) *AwsEc2VolumeAttachment { + s.AttachTime = &v + return s +} + +// SetDeleteOnTermination sets the DeleteOnTermination field's value. +func (s *AwsEc2VolumeAttachment) SetDeleteOnTermination(v bool) *AwsEc2VolumeAttachment { + s.DeleteOnTermination = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *AwsEc2VolumeAttachment) SetInstanceId(v string) *AwsEc2VolumeAttachment { + s.InstanceId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AwsEc2VolumeAttachment) SetStatus(v string) *AwsEc2VolumeAttachment { + s.Status = &v + return s +} + +// Details about an EC2 volume. +type AwsEc2VolumeDetails struct { + _ struct{} `type:"structure"` + + // The volume attachments. + Attachments []*AwsEc2VolumeAttachment `type:"list"` + + // Indicates when the volume was created. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + CreateTime *string `type:"string"` + + // Whether the volume is encrypted. + Encrypted *bool `type:"boolean"` + + // The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) + // that was used to protect the volume encryption key for the volume. + KmsKeyId *string `type:"string"` + + // The size of the volume, in GiBs. + Size *int64 `type:"integer"` + + // The snapshot from which the volume was created. + SnapshotId *string `type:"string"` + + // The volume state. + Status *string `type:"string"` +} + +// String returns the string representation +func (s AwsEc2VolumeDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsEc2VolumeDetails) GoString() string { + return s.String() +} + +// SetAttachments sets the Attachments field's value. +func (s *AwsEc2VolumeDetails) SetAttachments(v []*AwsEc2VolumeAttachment) *AwsEc2VolumeDetails { + s.Attachments = v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *AwsEc2VolumeDetails) SetCreateTime(v string) *AwsEc2VolumeDetails { + s.CreateTime = &v + return s +} + +// SetEncrypted sets the Encrypted field's value. +func (s *AwsEc2VolumeDetails) SetEncrypted(v bool) *AwsEc2VolumeDetails { + s.Encrypted = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *AwsEc2VolumeDetails) SetKmsKeyId(v string) *AwsEc2VolumeDetails { + s.KmsKeyId = &v + return s +} + +// SetSize sets the Size field's value. +func (s *AwsEc2VolumeDetails) SetSize(v int64) *AwsEc2VolumeDetails { + s.Size = &v + return s +} + +// SetSnapshotId sets the SnapshotId field's value. +func (s *AwsEc2VolumeDetails) SetSnapshotId(v string) *AwsEc2VolumeDetails { + s.SnapshotId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AwsEc2VolumeDetails) SetStatus(v string) *AwsEc2VolumeDetails { + s.Status = &v + return s +} + +// Details about an EC2 VPC. +type AwsEc2VpcDetails struct { + _ struct{} `type:"structure"` + + // Information about the IPv4 CIDR blocks associated with the VPC. + CidrBlockAssociationSet []*CidrBlockAssociation `type:"list"` + + // The identifier of the set of Dynamic Host Configuration Protocol (DHCP) options + // that are associated with the VPC. If the default options are associated with + // the VPC, then this is default. + DhcpOptionsId *string `type:"string"` + + // Information about the IPv6 CIDR blocks associated with the VPC. + Ipv6CidrBlockAssociationSet []*Ipv6CidrBlockAssociation `type:"list"` + + // The current state of the VPC. + State *string `type:"string"` +} + +// String returns the string representation +func (s AwsEc2VpcDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsEc2VpcDetails) GoString() string { + return s.String() +} + +// SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value. +func (s *AwsEc2VpcDetails) SetCidrBlockAssociationSet(v []*CidrBlockAssociation) *AwsEc2VpcDetails { + s.CidrBlockAssociationSet = v + return s +} + +// SetDhcpOptionsId sets the DhcpOptionsId field's value. +func (s *AwsEc2VpcDetails) SetDhcpOptionsId(v string) *AwsEc2VpcDetails { + s.DhcpOptionsId = &v + return s +} + +// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value. +func (s *AwsEc2VpcDetails) SetIpv6CidrBlockAssociationSet(v []*Ipv6CidrBlockAssociation) *AwsEc2VpcDetails { + s.Ipv6CidrBlockAssociationSet = v + return s +} + +// SetState sets the State field's value. +func (s *AwsEc2VpcDetails) SetState(v string) *AwsEc2VpcDetails { + s.State = &v + return s +} + +// Information about an Elasticsearch domain. +type AwsElasticsearchDomainDetails struct { + _ struct{} `type:"structure"` + + // IAM policy document specifying the access policies for the new Amazon ES + // domain. + AccessPolicies *string `type:"string"` + + // Additional options for the domain endpoint. + DomainEndpointOptions *AwsElasticsearchDomainDomainEndpointOptions `type:"structure"` + + // Unique identifier for an Amazon ES domain. + DomainId *string `type:"string"` + + // Name of an Amazon ES domain. + // + // Domain names are unique across all domains owned by the same account within + // an AWS Region. + // + // Domain names must start with a lowercase letter and must be between 3 and + // 28 characters. + // + // Valid characters are a-z (lowercase only), 0-9, and – (hyphen). + DomainName *string `type:"string"` + + // Elasticsearch version. + ElasticsearchVersion *string `type:"string"` + + // Details about the configuration for encryption at rest. + EncryptionAtRestOptions *AwsElasticsearchDomainEncryptionAtRestOptions `type:"structure"` + + // Domain-specific endpoint used to submit index, search, and data upload requests + // to an Amazon ES domain. + // + // The endpoint is a service URL. + Endpoint *string `type:"string"` + + // The key-value pair that exists if the Amazon ES domain uses VPC endpoints. + Endpoints map[string]*string `type:"map"` + + // Details about the configuration for node-to-node encryption. + NodeToNodeEncryptionOptions *AwsElasticsearchDomainNodeToNodeEncryptionOptions `type:"structure"` + + // Information that Amazon ES derives based on VPCOptions for the domain. + VPCOptions *AwsElasticsearchDomainVPCOptions `type:"structure"` +} + +// String returns the string representation +func (s AwsElasticsearchDomainDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsElasticsearchDomainDetails) GoString() string { + return s.String() +} + +// SetAccessPolicies sets the AccessPolicies field's value. +func (s *AwsElasticsearchDomainDetails) SetAccessPolicies(v string) *AwsElasticsearchDomainDetails { + s.AccessPolicies = &v + return s +} + +// SetDomainEndpointOptions sets the DomainEndpointOptions field's value. +func (s *AwsElasticsearchDomainDetails) SetDomainEndpointOptions(v *AwsElasticsearchDomainDomainEndpointOptions) *AwsElasticsearchDomainDetails { + s.DomainEndpointOptions = v + return s +} + +// SetDomainId sets the DomainId field's value. +func (s *AwsElasticsearchDomainDetails) SetDomainId(v string) *AwsElasticsearchDomainDetails { + s.DomainId = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *AwsElasticsearchDomainDetails) SetDomainName(v string) *AwsElasticsearchDomainDetails { + s.DomainName = &v + return s +} + +// SetElasticsearchVersion sets the ElasticsearchVersion field's value. +func (s *AwsElasticsearchDomainDetails) SetElasticsearchVersion(v string) *AwsElasticsearchDomainDetails { + s.ElasticsearchVersion = &v + return s +} + +// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value. +func (s *AwsElasticsearchDomainDetails) SetEncryptionAtRestOptions(v *AwsElasticsearchDomainEncryptionAtRestOptions) *AwsElasticsearchDomainDetails { + s.EncryptionAtRestOptions = v + return s +} + +// SetEndpoint sets the Endpoint field's value. +func (s *AwsElasticsearchDomainDetails) SetEndpoint(v string) *AwsElasticsearchDomainDetails { + s.Endpoint = &v + return s +} + +// SetEndpoints sets the Endpoints field's value. +func (s *AwsElasticsearchDomainDetails) SetEndpoints(v map[string]*string) *AwsElasticsearchDomainDetails { + s.Endpoints = v + return s +} + +// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value. +func (s *AwsElasticsearchDomainDetails) SetNodeToNodeEncryptionOptions(v *AwsElasticsearchDomainNodeToNodeEncryptionOptions) *AwsElasticsearchDomainDetails { + s.NodeToNodeEncryptionOptions = v + return s +} + +// SetVPCOptions sets the VPCOptions field's value. +func (s *AwsElasticsearchDomainDetails) SetVPCOptions(v *AwsElasticsearchDomainVPCOptions) *AwsElasticsearchDomainDetails { + s.VPCOptions = v + return s +} + +// Additional options for the domain endpoint, such as whether to require HTTPS +// for all traffic. +type AwsElasticsearchDomainDomainEndpointOptions struct { + _ struct{} `type:"structure"` + + // Whether to require that all traffic to the domain arrive over HTTPS. + EnforceHTTPS *bool `type:"boolean"` + + // The TLS security policy to apply to the HTTPS endpoint of the Elasticsearch + // domain. + // + // Valid values: + // + // * Policy-Min-TLS-1-0-2019-07, which supports TLSv1.0 and higher + // + // * Policy-Min-TLS-1-2-2019-07, which only supports TLSv1.2 + TLSSecurityPolicy *string `type:"string"` +} + +// String returns the string representation +func (s AwsElasticsearchDomainDomainEndpointOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsElasticsearchDomainDomainEndpointOptions) GoString() string { + return s.String() +} + +// SetEnforceHTTPS sets the EnforceHTTPS field's value. +func (s *AwsElasticsearchDomainDomainEndpointOptions) SetEnforceHTTPS(v bool) *AwsElasticsearchDomainDomainEndpointOptions { + s.EnforceHTTPS = &v + return s +} + +// SetTLSSecurityPolicy sets the TLSSecurityPolicy field's value. +func (s *AwsElasticsearchDomainDomainEndpointOptions) SetTLSSecurityPolicy(v string) *AwsElasticsearchDomainDomainEndpointOptions { + s.TLSSecurityPolicy = &v + return s +} + +// Details about the configuration for encryption at rest. +type AwsElasticsearchDomainEncryptionAtRestOptions struct { + _ struct{} `type:"structure"` + + // Whether encryption at rest is enabled. + Enabled *bool `type:"boolean"` + + // The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a. + KmsKeyId *string `type:"string"` +} + +// String returns the string representation +func (s AwsElasticsearchDomainEncryptionAtRestOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsElasticsearchDomainEncryptionAtRestOptions) GoString() string { + return s.String() +} + +// SetEnabled sets the Enabled field's value. +func (s *AwsElasticsearchDomainEncryptionAtRestOptions) SetEnabled(v bool) *AwsElasticsearchDomainEncryptionAtRestOptions { + s.Enabled = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *AwsElasticsearchDomainEncryptionAtRestOptions) SetKmsKeyId(v string) *AwsElasticsearchDomainEncryptionAtRestOptions { + s.KmsKeyId = &v + return s +} + +// Details about the configuration for node-to-node encryption. +type AwsElasticsearchDomainNodeToNodeEncryptionOptions struct { + _ struct{} `type:"structure"` + + // Whether node-to-node encryption is enabled. + Enabled *bool `type:"boolean"` +} + +// String returns the string representation +func (s AwsElasticsearchDomainNodeToNodeEncryptionOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsElasticsearchDomainNodeToNodeEncryptionOptions) GoString() string { + return s.String() +} + +// SetEnabled sets the Enabled field's value. +func (s *AwsElasticsearchDomainNodeToNodeEncryptionOptions) SetEnabled(v bool) *AwsElasticsearchDomainNodeToNodeEncryptionOptions { + s.Enabled = &v + return s +} + +// Information that Amazon ES derives based on VPCOptions for the domain. +type AwsElasticsearchDomainVPCOptions struct { + _ struct{} `type:"structure"` + + // The list of Availability Zones associated with the VPC subnets. + AvailabilityZones []*string `type:"list"` + + // The list of security group IDs associated with the VPC endpoints for the + // domain. + SecurityGroupIds []*string `type:"list"` + + // A list of subnet IDs associated with the VPC endpoints for the domain. + SubnetIds []*string `type:"list"` + + // ID for the VPC. + VPCId *string `type:"string"` +} + +// String returns the string representation +func (s AwsElasticsearchDomainVPCOptions) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsElasticsearchDomainVPCOptions) GoString() string { + return s.String() +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *AwsElasticsearchDomainVPCOptions) SetAvailabilityZones(v []*string) *AwsElasticsearchDomainVPCOptions { + s.AvailabilityZones = v + return s +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *AwsElasticsearchDomainVPCOptions) SetSecurityGroupIds(v []*string) *AwsElasticsearchDomainVPCOptions { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *AwsElasticsearchDomainVPCOptions) SetSubnetIds(v []*string) *AwsElasticsearchDomainVPCOptions { + s.SubnetIds = v + return s +} + +// SetVPCId sets the VPCId field's value. +func (s *AwsElasticsearchDomainVPCOptions) SetVPCId(v string) *AwsElasticsearchDomainVPCOptions { + s.VPCId = &v + return s +} + +// Information about a load balancer. +type AwsElbv2LoadBalancerDetails struct { + _ struct{} `type:"structure"` + + // The Availability Zones for the load balancer. + AvailabilityZones []*AvailabilityZone `type:"list"` + + // The ID of the Amazon Route 53 hosted zone associated with the load balancer. + CanonicalHostedZoneId *string `type:"string"` + + // Indicates when the load balancer was created. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + CreatedTime *string `type:"string"` + + // The public DNS name of the load balancer. + DNSName *string `type:"string"` + + // The type of IP addresses used by the subnets for your load balancer. The + // possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and + // IPv6 addresses). + IpAddressType *string `type:"string"` + + // The nodes of an Internet-facing load balancer have public IP addresses. + Scheme *string `type:"string"` + + // The IDs of the security groups for the load balancer. + SecurityGroups []*string `type:"list"` + + // The state of the load balancer. + State *LoadBalancerState `type:"structure"` + + // The type of load balancer. + Type *string `type:"string"` + + // The ID of the VPC for the load balancer. + VpcId *string `type:"string"` +} + +// String returns the string representation +func (s AwsElbv2LoadBalancerDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsElbv2LoadBalancerDetails) GoString() string { + return s.String() +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *AwsElbv2LoadBalancerDetails) SetAvailabilityZones(v []*AvailabilityZone) *AwsElbv2LoadBalancerDetails { + s.AvailabilityZones = v + return s +} + +// SetCanonicalHostedZoneId sets the CanonicalHostedZoneId field's value. +func (s *AwsElbv2LoadBalancerDetails) SetCanonicalHostedZoneId(v string) *AwsElbv2LoadBalancerDetails { + s.CanonicalHostedZoneId = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *AwsElbv2LoadBalancerDetails) SetCreatedTime(v string) *AwsElbv2LoadBalancerDetails { + s.CreatedTime = &v + return s +} + +// SetDNSName sets the DNSName field's value. +func (s *AwsElbv2LoadBalancerDetails) SetDNSName(v string) *AwsElbv2LoadBalancerDetails { + s.DNSName = &v + return s +} + +// SetIpAddressType sets the IpAddressType field's value. +func (s *AwsElbv2LoadBalancerDetails) SetIpAddressType(v string) *AwsElbv2LoadBalancerDetails { + s.IpAddressType = &v + return s +} + +// SetScheme sets the Scheme field's value. +func (s *AwsElbv2LoadBalancerDetails) SetScheme(v string) *AwsElbv2LoadBalancerDetails { + s.Scheme = &v + return s +} + +// SetSecurityGroups sets the SecurityGroups field's value. +func (s *AwsElbv2LoadBalancerDetails) SetSecurityGroups(v []*string) *AwsElbv2LoadBalancerDetails { + s.SecurityGroups = v + return s +} + +// SetState sets the State field's value. +func (s *AwsElbv2LoadBalancerDetails) SetState(v *LoadBalancerState) *AwsElbv2LoadBalancerDetails { + s.State = v + return s +} + +// SetType sets the Type field's value. +func (s *AwsElbv2LoadBalancerDetails) SetType(v string) *AwsElbv2LoadBalancerDetails { + s.Type = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *AwsElbv2LoadBalancerDetails) SetVpcId(v string) *AwsElbv2LoadBalancerDetails { + s.VpcId = &v + return s +} + +// IAM access key details related to a finding. +type AwsIamAccessKeyDetails struct { + _ struct{} `type:"structure"` + + // Indicates when the IAM access key was created. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + CreatedAt *string `type:"string"` + + // The ID of the principal associated with an access key. + PrincipalId *string `type:"string"` + + // The name of the principal. + PrincipalName *string `type:"string"` + + // The type of principal associated with an access key. + PrincipalType *string `type:"string"` + + // The status of the IAM access key related to a finding. + Status *string `type:"string" enum:"AwsIamAccessKeyStatus"` + + // The user associated with the IAM access key related to a finding. + // + // The UserName parameter has been replaced with the PrincipalName parameter + // because access keys can also be assigned to principals that are not IAM users. + // + // Deprecated: This field is deprecated, use PrincipalName instead. + UserName *string `deprecated:"true" type:"string"` +} + +// String returns the string representation +func (s AwsIamAccessKeyDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsIamAccessKeyDetails) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *AwsIamAccessKeyDetails) SetCreatedAt(v string) *AwsIamAccessKeyDetails { + s.CreatedAt = &v + return s +} + +// SetPrincipalId sets the PrincipalId field's value. +func (s *AwsIamAccessKeyDetails) SetPrincipalId(v string) *AwsIamAccessKeyDetails { + s.PrincipalId = &v + return s +} + +// SetPrincipalName sets the PrincipalName field's value. +func (s *AwsIamAccessKeyDetails) SetPrincipalName(v string) *AwsIamAccessKeyDetails { + s.PrincipalName = &v + return s +} + +// SetPrincipalType sets the PrincipalType field's value. +func (s *AwsIamAccessKeyDetails) SetPrincipalType(v string) *AwsIamAccessKeyDetails { + s.PrincipalType = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AwsIamAccessKeyDetails) SetStatus(v string) *AwsIamAccessKeyDetails { + s.Status = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *AwsIamAccessKeyDetails) SetUserName(v string) *AwsIamAccessKeyDetails { + s.UserName = &v + return s +} + +// A managed policy that is attached to an IAM user. +type AwsIamAttachedManagedPolicy struct { + _ struct{} `type:"structure"` + + // The ARN of the policy. + PolicyArn *string `type:"string"` + + // The name of the policy. + PolicyName *string `type:"string"` +} + +// String returns the string representation +func (s AwsIamAttachedManagedPolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsIamAttachedManagedPolicy) GoString() string { + return s.String() +} + +// SetPolicyArn sets the PolicyArn field's value. +func (s *AwsIamAttachedManagedPolicy) SetPolicyArn(v string) *AwsIamAttachedManagedPolicy { + s.PolicyArn = &v + return s +} + +// SetPolicyName sets the PolicyName field's value. +func (s *AwsIamAttachedManagedPolicy) SetPolicyName(v string) *AwsIamAttachedManagedPolicy { + s.PolicyName = &v + return s +} + +// Information about the policy used to set the permissions boundary for an +// IAM user. +type AwsIamPermissionsBoundary struct { + _ struct{} `type:"structure"` + + // The ARN of the policy used to set the permissions boundary for the user. + PermissionsBoundaryArn *string `type:"string"` + + // The usage type for the permissions boundary. + PermissionsBoundaryType *string `type:"string"` +} + +// String returns the string representation +func (s AwsIamPermissionsBoundary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsIamPermissionsBoundary) GoString() string { + return s.String() +} + +// SetPermissionsBoundaryArn sets the PermissionsBoundaryArn field's value. +func (s *AwsIamPermissionsBoundary) SetPermissionsBoundaryArn(v string) *AwsIamPermissionsBoundary { + s.PermissionsBoundaryArn = &v + return s +} + +// SetPermissionsBoundaryType sets the PermissionsBoundaryType field's value. +func (s *AwsIamPermissionsBoundary) SetPermissionsBoundaryType(v string) *AwsIamPermissionsBoundary { + s.PermissionsBoundaryType = &v + return s +} + +// Represents an IAM permissions policy. +type AwsIamPolicyDetails struct { + _ struct{} `type:"structure"` + + // The number of users, groups, and roles that the policy is attached to. + AttachmentCount *int64 `type:"integer"` + + // When the policy was created. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + CreateDate *string `type:"string"` + + // The identifier of the default version of the policy. + DefaultVersionId *string `type:"string"` + + // A description of the policy. + Description *string `type:"string"` + + // Whether the policy can be attached to a user, group, or role. + IsAttachable *bool `type:"boolean"` + + // The path to the policy. + Path *string `type:"string"` + + // The number of users and roles that use the policy to set the permissions + // boundary. + PermissionsBoundaryUsageCount *int64 `type:"integer"` + + // The unique identifier of the policy. + PolicyId *string `type:"string"` + + // The name of the policy. + PolicyName *string `type:"string"` + + // List of versions of the policy. + PolicyVersionList []*AwsIamPolicyVersion `type:"list"` + + // When the policy was most recently updated. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + UpdateDate *string `type:"string"` +} + +// String returns the string representation +func (s AwsIamPolicyDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsIamPolicyDetails) GoString() string { + return s.String() +} + +// SetAttachmentCount sets the AttachmentCount field's value. +func (s *AwsIamPolicyDetails) SetAttachmentCount(v int64) *AwsIamPolicyDetails { + s.AttachmentCount = &v + return s +} + +// SetCreateDate sets the CreateDate field's value. +func (s *AwsIamPolicyDetails) SetCreateDate(v string) *AwsIamPolicyDetails { + s.CreateDate = &v + return s +} + +// SetDefaultVersionId sets the DefaultVersionId field's value. +func (s *AwsIamPolicyDetails) SetDefaultVersionId(v string) *AwsIamPolicyDetails { + s.DefaultVersionId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *AwsIamPolicyDetails) SetDescription(v string) *AwsIamPolicyDetails { + s.Description = &v + return s +} + +// SetIsAttachable sets the IsAttachable field's value. +func (s *AwsIamPolicyDetails) SetIsAttachable(v bool) *AwsIamPolicyDetails { + s.IsAttachable = &v + return s +} + +// SetPath sets the Path field's value. +func (s *AwsIamPolicyDetails) SetPath(v string) *AwsIamPolicyDetails { + s.Path = &v + return s +} + +// SetPermissionsBoundaryUsageCount sets the PermissionsBoundaryUsageCount field's value. +func (s *AwsIamPolicyDetails) SetPermissionsBoundaryUsageCount(v int64) *AwsIamPolicyDetails { + s.PermissionsBoundaryUsageCount = &v + return s +} + +// SetPolicyId sets the PolicyId field's value. +func (s *AwsIamPolicyDetails) SetPolicyId(v string) *AwsIamPolicyDetails { + s.PolicyId = &v + return s +} + +// SetPolicyName sets the PolicyName field's value. +func (s *AwsIamPolicyDetails) SetPolicyName(v string) *AwsIamPolicyDetails { + s.PolicyName = &v + return s +} + +// SetPolicyVersionList sets the PolicyVersionList field's value. +func (s *AwsIamPolicyDetails) SetPolicyVersionList(v []*AwsIamPolicyVersion) *AwsIamPolicyDetails { + s.PolicyVersionList = v + return s +} + +// SetUpdateDate sets the UpdateDate field's value. +func (s *AwsIamPolicyDetails) SetUpdateDate(v string) *AwsIamPolicyDetails { + s.UpdateDate = &v + return s +} + +// A version of an IAM policy. +type AwsIamPolicyVersion struct { + _ struct{} `type:"structure"` + + // Indicates when the version was created. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + CreateDate *string `type:"string"` + + // Whether the version is the default version. + IsDefaultVersion *bool `type:"boolean"` + + // The identifier of the policy version. + VersionId *string `type:"string"` +} + +// String returns the string representation +func (s AwsIamPolicyVersion) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsIamPolicyVersion) GoString() string { + return s.String() +} + +// SetCreateDate sets the CreateDate field's value. +func (s *AwsIamPolicyVersion) SetCreateDate(v string) *AwsIamPolicyVersion { + s.CreateDate = &v + return s +} + +// SetIsDefaultVersion sets the IsDefaultVersion field's value. +func (s *AwsIamPolicyVersion) SetIsDefaultVersion(v bool) *AwsIamPolicyVersion { + s.IsDefaultVersion = &v + return s +} + +// SetVersionId sets the VersionId field's value. +func (s *AwsIamPolicyVersion) SetVersionId(v string) *AwsIamPolicyVersion { + s.VersionId = &v + return s +} + +// Contains information about an IAM role, including all of the role's policies. +type AwsIamRoleDetails struct { + _ struct{} `type:"structure"` + + // The trust policy that grants permission to assume the role. + AssumeRolePolicyDocument *string `min:"1" type:"string"` + + // Indicates when the role was created. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + CreateDate *string `type:"string"` + + // The maximum session duration (in seconds) that you want to set for the specified + // role. + MaxSessionDuration *int64 `type:"integer"` + + // The path to the role. + Path *string `type:"string"` + + // The stable and unique string identifying the role. + RoleId *string `type:"string"` + + // The friendly name that identifies the role. + RoleName *string `type:"string"` +} + +// String returns the string representation +func (s AwsIamRoleDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsIamRoleDetails) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AwsIamRoleDetails) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AwsIamRoleDetails"} + if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value. +func (s *AwsIamRoleDetails) SetAssumeRolePolicyDocument(v string) *AwsIamRoleDetails { + s.AssumeRolePolicyDocument = &v + return s +} + +// SetCreateDate sets the CreateDate field's value. +func (s *AwsIamRoleDetails) SetCreateDate(v string) *AwsIamRoleDetails { + s.CreateDate = &v + return s +} + +// SetMaxSessionDuration sets the MaxSessionDuration field's value. +func (s *AwsIamRoleDetails) SetMaxSessionDuration(v int64) *AwsIamRoleDetails { + s.MaxSessionDuration = &v + return s +} + +// SetPath sets the Path field's value. +func (s *AwsIamRoleDetails) SetPath(v string) *AwsIamRoleDetails { + s.Path = &v + return s +} + +// SetRoleId sets the RoleId field's value. +func (s *AwsIamRoleDetails) SetRoleId(v string) *AwsIamRoleDetails { + s.RoleId = &v + return s +} + +// SetRoleName sets the RoleName field's value. +func (s *AwsIamRoleDetails) SetRoleName(v string) *AwsIamRoleDetails { + s.RoleName = &v + return s +} + +// Information about an IAM user. +type AwsIamUserDetails struct { + _ struct{} `type:"structure"` + + // A list of the managed policies that are attached to the user. + AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"` + + // Indicates when the user was created. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + CreateDate *string `type:"string"` + + // A list of IAM groups that the user belongs to. + GroupList []*string `type:"list"` + + // The path to the user. + Path *string `type:"string"` + + // The permissions boundary for the user. + PermissionsBoundary *AwsIamPermissionsBoundary `type:"structure"` + + // The unique identifier for the user. + UserId *string `type:"string"` + + // The name of the user. + UserName *string `type:"string"` + + // The list of inline policies that are embedded in the user. + UserPolicyList []*AwsIamUserPolicy `type:"list"` +} + +// String returns the string representation +func (s AwsIamUserDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsIamUserDetails) GoString() string { + return s.String() +} + +// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value. +func (s *AwsIamUserDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamUserDetails { + s.AttachedManagedPolicies = v + return s +} + +// SetCreateDate sets the CreateDate field's value. +func (s *AwsIamUserDetails) SetCreateDate(v string) *AwsIamUserDetails { + s.CreateDate = &v + return s +} + +// SetGroupList sets the GroupList field's value. +func (s *AwsIamUserDetails) SetGroupList(v []*string) *AwsIamUserDetails { + s.GroupList = v + return s +} + +// SetPath sets the Path field's value. +func (s *AwsIamUserDetails) SetPath(v string) *AwsIamUserDetails { + s.Path = &v + return s +} + +// SetPermissionsBoundary sets the PermissionsBoundary field's value. +func (s *AwsIamUserDetails) SetPermissionsBoundary(v *AwsIamPermissionsBoundary) *AwsIamUserDetails { + s.PermissionsBoundary = v + return s +} + +// SetUserId sets the UserId field's value. +func (s *AwsIamUserDetails) SetUserId(v string) *AwsIamUserDetails { + s.UserId = &v + return s +} + +// SetUserName sets the UserName field's value. +func (s *AwsIamUserDetails) SetUserName(v string) *AwsIamUserDetails { + s.UserName = &v + return s +} + +// SetUserPolicyList sets the UserPolicyList field's value. +func (s *AwsIamUserDetails) SetUserPolicyList(v []*AwsIamUserPolicy) *AwsIamUserDetails { + s.UserPolicyList = v + return s +} + +// Information about an inline policy that is embedded in the user. +type AwsIamUserPolicy struct { + _ struct{} `type:"structure"` + + // The name of the policy. + PolicyName *string `type:"string"` +} + +// String returns the string representation +func (s AwsIamUserPolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsIamUserPolicy) GoString() string { + return s.String() +} + +// SetPolicyName sets the PolicyName field's value. +func (s *AwsIamUserPolicy) SetPolicyName(v string) *AwsIamUserPolicy { + s.PolicyName = &v + return s +} + +// Contains metadata about a customer master key (CMK). +type AwsKmsKeyDetails struct { + _ struct{} `type:"structure"` + + // The twelve-digit account ID of the AWS account that owns the CMK. + AWSAccountId *string `type:"string"` + + // Indicates when the CMK was created. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + CreationDate *float64 `type:"double"` + + // A description of the key. + Description *string `type:"string"` + + // The globally unique identifier for the CMK. + KeyId *string `type:"string"` + + // The manager of the CMK. CMKs in your AWS account are either customer managed + // or AWS managed. + KeyManager *string `type:"string"` + + // The state of the CMK. + KeyState *string `type:"string"` + + // The source of the CMK's key material. + // + // When this value is AWS_KMS, AWS KMS created the key material. + // + // When this value is EXTERNAL, the key material was imported from your existing + // key management infrastructure or the CMK lacks key material. + // + // When this value is AWS_CLOUDHSM, the key material was created in the AWS + // CloudHSM cluster associated with a custom key store. + Origin *string `type:"string"` +} + +// String returns the string representation +func (s AwsKmsKeyDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsKmsKeyDetails) GoString() string { + return s.String() +} + +// SetAWSAccountId sets the AWSAccountId field's value. +func (s *AwsKmsKeyDetails) SetAWSAccountId(v string) *AwsKmsKeyDetails { + s.AWSAccountId = &v + return s +} + +// SetCreationDate sets the CreationDate field's value. +func (s *AwsKmsKeyDetails) SetCreationDate(v float64) *AwsKmsKeyDetails { + s.CreationDate = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *AwsKmsKeyDetails) SetDescription(v string) *AwsKmsKeyDetails { + s.Description = &v + return s +} + +// SetKeyId sets the KeyId field's value. +func (s *AwsKmsKeyDetails) SetKeyId(v string) *AwsKmsKeyDetails { + s.KeyId = &v + return s +} + +// SetKeyManager sets the KeyManager field's value. +func (s *AwsKmsKeyDetails) SetKeyManager(v string) *AwsKmsKeyDetails { + s.KeyManager = &v + return s +} + +// SetKeyState sets the KeyState field's value. +func (s *AwsKmsKeyDetails) SetKeyState(v string) *AwsKmsKeyDetails { + s.KeyState = &v + return s +} + +// SetOrigin sets the Origin field's value. +func (s *AwsKmsKeyDetails) SetOrigin(v string) *AwsKmsKeyDetails { + s.Origin = &v + return s +} + +// The code for the Lambda function. You can specify either an object in Amazon +// S3, or upload a deployment package directly. +type AwsLambdaFunctionCode struct { + _ struct{} `type:"structure"` + + // An Amazon S3 bucket in the same AWS Region as your function. The bucket can + // be in a different AWS account. + S3Bucket *string `type:"string"` + + // The Amazon S3 key of the deployment package. + S3Key *string `type:"string"` + + // For versioned objects, the version of the deployment package object to use. + S3ObjectVersion *string `type:"string"` + + // The base64-encoded contents of the deployment package. AWS SDK and AWS CLI + // clients handle the encoding for you. + ZipFile *string `type:"string"` +} + +// String returns the string representation +func (s AwsLambdaFunctionCode) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsLambdaFunctionCode) GoString() string { + return s.String() +} + +// SetS3Bucket sets the S3Bucket field's value. +func (s *AwsLambdaFunctionCode) SetS3Bucket(v string) *AwsLambdaFunctionCode { + s.S3Bucket = &v + return s +} + +// SetS3Key sets the S3Key field's value. +func (s *AwsLambdaFunctionCode) SetS3Key(v string) *AwsLambdaFunctionCode { + s.S3Key = &v + return s +} + +// SetS3ObjectVersion sets the S3ObjectVersion field's value. +func (s *AwsLambdaFunctionCode) SetS3ObjectVersion(v string) *AwsLambdaFunctionCode { + s.S3ObjectVersion = &v + return s +} + +// SetZipFile sets the ZipFile field's value. +func (s *AwsLambdaFunctionCode) SetZipFile(v string) *AwsLambdaFunctionCode { + s.ZipFile = &v + return s +} + +// The dead-letter queue for failed asynchronous invocations. +type AwsLambdaFunctionDeadLetterConfig struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic. + TargetArn *string `type:"string"` +} + +// String returns the string representation +func (s AwsLambdaFunctionDeadLetterConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsLambdaFunctionDeadLetterConfig) GoString() string { + return s.String() +} + +// SetTargetArn sets the TargetArn field's value. +func (s *AwsLambdaFunctionDeadLetterConfig) SetTargetArn(v string) *AwsLambdaFunctionDeadLetterConfig { + s.TargetArn = &v + return s +} + +// Details about a function's configuration. +type AwsLambdaFunctionDetails struct { + _ struct{} `type:"structure"` + + // An AwsLambdaFunctionCode object. + Code *AwsLambdaFunctionCode `type:"structure"` + + // The SHA256 hash of the function's deployment package. + CodeSha256 *string `type:"string"` + + // The function's dead letter queue. + DeadLetterConfig *AwsLambdaFunctionDeadLetterConfig `type:"structure"` + + // The function's environment variables. + Environment *AwsLambdaFunctionEnvironment `type:"structure"` + + // The name of the function. + FunctionName *string `type:"string"` + + // The function that Lambda calls to begin executing your function. + Handler *string `type:"string"` + + // The KMS key that's used to encrypt the function's environment variables. + // This key is only returned if you've configured a customer managed CMK. + KmsKeyArn *string `type:"string"` + + // Indicates when the function was last updated. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + LastModified *string `type:"string"` + + // The function's layers. + Layers []*AwsLambdaFunctionLayer `type:"list"` + + // For Lambda@Edge functions, the ARN of the master function. + MasterArn *string `type:"string"` + + // The memory that's allocated to the function. + MemorySize *int64 `type:"integer"` + + // The latest updated revision of the function or alias. + RevisionId *string `type:"string"` + + // The function's execution role. + Role *string `type:"string"` + + // The runtime environment for the Lambda function. + Runtime *string `type:"string"` + + // The amount of time that Lambda allows a function to run before stopping it. + Timeout *int64 `type:"integer"` + + // The function's AWS X-Ray tracing configuration. + TracingConfig *AwsLambdaFunctionTracingConfig `type:"structure"` + + // The version of the Lambda function. + Version *string `type:"string"` + + // The function's networking configuration. + VpcConfig *AwsLambdaFunctionVpcConfig `type:"structure"` +} + +// String returns the string representation +func (s AwsLambdaFunctionDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsLambdaFunctionDetails) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *AwsLambdaFunctionDetails) SetCode(v *AwsLambdaFunctionCode) *AwsLambdaFunctionDetails { + s.Code = v + return s +} + +// SetCodeSha256 sets the CodeSha256 field's value. +func (s *AwsLambdaFunctionDetails) SetCodeSha256(v string) *AwsLambdaFunctionDetails { + s.CodeSha256 = &v + return s +} + +// SetDeadLetterConfig sets the DeadLetterConfig field's value. +func (s *AwsLambdaFunctionDetails) SetDeadLetterConfig(v *AwsLambdaFunctionDeadLetterConfig) *AwsLambdaFunctionDetails { + s.DeadLetterConfig = v + return s +} + +// SetEnvironment sets the Environment field's value. +func (s *AwsLambdaFunctionDetails) SetEnvironment(v *AwsLambdaFunctionEnvironment) *AwsLambdaFunctionDetails { + s.Environment = v + return s +} + +// SetFunctionName sets the FunctionName field's value. +func (s *AwsLambdaFunctionDetails) SetFunctionName(v string) *AwsLambdaFunctionDetails { + s.FunctionName = &v + return s +} + +// SetHandler sets the Handler field's value. +func (s *AwsLambdaFunctionDetails) SetHandler(v string) *AwsLambdaFunctionDetails { + s.Handler = &v + return s +} + +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *AwsLambdaFunctionDetails) SetKmsKeyArn(v string) *AwsLambdaFunctionDetails { + s.KmsKeyArn = &v + return s +} + +// SetLastModified sets the LastModified field's value. +func (s *AwsLambdaFunctionDetails) SetLastModified(v string) *AwsLambdaFunctionDetails { + s.LastModified = &v + return s +} + +// SetLayers sets the Layers field's value. +func (s *AwsLambdaFunctionDetails) SetLayers(v []*AwsLambdaFunctionLayer) *AwsLambdaFunctionDetails { + s.Layers = v + return s +} + +// SetMasterArn sets the MasterArn field's value. +func (s *AwsLambdaFunctionDetails) SetMasterArn(v string) *AwsLambdaFunctionDetails { + s.MasterArn = &v + return s +} + +// SetMemorySize sets the MemorySize field's value. +func (s *AwsLambdaFunctionDetails) SetMemorySize(v int64) *AwsLambdaFunctionDetails { + s.MemorySize = &v + return s +} + +// SetRevisionId sets the RevisionId field's value. +func (s *AwsLambdaFunctionDetails) SetRevisionId(v string) *AwsLambdaFunctionDetails { + s.RevisionId = &v + return s +} + +// SetRole sets the Role field's value. +func (s *AwsLambdaFunctionDetails) SetRole(v string) *AwsLambdaFunctionDetails { + s.Role = &v + return s +} + +// SetRuntime sets the Runtime field's value. +func (s *AwsLambdaFunctionDetails) SetRuntime(v string) *AwsLambdaFunctionDetails { + s.Runtime = &v + return s +} + +// SetTimeout sets the Timeout field's value. +func (s *AwsLambdaFunctionDetails) SetTimeout(v int64) *AwsLambdaFunctionDetails { + s.Timeout = &v + return s +} + +// SetTracingConfig sets the TracingConfig field's value. +func (s *AwsLambdaFunctionDetails) SetTracingConfig(v *AwsLambdaFunctionTracingConfig) *AwsLambdaFunctionDetails { + s.TracingConfig = v + return s +} + +// SetVersion sets the Version field's value. +func (s *AwsLambdaFunctionDetails) SetVersion(v string) *AwsLambdaFunctionDetails { + s.Version = &v + return s +} + +// SetVpcConfig sets the VpcConfig field's value. +func (s *AwsLambdaFunctionDetails) SetVpcConfig(v *AwsLambdaFunctionVpcConfig) *AwsLambdaFunctionDetails { + s.VpcConfig = v + return s +} + +// A function's environment variable settings. +type AwsLambdaFunctionEnvironment struct { + _ struct{} `type:"structure"` + + // An AwsLambdaFunctionEnvironmentError object. + Error *AwsLambdaFunctionEnvironmentError `type:"structure"` + + // Environment variable key-value pairs. + Variables map[string]*string `type:"map"` +} + +// String returns the string representation +func (s AwsLambdaFunctionEnvironment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsLambdaFunctionEnvironment) GoString() string { + return s.String() +} + +// SetError sets the Error field's value. +func (s *AwsLambdaFunctionEnvironment) SetError(v *AwsLambdaFunctionEnvironmentError) *AwsLambdaFunctionEnvironment { + s.Error = v + return s +} + +// SetVariables sets the Variables field's value. +func (s *AwsLambdaFunctionEnvironment) SetVariables(v map[string]*string) *AwsLambdaFunctionEnvironment { + s.Variables = v + return s +} + +// Error messages for environment variables that couldn't be applied. +type AwsLambdaFunctionEnvironmentError struct { + _ struct{} `type:"structure"` + + // The error code. + ErrorCode *string `type:"string"` + + // The error message. + Message *string `type:"string"` +} + +// String returns the string representation +func (s AwsLambdaFunctionEnvironmentError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsLambdaFunctionEnvironmentError) GoString() string { + return s.String() +} + +// SetErrorCode sets the ErrorCode field's value. +func (s *AwsLambdaFunctionEnvironmentError) SetErrorCode(v string) *AwsLambdaFunctionEnvironmentError { + s.ErrorCode = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *AwsLambdaFunctionEnvironmentError) SetMessage(v string) *AwsLambdaFunctionEnvironmentError { + s.Message = &v + return s +} + +// An AWS Lambda layer. +type AwsLambdaFunctionLayer struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the function layer. + Arn *string `type:"string"` + + // The size of the layer archive in bytes. + CodeSize *int64 `type:"integer"` +} + +// String returns the string representation +func (s AwsLambdaFunctionLayer) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsLambdaFunctionLayer) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *AwsLambdaFunctionLayer) SetArn(v string) *AwsLambdaFunctionLayer { + s.Arn = &v + return s +} + +// SetCodeSize sets the CodeSize field's value. +func (s *AwsLambdaFunctionLayer) SetCodeSize(v int64) *AwsLambdaFunctionLayer { + s.CodeSize = &v + return s +} + +// The function's AWS X-Ray tracing configuration. +type AwsLambdaFunctionTracingConfig struct { + _ struct{} `type:"structure"` + + // The tracing mode. + Mode *string `type:"string"` +} + +// String returns the string representation +func (s AwsLambdaFunctionTracingConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsLambdaFunctionTracingConfig) GoString() string { + return s.String() +} + +// SetMode sets the Mode field's value. +func (s *AwsLambdaFunctionTracingConfig) SetMode(v string) *AwsLambdaFunctionTracingConfig { + s.Mode = &v + return s +} + +// The VPC security groups and subnets that are attached to a Lambda function. +// For more information, see VPC Settings. +type AwsLambdaFunctionVpcConfig struct { + _ struct{} `type:"structure"` + + // A list of VPC security groups IDs. + SecurityGroupIds []*string `type:"list"` + + // A list of VPC subnet IDs. + SubnetIds []*string `type:"list"` + + // The ID of the VPC. + VpcId *string `type:"string"` +} + +// String returns the string representation +func (s AwsLambdaFunctionVpcConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsLambdaFunctionVpcConfig) GoString() string { + return s.String() +} + +// SetSecurityGroupIds sets the SecurityGroupIds field's value. +func (s *AwsLambdaFunctionVpcConfig) SetSecurityGroupIds(v []*string) *AwsLambdaFunctionVpcConfig { + s.SecurityGroupIds = v + return s +} + +// SetSubnetIds sets the SubnetIds field's value. +func (s *AwsLambdaFunctionVpcConfig) SetSubnetIds(v []*string) *AwsLambdaFunctionVpcConfig { + s.SubnetIds = v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *AwsLambdaFunctionVpcConfig) SetVpcId(v string) *AwsLambdaFunctionVpcConfig { + s.VpcId = &v + return s +} + +// Details about a Lambda layer version. +type AwsLambdaLayerVersionDetails struct { + _ struct{} `type:"structure"` + + // The layer's compatible runtimes. Maximum number of five items. + // + // Valid values: nodejs10.x | nodejs12.x | java8 | java11 | python2.7 | python3.6 + // | python3.7 | python3.8 | dotnetcore1.0 | dotnetcore2.1 | go1.x | ruby2.5 + // | provided + CompatibleRuntimes []*string `type:"list"` + + // Indicates when the version was created. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + CreatedDate *string `type:"string"` + + // The version number. + Version *int64 `type:"long"` +} + +// String returns the string representation +func (s AwsLambdaLayerVersionDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsLambdaLayerVersionDetails) GoString() string { + return s.String() +} + +// SetCompatibleRuntimes sets the CompatibleRuntimes field's value. +func (s *AwsLambdaLayerVersionDetails) SetCompatibleRuntimes(v []*string) *AwsLambdaLayerVersionDetails { + s.CompatibleRuntimes = v + return s +} + +// SetCreatedDate sets the CreatedDate field's value. +func (s *AwsLambdaLayerVersionDetails) SetCreatedDate(v string) *AwsLambdaLayerVersionDetails { + s.CreatedDate = &v + return s +} + +// SetVersion sets the Version field's value. +func (s *AwsLambdaLayerVersionDetails) SetVersion(v int64) *AwsLambdaLayerVersionDetails { + s.Version = &v + return s +} + +// An IAM role that is associated with the Amazon RDS DB cluster. +type AwsRdsDbClusterAssociatedRole struct { + _ struct{} `type:"structure"` + + // The ARN of the IAM role. + RoleArn *string `type:"string"` + + // The status of the association between the IAM role and the DB cluster. + Status *string `type:"string"` +} + +// String returns the string representation +func (s AwsRdsDbClusterAssociatedRole) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsRdsDbClusterAssociatedRole) GoString() string { + return s.String() +} + +// SetRoleArn sets the RoleArn field's value. +func (s *AwsRdsDbClusterAssociatedRole) SetRoleArn(v string) *AwsRdsDbClusterAssociatedRole { + s.RoleArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AwsRdsDbClusterAssociatedRole) SetStatus(v string) *AwsRdsDbClusterAssociatedRole { + s.Status = &v + return s +} + +// Information about an Amazon RDS DB cluster. +type AwsRdsDbClusterDetails struct { + _ struct{} `type:"structure"` + + // The status of the database activity stream. + ActivityStreamStatus *string `type:"string"` + + // For all database engines except Aurora, specifies the allocated storage size + // in gibibytes (GiB). + AllocatedStorage *int64 `type:"integer"` + + // A list of the IAM roles that are associated with the DB cluster. + AssociatedRoles []*AwsRdsDbClusterAssociatedRole `type:"list"` + + // A list of Availability Zones (AZs) where instances in the DB cluster can + // be created. + AvailabilityZones []*string `type:"list"` + + // The number of days for which automated backups are retained. + BackupRetentionPeriod *int64 `type:"integer"` + + // Indicates when the DB cluster was created, in Universal Coordinated Time + // (UTC). + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + ClusterCreateTime *string `type:"string"` + + // Whether tags are copied from the DB cluster to snapshots of the DB cluster. + CopyTagsToSnapshot *bool `type:"boolean"` + + // Whether the DB cluster is a clone of a DB cluster owned by a different AWS + // account. + CrossAccountClone *bool `type:"boolean"` + + // A list of custom endpoints for the DB cluster. + CustomEndpoints []*string `type:"list"` + + // The name of the database. + DatabaseName *string `type:"string"` + + // The DB cluster identifier that the user assigned to the cluster. This identifier + // is the unique key that identifies a DB cluster. + DbClusterIdentifier *string `type:"string"` + + // The list of instances that make up the DB cluster. + DbClusterMembers []*AwsRdsDbClusterMember `type:"list"` + + // The list of option group memberships for this DB cluster. + DbClusterOptionGroupMemberships []*AwsRdsDbClusterOptionGroupMembership `type:"list"` + + // The name of the DB cluster parameter group for the DB cluster. + DbClusterParameterGroup *string `type:"string"` + + // The identifier of the DB cluster. The identifier must be unique within each + // AWS Region and is immutable. + DbClusterResourceId *string `type:"string"` + + // The subnet group that is associated with the DB cluster, including the name, + // description, and subnets in the subnet group. + DbSubnetGroup *string `type:"string"` + + // Whether the DB cluster has deletion protection enabled. + DeletionProtection *bool `type:"boolean"` + + // The Active Directory domain membership records that are associated with the + // DB cluster. + DomainMemberships []*AwsRdsDbDomainMembership `type:"list"` + + // A list of log types that this DB cluster is configured to export to CloudWatch + // Logs. + EnabledCloudWatchLogsExports []*string `type:"list"` + + // The connection endpoint for the primary instance of the DB cluster. + Endpoint *string `type:"string"` + + // The name of the database engine to use for this DB cluster. + Engine *string `type:"string"` + + // The database engine mode of the DB cluster. + EngineMode *string `type:"string"` + + // The version number of the database engine to use. + EngineVersion *string `type:"string"` + + // Specifies the identifier that Amazon Route 53 assigns when you create a hosted + // zone. + HostedZoneId *string `type:"string"` + + // Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled. + HttpEndpointEnabled *bool `type:"boolean"` + + // Whether the mapping of IAM accounts to database accounts is enabled. + IamDatabaseAuthenticationEnabled *bool `type:"boolean"` + + // The ARN of the AWS KMS master key that is used to encrypt the database instances + // in the DB cluster. + KmsKeyId *string `type:"string"` + + // The name of the master user for the DB cluster. + MasterUsername *string `type:"string"` + + // Whether the DB cluster has instances in multiple Availability Zones. + MultiAz *bool `type:"boolean"` + + // The port number on which the DB instances in the DB cluster accept connections. + Port *int64 `type:"integer"` + + // The range of time each day when automated backups are created, if automated + // backups are enabled. + // + // Uses the format HH:MM-HH:MM. For example, 04:52-05:22. + PreferredBackupWindow *string `type:"string"` + + // The weekly time range during which system maintenance can occur, in Universal + // Coordinated Time (UTC). + // + // Uses the format :HH:MM-:HH:MM. + // + // For the day values, use mon|tue|wed|thu|fri|sat|sun. + // + // For example, sun:09:32-sun:10:02. + PreferredMaintenanceWindow *string `type:"string"` + + // The identifiers of the read replicas that are associated with this DB cluster. + ReadReplicaIdentifiers []*string `type:"list"` + + // The reader endpoint for the DB cluster. + ReaderEndpoint *string `type:"string"` + + // The current status of this DB cluster. + Status *string `type:"string"` + + // Whether the DB cluster is encrypted. + StorageEncrypted *bool `type:"boolean"` + + // A list of VPC security groups that the DB cluster belongs to. + VpcSecurityGroups []*AwsRdsDbInstanceVpcSecurityGroup `type:"list"` +} + +// String returns the string representation +func (s AwsRdsDbClusterDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsRdsDbClusterDetails) GoString() string { + return s.String() +} + +// SetActivityStreamStatus sets the ActivityStreamStatus field's value. +func (s *AwsRdsDbClusterDetails) SetActivityStreamStatus(v string) *AwsRdsDbClusterDetails { + s.ActivityStreamStatus = &v + return s +} + +// SetAllocatedStorage sets the AllocatedStorage field's value. +func (s *AwsRdsDbClusterDetails) SetAllocatedStorage(v int64) *AwsRdsDbClusterDetails { + s.AllocatedStorage = &v + return s +} + +// SetAssociatedRoles sets the AssociatedRoles field's value. +func (s *AwsRdsDbClusterDetails) SetAssociatedRoles(v []*AwsRdsDbClusterAssociatedRole) *AwsRdsDbClusterDetails { + s.AssociatedRoles = v + return s +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *AwsRdsDbClusterDetails) SetAvailabilityZones(v []*string) *AwsRdsDbClusterDetails { + s.AvailabilityZones = v + return s +} + +// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value. +func (s *AwsRdsDbClusterDetails) SetBackupRetentionPeriod(v int64) *AwsRdsDbClusterDetails { + s.BackupRetentionPeriod = &v + return s +} + +// SetClusterCreateTime sets the ClusterCreateTime field's value. +func (s *AwsRdsDbClusterDetails) SetClusterCreateTime(v string) *AwsRdsDbClusterDetails { + s.ClusterCreateTime = &v + return s +} + +// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value. +func (s *AwsRdsDbClusterDetails) SetCopyTagsToSnapshot(v bool) *AwsRdsDbClusterDetails { + s.CopyTagsToSnapshot = &v + return s +} + +// SetCrossAccountClone sets the CrossAccountClone field's value. +func (s *AwsRdsDbClusterDetails) SetCrossAccountClone(v bool) *AwsRdsDbClusterDetails { + s.CrossAccountClone = &v + return s +} + +// SetCustomEndpoints sets the CustomEndpoints field's value. +func (s *AwsRdsDbClusterDetails) SetCustomEndpoints(v []*string) *AwsRdsDbClusterDetails { + s.CustomEndpoints = v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *AwsRdsDbClusterDetails) SetDatabaseName(v string) *AwsRdsDbClusterDetails { + s.DatabaseName = &v + return s +} + +// SetDbClusterIdentifier sets the DbClusterIdentifier field's value. +func (s *AwsRdsDbClusterDetails) SetDbClusterIdentifier(v string) *AwsRdsDbClusterDetails { + s.DbClusterIdentifier = &v + return s +} + +// SetDbClusterMembers sets the DbClusterMembers field's value. +func (s *AwsRdsDbClusterDetails) SetDbClusterMembers(v []*AwsRdsDbClusterMember) *AwsRdsDbClusterDetails { + s.DbClusterMembers = v + return s +} + +// SetDbClusterOptionGroupMemberships sets the DbClusterOptionGroupMemberships field's value. +func (s *AwsRdsDbClusterDetails) SetDbClusterOptionGroupMemberships(v []*AwsRdsDbClusterOptionGroupMembership) *AwsRdsDbClusterDetails { + s.DbClusterOptionGroupMemberships = v + return s +} + +// SetDbClusterParameterGroup sets the DbClusterParameterGroup field's value. +func (s *AwsRdsDbClusterDetails) SetDbClusterParameterGroup(v string) *AwsRdsDbClusterDetails { + s.DbClusterParameterGroup = &v + return s +} + +// SetDbClusterResourceId sets the DbClusterResourceId field's value. +func (s *AwsRdsDbClusterDetails) SetDbClusterResourceId(v string) *AwsRdsDbClusterDetails { + s.DbClusterResourceId = &v + return s +} + +// SetDbSubnetGroup sets the DbSubnetGroup field's value. +func (s *AwsRdsDbClusterDetails) SetDbSubnetGroup(v string) *AwsRdsDbClusterDetails { + s.DbSubnetGroup = &v + return s +} + +// SetDeletionProtection sets the DeletionProtection field's value. +func (s *AwsRdsDbClusterDetails) SetDeletionProtection(v bool) *AwsRdsDbClusterDetails { + s.DeletionProtection = &v + return s +} + +// SetDomainMemberships sets the DomainMemberships field's value. +func (s *AwsRdsDbClusterDetails) SetDomainMemberships(v []*AwsRdsDbDomainMembership) *AwsRdsDbClusterDetails { + s.DomainMemberships = v + return s +} + +// SetEnabledCloudWatchLogsExports sets the EnabledCloudWatchLogsExports field's value. +func (s *AwsRdsDbClusterDetails) SetEnabledCloudWatchLogsExports(v []*string) *AwsRdsDbClusterDetails { + s.EnabledCloudWatchLogsExports = v + return s +} + +// SetEndpoint sets the Endpoint field's value. +func (s *AwsRdsDbClusterDetails) SetEndpoint(v string) *AwsRdsDbClusterDetails { + s.Endpoint = &v + return s +} + +// SetEngine sets the Engine field's value. +func (s *AwsRdsDbClusterDetails) SetEngine(v string) *AwsRdsDbClusterDetails { + s.Engine = &v + return s +} + +// SetEngineMode sets the EngineMode field's value. +func (s *AwsRdsDbClusterDetails) SetEngineMode(v string) *AwsRdsDbClusterDetails { + s.EngineMode = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *AwsRdsDbClusterDetails) SetEngineVersion(v string) *AwsRdsDbClusterDetails { + s.EngineVersion = &v + return s +} + +// SetHostedZoneId sets the HostedZoneId field's value. +func (s *AwsRdsDbClusterDetails) SetHostedZoneId(v string) *AwsRdsDbClusterDetails { + s.HostedZoneId = &v + return s +} + +// SetHttpEndpointEnabled sets the HttpEndpointEnabled field's value. +func (s *AwsRdsDbClusterDetails) SetHttpEndpointEnabled(v bool) *AwsRdsDbClusterDetails { + s.HttpEndpointEnabled = &v + return s +} + +// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value. +func (s *AwsRdsDbClusterDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbClusterDetails { + s.IamDatabaseAuthenticationEnabled = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *AwsRdsDbClusterDetails) SetKmsKeyId(v string) *AwsRdsDbClusterDetails { + s.KmsKeyId = &v + return s +} + +// SetMasterUsername sets the MasterUsername field's value. +func (s *AwsRdsDbClusterDetails) SetMasterUsername(v string) *AwsRdsDbClusterDetails { + s.MasterUsername = &v + return s +} + +// SetMultiAz sets the MultiAz field's value. +func (s *AwsRdsDbClusterDetails) SetMultiAz(v bool) *AwsRdsDbClusterDetails { + s.MultiAz = &v + return s +} + +// SetPort sets the Port field's value. +func (s *AwsRdsDbClusterDetails) SetPort(v int64) *AwsRdsDbClusterDetails { + s.Port = &v + return s +} + +// SetPreferredBackupWindow sets the PreferredBackupWindow field's value. +func (s *AwsRdsDbClusterDetails) SetPreferredBackupWindow(v string) *AwsRdsDbClusterDetails { + s.PreferredBackupWindow = &v + return s +} + +// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. +func (s *AwsRdsDbClusterDetails) SetPreferredMaintenanceWindow(v string) *AwsRdsDbClusterDetails { + s.PreferredMaintenanceWindow = &v + return s +} + +// SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value. +func (s *AwsRdsDbClusterDetails) SetReadReplicaIdentifiers(v []*string) *AwsRdsDbClusterDetails { + s.ReadReplicaIdentifiers = v + return s +} + +// SetReaderEndpoint sets the ReaderEndpoint field's value. +func (s *AwsRdsDbClusterDetails) SetReaderEndpoint(v string) *AwsRdsDbClusterDetails { + s.ReaderEndpoint = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AwsRdsDbClusterDetails) SetStatus(v string) *AwsRdsDbClusterDetails { + s.Status = &v + return s +} + +// SetStorageEncrypted sets the StorageEncrypted field's value. +func (s *AwsRdsDbClusterDetails) SetStorageEncrypted(v bool) *AwsRdsDbClusterDetails { + s.StorageEncrypted = &v + return s +} + +// SetVpcSecurityGroups sets the VpcSecurityGroups field's value. +func (s *AwsRdsDbClusterDetails) SetVpcSecurityGroups(v []*AwsRdsDbInstanceVpcSecurityGroup) *AwsRdsDbClusterDetails { + s.VpcSecurityGroups = v + return s +} + +// Information about an instance in the DB cluster. +type AwsRdsDbClusterMember struct { + _ struct{} `type:"structure"` + + // The status of the DB cluster parameter group for this member of the DB cluster. + DbClusterParameterGroupStatus *string `type:"string"` + + // The instance identifier for this member of the DB cluster. + DbInstanceIdentifier *string `type:"string"` + + // Whether the cluster member is the primary instance for the DB cluster. + IsClusterWriter *bool `type:"boolean"` + + // Specifies the order in which an Aurora replica is promoted to the primary + // instance when the existing primary instance fails. + PromotionTier *int64 `type:"integer"` +} + +// String returns the string representation +func (s AwsRdsDbClusterMember) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsRdsDbClusterMember) GoString() string { + return s.String() +} + +// SetDbClusterParameterGroupStatus sets the DbClusterParameterGroupStatus field's value. +func (s *AwsRdsDbClusterMember) SetDbClusterParameterGroupStatus(v string) *AwsRdsDbClusterMember { + s.DbClusterParameterGroupStatus = &v + return s +} + +// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value. +func (s *AwsRdsDbClusterMember) SetDbInstanceIdentifier(v string) *AwsRdsDbClusterMember { + s.DbInstanceIdentifier = &v + return s +} + +// SetIsClusterWriter sets the IsClusterWriter field's value. +func (s *AwsRdsDbClusterMember) SetIsClusterWriter(v bool) *AwsRdsDbClusterMember { + s.IsClusterWriter = &v + return s +} + +// SetPromotionTier sets the PromotionTier field's value. +func (s *AwsRdsDbClusterMember) SetPromotionTier(v int64) *AwsRdsDbClusterMember { + s.PromotionTier = &v + return s +} + +// Information about an option group membership for a DB cluster. +type AwsRdsDbClusterOptionGroupMembership struct { + _ struct{} `type:"structure"` + + // The name of the DB cluster option group. + DbClusterOptionGroupName *string `type:"string"` + + // The status of the DB cluster option group. + Status *string `type:"string"` +} + +// String returns the string representation +func (s AwsRdsDbClusterOptionGroupMembership) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsRdsDbClusterOptionGroupMembership) GoString() string { + return s.String() +} + +// SetDbClusterOptionGroupName sets the DbClusterOptionGroupName field's value. +func (s *AwsRdsDbClusterOptionGroupMembership) SetDbClusterOptionGroupName(v string) *AwsRdsDbClusterOptionGroupMembership { + s.DbClusterOptionGroupName = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AwsRdsDbClusterOptionGroupMembership) SetStatus(v string) *AwsRdsDbClusterOptionGroupMembership { + s.Status = &v + return s +} + +// Information about an Amazon RDS DB cluster snapshot. +type AwsRdsDbClusterSnapshotDetails struct { + _ struct{} `type:"structure"` + + // Specifies the allocated storage size in gibibytes (GiB). + AllocatedStorage *int64 `type:"integer"` + + // A list of Availability Zones where instances in the DB cluster can be created. + AvailabilityZones []*string `type:"list"` + + // Indicates when the DB cluster was created, in Universal Coordinated Time + // (UTC). + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + ClusterCreateTime *string `type:"string"` + + // The DB cluster identifier. + DbClusterIdentifier *string `type:"string"` + + // The identifier of the DB cluster snapshot. + DbClusterSnapshotIdentifier *string `type:"string"` + + Engine *string `type:"string"` + + // The version of the database engine to use. + EngineVersion *string `type:"string"` + + // Whether mapping of IAM accounts to database accounts is enabled. + IamDatabaseAuthenticationEnabled *bool `type:"boolean"` + + // The ARN of the AWS KMS master key that is used to encrypt the database instances + // in the DB cluster. + KmsKeyId *string `type:"string"` + + // The license model information for this DB cluster snapshot. + LicenseModel *string `type:"string"` + + // The name of the master user for the DB cluster. + MasterUsername *string `type:"string"` + + // Specifies the percentage of the estimated data that has been transferred. + PercentProgress *int64 `type:"integer"` + + // The port number on which the DB instances in the DB cluster accept connections. + Port *int64 `type:"integer"` + + // Indicates when the snapshot was taken. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + SnapshotCreateTime *string `type:"string"` + + // The type of DB cluster snapshot. + SnapshotType *string `type:"string"` + + // The status of this DB cluster snapshot. + Status *string `type:"string"` + + // Whether the DB cluster is encrypted. + StorageEncrypted *bool `type:"boolean"` + + // The VPC ID that is associated with the DB cluster snapshot. + VpcId *string `type:"string"` +} + +// String returns the string representation +func (s AwsRdsDbClusterSnapshotDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsRdsDbClusterSnapshotDetails) GoString() string { + return s.String() +} + +// SetAllocatedStorage sets the AllocatedStorage field's value. +func (s *AwsRdsDbClusterSnapshotDetails) SetAllocatedStorage(v int64) *AwsRdsDbClusterSnapshotDetails { + s.AllocatedStorage = &v + return s +} + +// SetAvailabilityZones sets the AvailabilityZones field's value. +func (s *AwsRdsDbClusterSnapshotDetails) SetAvailabilityZones(v []*string) *AwsRdsDbClusterSnapshotDetails { + s.AvailabilityZones = v + return s +} + +// SetClusterCreateTime sets the ClusterCreateTime field's value. +func (s *AwsRdsDbClusterSnapshotDetails) SetClusterCreateTime(v string) *AwsRdsDbClusterSnapshotDetails { + s.ClusterCreateTime = &v + return s +} + +// SetDbClusterIdentifier sets the DbClusterIdentifier field's value. +func (s *AwsRdsDbClusterSnapshotDetails) SetDbClusterIdentifier(v string) *AwsRdsDbClusterSnapshotDetails { + s.DbClusterIdentifier = &v + return s +} + +// SetDbClusterSnapshotIdentifier sets the DbClusterSnapshotIdentifier field's value. +func (s *AwsRdsDbClusterSnapshotDetails) SetDbClusterSnapshotIdentifier(v string) *AwsRdsDbClusterSnapshotDetails { + s.DbClusterSnapshotIdentifier = &v + return s +} + +// SetEngine sets the Engine field's value. +func (s *AwsRdsDbClusterSnapshotDetails) SetEngine(v string) *AwsRdsDbClusterSnapshotDetails { + s.Engine = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *AwsRdsDbClusterSnapshotDetails) SetEngineVersion(v string) *AwsRdsDbClusterSnapshotDetails { + s.EngineVersion = &v + return s +} + +// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value. +func (s *AwsRdsDbClusterSnapshotDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbClusterSnapshotDetails { + s.IamDatabaseAuthenticationEnabled = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *AwsRdsDbClusterSnapshotDetails) SetKmsKeyId(v string) *AwsRdsDbClusterSnapshotDetails { + s.KmsKeyId = &v + return s +} + +// SetLicenseModel sets the LicenseModel field's value. +func (s *AwsRdsDbClusterSnapshotDetails) SetLicenseModel(v string) *AwsRdsDbClusterSnapshotDetails { + s.LicenseModel = &v + return s +} + +// SetMasterUsername sets the MasterUsername field's value. +func (s *AwsRdsDbClusterSnapshotDetails) SetMasterUsername(v string) *AwsRdsDbClusterSnapshotDetails { + s.MasterUsername = &v + return s +} + +// SetPercentProgress sets the PercentProgress field's value. +func (s *AwsRdsDbClusterSnapshotDetails) SetPercentProgress(v int64) *AwsRdsDbClusterSnapshotDetails { + s.PercentProgress = &v + return s +} + +// SetPort sets the Port field's value. +func (s *AwsRdsDbClusterSnapshotDetails) SetPort(v int64) *AwsRdsDbClusterSnapshotDetails { + s.Port = &v + return s +} + +// SetSnapshotCreateTime sets the SnapshotCreateTime field's value. +func (s *AwsRdsDbClusterSnapshotDetails) SetSnapshotCreateTime(v string) *AwsRdsDbClusterSnapshotDetails { + s.SnapshotCreateTime = &v + return s +} + +// SetSnapshotType sets the SnapshotType field's value. +func (s *AwsRdsDbClusterSnapshotDetails) SetSnapshotType(v string) *AwsRdsDbClusterSnapshotDetails { + s.SnapshotType = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AwsRdsDbClusterSnapshotDetails) SetStatus(v string) *AwsRdsDbClusterSnapshotDetails { + s.Status = &v + return s +} + +// SetStorageEncrypted sets the StorageEncrypted field's value. +func (s *AwsRdsDbClusterSnapshotDetails) SetStorageEncrypted(v bool) *AwsRdsDbClusterSnapshotDetails { + s.StorageEncrypted = &v + return s +} + +// SetVpcId sets the VpcId field's value. +func (s *AwsRdsDbClusterSnapshotDetails) SetVpcId(v string) *AwsRdsDbClusterSnapshotDetails { + s.VpcId = &v + return s +} + +// Information about an Active Directory domain membership record associated +// with the DB instance. +type AwsRdsDbDomainMembership struct { + _ struct{} `type:"structure"` + + // The identifier of the Active Directory domain. + Domain *string `type:"string"` + + // The fully qualified domain name of the Active Directory domain. + Fqdn *string `type:"string"` + + // The name of the IAM role to use when making API calls to the Directory Service. + IamRoleName *string `type:"string"` + + // The status of the Active Directory Domain membership for the DB instance. + Status *string `type:"string"` +} + +// String returns the string representation +func (s AwsRdsDbDomainMembership) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsRdsDbDomainMembership) GoString() string { + return s.String() +} + +// SetDomain sets the Domain field's value. +func (s *AwsRdsDbDomainMembership) SetDomain(v string) *AwsRdsDbDomainMembership { + s.Domain = &v + return s +} + +// SetFqdn sets the Fqdn field's value. +func (s *AwsRdsDbDomainMembership) SetFqdn(v string) *AwsRdsDbDomainMembership { + s.Fqdn = &v + return s +} + +// SetIamRoleName sets the IamRoleName field's value. +func (s *AwsRdsDbDomainMembership) SetIamRoleName(v string) *AwsRdsDbDomainMembership { + s.IamRoleName = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AwsRdsDbDomainMembership) SetStatus(v string) *AwsRdsDbDomainMembership { + s.Status = &v + return s +} + +// An AWS Identity and Access Management (IAM) role associated with the DB instance. +type AwsRdsDbInstanceAssociatedRole struct { + _ struct{} `type:"structure"` + + // The name of the feature associated with the IAM)role. + FeatureName *string `type:"string"` + + // The Amazon Resource Name (ARN) of the IAM role that is associated with the + // DB instance. + RoleArn *string `type:"string"` + + // Describes the state of the association between the IAM role and the DB instance. + // The Status property returns one of the following values: + // + // * ACTIVE - The IAM role ARN is associated with the DB instance and can + // be used to access other AWS services on your behalf. + // + // * PENDING - The IAM role ARN is being associated with the DB instance. + // + // * INVALID - The IAM role ARN is associated with the DB instance. But the + // DB instance is unable to assume the IAM role in order to access other + // AWS services on your behalf. + Status *string `type:"string"` +} + +// String returns the string representation +func (s AwsRdsDbInstanceAssociatedRole) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsRdsDbInstanceAssociatedRole) GoString() string { + return s.String() +} + +// SetFeatureName sets the FeatureName field's value. +func (s *AwsRdsDbInstanceAssociatedRole) SetFeatureName(v string) *AwsRdsDbInstanceAssociatedRole { + s.FeatureName = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *AwsRdsDbInstanceAssociatedRole) SetRoleArn(v string) *AwsRdsDbInstanceAssociatedRole { + s.RoleArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AwsRdsDbInstanceAssociatedRole) SetStatus(v string) *AwsRdsDbInstanceAssociatedRole { + s.Status = &v + return s +} + +// Contains the details of an Amazon RDS DB instance. +type AwsRdsDbInstanceDetails struct { + _ struct{} `type:"structure"` + + // The amount of storage (in gigabytes) to initially allocate for the DB instance. + AllocatedStorage *int64 `type:"integer"` + + // The AWS Identity and Access Management (IAM) roles associated with the DB + // instance. + AssociatedRoles []*AwsRdsDbInstanceAssociatedRole `type:"list"` + + // Indicates whether minor version patches are applied automatically. + AutoMinorVersionUpgrade *bool `type:"boolean"` + + // The Availability Zone where the DB instance will be created. + AvailabilityZone *string `type:"string"` + + // The number of days for which to retain automated backups. + BackupRetentionPeriod *int64 `type:"integer"` + + // The identifier of the CA certificate for this DB instance. + CACertificateIdentifier *string `type:"string"` + + // The name of the character set that this DB instance is associated with. + CharacterSetName *string `type:"string"` + + // Whether to copy resource tags to snapshots of the DB instance. + CopyTagsToSnapshot *bool `type:"boolean"` + + // If the DB instance is a member of a DB cluster, contains the name of the + // DB cluster that the DB instance is a member of. + DBClusterIdentifier *string `type:"string"` + + // Contains the name of the compute and memory capacity class of the DB instance. + DBInstanceClass *string `type:"string"` + + // Contains a user-supplied database identifier. This identifier is the unique + // key that identifies a DB instance. + DBInstanceIdentifier *string `type:"string"` + + // The meaning of this parameter differs according to the database engine you + // use. + // + // MySQL, MariaDB, SQL Server, PostgreSQL + // + // Contains the name of the initial database of this instance that was provided + // at create time, if one was specified when the DB instance was created. This + // same name is returned for the life of the DB instance. + // + // Oracle + // + // Contains the Oracle System ID (SID) of the created DB instance. Not shown + // when the returned parameters do not apply to an Oracle DB instance. + DBName *string `type:"string"` + + // Specifies the port that the DB instance listens on. If the DB instance is + // part of a DB cluster, this can be a different port than the DB cluster port. + DbInstancePort *int64 `type:"integer"` + + // The current status of the DB instance. + DbInstanceStatus *string `type:"string"` + + // A list of the DB parameter groups to assign to the DB instance. + DbParameterGroups []*AwsRdsDbParameterGroup `type:"list"` + + // A list of the DB security groups to assign to the DB instance. + DbSecurityGroups []*string `type:"list"` + + // Information about the subnet group that is associated with the DB instance. + DbSubnetGroup *AwsRdsDbSubnetGroup `type:"structure"` + + // The AWS Region-unique, immutable identifier for the DB instance. This identifier + // is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB + // instance is accessed. + DbiResourceId *string `type:"string"` + + // Indicates whether the DB instance has deletion protection enabled. + // + // When deletion protection is enabled, the database cannot be deleted. + DeletionProtection *bool `type:"boolean"` + + // The Active Directory domain membership records associated with the DB instance. + DomainMemberships []*AwsRdsDbDomainMembership `type:"list"` + + // A list of log types that this DB instance is configured to export to CloudWatch + // Logs. + EnabledCloudWatchLogsExports []*string `type:"list"` + + // Specifies the connection endpoint. + Endpoint *AwsRdsDbInstanceEndpoint `type:"structure"` + + // Provides the name of the database engine to use for this DB instance. + Engine *string `type:"string"` + + // Indicates the database engine version. + EngineVersion *string `type:"string"` + + // The ARN of the CloudWatch Logs log stream that receives the enhanced monitoring + // metrics data for the DB instance. + EnhancedMonitoringResourceArn *string `type:"string"` + + // True if mapping of AWS Identity and Access Management (IAM) accounts to database + // accounts is enabled, and otherwise false. + // + // IAM database authentication can be enabled for the following database engines. + // + // * For MySQL 5.6, minor version 5.6.34 or higher + // + // * For MySQL 5.7, minor version 5.7.16 or higher + // + // * Aurora 5.6 or higher + IAMDatabaseAuthenticationEnabled *bool `type:"boolean"` + + // Indicates when the DB instance was created. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + InstanceCreateTime *string `type:"string"` + + // Specifies the provisioned IOPS (I/O operations per second) for this DB instance. + Iops *int64 `type:"integer"` + + // If StorageEncrypted is true, the AWS KMS key identifier for the encrypted + // DB instance. + KmsKeyId *string `type:"string"` + + // Specifies the latest time to which a database can be restored with point-in-time + // restore. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + LatestRestorableTime *string `type:"string"` + + // License model information for this DB instance. + LicenseModel *string `type:"string"` + + // Specifies the connection endpoint. + ListenerEndpoint *AwsRdsDbInstanceEndpoint `type:"structure"` + + // The master user name of the DB instance. + MasterUsername *string `type:"string"` + + // The upper limit to which Amazon RDS can automatically scale the storage of + // the DB instance. + MaxAllocatedStorage *int64 `type:"integer"` + + // The interval, in seconds, between points when enhanced monitoring metrics + // are collected for the DB instance. + MonitoringInterval *int64 `type:"integer"` + + // The ARN for the IAM role that permits Amazon RDS to send enhanced monitoring + // metrics to CloudWatch Logs. + MonitoringRoleArn *string `type:"string"` + + // Whether the DB instance is a multiple Availability Zone deployment. + MultiAz *bool `type:"boolean"` + + // The list of option group memberships for this DB instance. + OptionGroupMemberships []*AwsRdsDbOptionGroupMembership `type:"list"` + + // Changes to the DB instance that are currently pending. + PendingModifiedValues *AwsRdsDbPendingModifiedValues `type:"structure"` + + // Indicates whether Performance Insights is enabled for the DB instance. + PerformanceInsightsEnabled *bool `type:"boolean"` + + // The identifier of the AWS KMS key used to encrypt the Performance Insights + // data. + PerformanceInsightsKmsKeyId *string `type:"string"` + + // The number of days to retain Performance Insights data. + PerformanceInsightsRetentionPeriod *int64 `type:"integer"` + + // The range of time each day when automated backups are created, if automated + // backups are enabled. + // + // Uses the format HH:MM-HH:MM. For example, 04:52-05:22. + PreferredBackupWindow *string `type:"string"` + + // The weekly time range during which system maintenance can occur, in Universal + // Coordinated Time (UTC). + // + // Uses the format :HH:MM-:HH:MM. + // + // For the day values, use mon|tue|wed|thu|fri|sat|sun. + // + // For example, sun:09:32-sun:10:02. + PreferredMaintenanceWindow *string `type:"string"` + + // The number of CPU cores and the number of threads per core for the DB instance + // class of the DB instance. + ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"` + + // The order in which to promote an Aurora replica to the primary instance after + // a failure of the existing primary instance. + PromotionTier *int64 `type:"integer"` + + // Specifies the accessibility options for the DB instance. + // + // A value of true specifies an Internet-facing instance with a publicly resolvable + // DNS name, which resolves to a public IP address. + // + // A value of false specifies an internal instance with a DNS name that resolves + // to a private IP address. + PubliclyAccessible *bool `type:"boolean"` + + // List of identifiers of Aurora DB clusters to which the RDS DB instance is + // replicated as a read replica. + ReadReplicaDBClusterIdentifiers []*string `type:"list"` + + // List of identifiers of the read replicas associated with this DB instance. + ReadReplicaDBInstanceIdentifiers []*string `type:"list"` + + // If this DB instance is a read replica, contains the identifier of the source + // DB instance. + ReadReplicaSourceDBInstanceIdentifier *string `type:"string"` + + // For a DB instance with multi-Availability Zone support, the name of the secondary + // Availability Zone. + SecondaryAvailabilityZone *string `type:"string"` + + // The status of a read replica. If the instance isn't a read replica, this + // is empty. + StatusInfos []*AwsRdsDbStatusInfo `type:"list"` + + // Specifies whether the DB instance is encrypted. + StorageEncrypted *bool `type:"boolean"` + + // The storage type for the DB instance. + StorageType *string `type:"string"` + + // The ARN from the key store with which the instance is associated for TDE + // encryption. + TdeCredentialArn *string `type:"string"` + + // The time zone of the DB instance. + Timezone *string `type:"string"` + + // A list of VPC security groups that the DB instance belongs to. + VpcSecurityGroups []*AwsRdsDbInstanceVpcSecurityGroup `type:"list"` +} + +// String returns the string representation +func (s AwsRdsDbInstanceDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsRdsDbInstanceDetails) GoString() string { + return s.String() +} + +// SetAllocatedStorage sets the AllocatedStorage field's value. +func (s *AwsRdsDbInstanceDetails) SetAllocatedStorage(v int64) *AwsRdsDbInstanceDetails { + s.AllocatedStorage = &v + return s +} + +// SetAssociatedRoles sets the AssociatedRoles field's value. +func (s *AwsRdsDbInstanceDetails) SetAssociatedRoles(v []*AwsRdsDbInstanceAssociatedRole) *AwsRdsDbInstanceDetails { + s.AssociatedRoles = v + return s +} + +// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value. +func (s *AwsRdsDbInstanceDetails) SetAutoMinorVersionUpgrade(v bool) *AwsRdsDbInstanceDetails { + s.AutoMinorVersionUpgrade = &v + return s +} + +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *AwsRdsDbInstanceDetails) SetAvailabilityZone(v string) *AwsRdsDbInstanceDetails { + s.AvailabilityZone = &v + return s +} + +// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value. +func (s *AwsRdsDbInstanceDetails) SetBackupRetentionPeriod(v int64) *AwsRdsDbInstanceDetails { + s.BackupRetentionPeriod = &v + return s +} + +// SetCACertificateIdentifier sets the CACertificateIdentifier field's value. +func (s *AwsRdsDbInstanceDetails) SetCACertificateIdentifier(v string) *AwsRdsDbInstanceDetails { + s.CACertificateIdentifier = &v + return s +} + +// SetCharacterSetName sets the CharacterSetName field's value. +func (s *AwsRdsDbInstanceDetails) SetCharacterSetName(v string) *AwsRdsDbInstanceDetails { + s.CharacterSetName = &v + return s +} + +// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value. +func (s *AwsRdsDbInstanceDetails) SetCopyTagsToSnapshot(v bool) *AwsRdsDbInstanceDetails { + s.CopyTagsToSnapshot = &v + return s +} + +// SetDBClusterIdentifier sets the DBClusterIdentifier field's value. +func (s *AwsRdsDbInstanceDetails) SetDBClusterIdentifier(v string) *AwsRdsDbInstanceDetails { + s.DBClusterIdentifier = &v + return s +} + +// SetDBInstanceClass sets the DBInstanceClass field's value. +func (s *AwsRdsDbInstanceDetails) SetDBInstanceClass(v string) *AwsRdsDbInstanceDetails { + s.DBInstanceClass = &v + return s +} + +// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value. +func (s *AwsRdsDbInstanceDetails) SetDBInstanceIdentifier(v string) *AwsRdsDbInstanceDetails { + s.DBInstanceIdentifier = &v + return s +} + +// SetDBName sets the DBName field's value. +func (s *AwsRdsDbInstanceDetails) SetDBName(v string) *AwsRdsDbInstanceDetails { + s.DBName = &v + return s +} + +// SetDbInstancePort sets the DbInstancePort field's value. +func (s *AwsRdsDbInstanceDetails) SetDbInstancePort(v int64) *AwsRdsDbInstanceDetails { + s.DbInstancePort = &v + return s +} + +// SetDbInstanceStatus sets the DbInstanceStatus field's value. +func (s *AwsRdsDbInstanceDetails) SetDbInstanceStatus(v string) *AwsRdsDbInstanceDetails { + s.DbInstanceStatus = &v + return s +} + +// SetDbParameterGroups sets the DbParameterGroups field's value. +func (s *AwsRdsDbInstanceDetails) SetDbParameterGroups(v []*AwsRdsDbParameterGroup) *AwsRdsDbInstanceDetails { + s.DbParameterGroups = v + return s +} + +// SetDbSecurityGroups sets the DbSecurityGroups field's value. +func (s *AwsRdsDbInstanceDetails) SetDbSecurityGroups(v []*string) *AwsRdsDbInstanceDetails { + s.DbSecurityGroups = v + return s +} + +// SetDbSubnetGroup sets the DbSubnetGroup field's value. +func (s *AwsRdsDbInstanceDetails) SetDbSubnetGroup(v *AwsRdsDbSubnetGroup) *AwsRdsDbInstanceDetails { + s.DbSubnetGroup = v + return s +} + +// SetDbiResourceId sets the DbiResourceId field's value. +func (s *AwsRdsDbInstanceDetails) SetDbiResourceId(v string) *AwsRdsDbInstanceDetails { + s.DbiResourceId = &v + return s +} + +// SetDeletionProtection sets the DeletionProtection field's value. +func (s *AwsRdsDbInstanceDetails) SetDeletionProtection(v bool) *AwsRdsDbInstanceDetails { + s.DeletionProtection = &v + return s +} + +// SetDomainMemberships sets the DomainMemberships field's value. +func (s *AwsRdsDbInstanceDetails) SetDomainMemberships(v []*AwsRdsDbDomainMembership) *AwsRdsDbInstanceDetails { + s.DomainMemberships = v + return s +} + +// SetEnabledCloudWatchLogsExports sets the EnabledCloudWatchLogsExports field's value. +func (s *AwsRdsDbInstanceDetails) SetEnabledCloudWatchLogsExports(v []*string) *AwsRdsDbInstanceDetails { + s.EnabledCloudWatchLogsExports = v + return s +} + +// SetEndpoint sets the Endpoint field's value. +func (s *AwsRdsDbInstanceDetails) SetEndpoint(v *AwsRdsDbInstanceEndpoint) *AwsRdsDbInstanceDetails { + s.Endpoint = v + return s +} + +// SetEngine sets the Engine field's value. +func (s *AwsRdsDbInstanceDetails) SetEngine(v string) *AwsRdsDbInstanceDetails { + s.Engine = &v + return s +} + +// SetEngineVersion sets the EngineVersion field's value. +func (s *AwsRdsDbInstanceDetails) SetEngineVersion(v string) *AwsRdsDbInstanceDetails { + s.EngineVersion = &v + return s +} + +// SetEnhancedMonitoringResourceArn sets the EnhancedMonitoringResourceArn field's value. +func (s *AwsRdsDbInstanceDetails) SetEnhancedMonitoringResourceArn(v string) *AwsRdsDbInstanceDetails { + s.EnhancedMonitoringResourceArn = &v + return s +} + +// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value. +func (s *AwsRdsDbInstanceDetails) SetIAMDatabaseAuthenticationEnabled(v bool) *AwsRdsDbInstanceDetails { + s.IAMDatabaseAuthenticationEnabled = &v + return s +} + +// SetInstanceCreateTime sets the InstanceCreateTime field's value. +func (s *AwsRdsDbInstanceDetails) SetInstanceCreateTime(v string) *AwsRdsDbInstanceDetails { + s.InstanceCreateTime = &v + return s +} + +// SetIops sets the Iops field's value. +func (s *AwsRdsDbInstanceDetails) SetIops(v int64) *AwsRdsDbInstanceDetails { + s.Iops = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *AwsRdsDbInstanceDetails) SetKmsKeyId(v string) *AwsRdsDbInstanceDetails { + s.KmsKeyId = &v + return s +} + +// SetLatestRestorableTime sets the LatestRestorableTime field's value. +func (s *AwsRdsDbInstanceDetails) SetLatestRestorableTime(v string) *AwsRdsDbInstanceDetails { + s.LatestRestorableTime = &v + return s +} + +// SetLicenseModel sets the LicenseModel field's value. +func (s *AwsRdsDbInstanceDetails) SetLicenseModel(v string) *AwsRdsDbInstanceDetails { + s.LicenseModel = &v + return s +} + +// SetListenerEndpoint sets the ListenerEndpoint field's value. +func (s *AwsRdsDbInstanceDetails) SetListenerEndpoint(v *AwsRdsDbInstanceEndpoint) *AwsRdsDbInstanceDetails { + s.ListenerEndpoint = v + return s +} + +// SetMasterUsername sets the MasterUsername field's value. +func (s *AwsRdsDbInstanceDetails) SetMasterUsername(v string) *AwsRdsDbInstanceDetails { + s.MasterUsername = &v + return s +} + +// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value. +func (s *AwsRdsDbInstanceDetails) SetMaxAllocatedStorage(v int64) *AwsRdsDbInstanceDetails { + s.MaxAllocatedStorage = &v + return s +} + +// SetMonitoringInterval sets the MonitoringInterval field's value. +func (s *AwsRdsDbInstanceDetails) SetMonitoringInterval(v int64) *AwsRdsDbInstanceDetails { + s.MonitoringInterval = &v + return s +} + +// SetMonitoringRoleArn sets the MonitoringRoleArn field's value. +func (s *AwsRdsDbInstanceDetails) SetMonitoringRoleArn(v string) *AwsRdsDbInstanceDetails { + s.MonitoringRoleArn = &v + return s +} + +// SetMultiAz sets the MultiAz field's value. +func (s *AwsRdsDbInstanceDetails) SetMultiAz(v bool) *AwsRdsDbInstanceDetails { + s.MultiAz = &v + return s +} + +// SetOptionGroupMemberships sets the OptionGroupMemberships field's value. +func (s *AwsRdsDbInstanceDetails) SetOptionGroupMemberships(v []*AwsRdsDbOptionGroupMembership) *AwsRdsDbInstanceDetails { + s.OptionGroupMemberships = v + return s +} + +// SetPendingModifiedValues sets the PendingModifiedValues field's value. +func (s *AwsRdsDbInstanceDetails) SetPendingModifiedValues(v *AwsRdsDbPendingModifiedValues) *AwsRdsDbInstanceDetails { + s.PendingModifiedValues = v + return s +} + +// SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value. +func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsEnabled(v bool) *AwsRdsDbInstanceDetails { + s.PerformanceInsightsEnabled = &v + return s +} + +// SetPerformanceInsightsKmsKeyId sets the PerformanceInsightsKmsKeyId field's value. +func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsKmsKeyId(v string) *AwsRdsDbInstanceDetails { + s.PerformanceInsightsKmsKeyId = &v + return s +} + +// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value. +func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsRetentionPeriod(v int64) *AwsRdsDbInstanceDetails { + s.PerformanceInsightsRetentionPeriod = &v + return s +} + +// SetPreferredBackupWindow sets the PreferredBackupWindow field's value. +func (s *AwsRdsDbInstanceDetails) SetPreferredBackupWindow(v string) *AwsRdsDbInstanceDetails { + s.PreferredBackupWindow = &v + return s +} + +// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value. +func (s *AwsRdsDbInstanceDetails) SetPreferredMaintenanceWindow(v string) *AwsRdsDbInstanceDetails { + s.PreferredMaintenanceWindow = &v + return s +} + +// SetProcessorFeatures sets the ProcessorFeatures field's value. +func (s *AwsRdsDbInstanceDetails) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbInstanceDetails { + s.ProcessorFeatures = v + return s +} + +// SetPromotionTier sets the PromotionTier field's value. +func (s *AwsRdsDbInstanceDetails) SetPromotionTier(v int64) *AwsRdsDbInstanceDetails { + s.PromotionTier = &v + return s +} + +// SetPubliclyAccessible sets the PubliclyAccessible field's value. +func (s *AwsRdsDbInstanceDetails) SetPubliclyAccessible(v bool) *AwsRdsDbInstanceDetails { + s.PubliclyAccessible = &v + return s +} + +// SetReadReplicaDBClusterIdentifiers sets the ReadReplicaDBClusterIdentifiers field's value. +func (s *AwsRdsDbInstanceDetails) SetReadReplicaDBClusterIdentifiers(v []*string) *AwsRdsDbInstanceDetails { + s.ReadReplicaDBClusterIdentifiers = v + return s +} + +// SetReadReplicaDBInstanceIdentifiers sets the ReadReplicaDBInstanceIdentifiers field's value. +func (s *AwsRdsDbInstanceDetails) SetReadReplicaDBInstanceIdentifiers(v []*string) *AwsRdsDbInstanceDetails { + s.ReadReplicaDBInstanceIdentifiers = v + return s +} + +// SetReadReplicaSourceDBInstanceIdentifier sets the ReadReplicaSourceDBInstanceIdentifier field's value. +func (s *AwsRdsDbInstanceDetails) SetReadReplicaSourceDBInstanceIdentifier(v string) *AwsRdsDbInstanceDetails { + s.ReadReplicaSourceDBInstanceIdentifier = &v + return s +} + +// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value. +func (s *AwsRdsDbInstanceDetails) SetSecondaryAvailabilityZone(v string) *AwsRdsDbInstanceDetails { + s.SecondaryAvailabilityZone = &v + return s +} + +// SetStatusInfos sets the StatusInfos field's value. +func (s *AwsRdsDbInstanceDetails) SetStatusInfos(v []*AwsRdsDbStatusInfo) *AwsRdsDbInstanceDetails { + s.StatusInfos = v + return s +} + +// SetStorageEncrypted sets the StorageEncrypted field's value. +func (s *AwsRdsDbInstanceDetails) SetStorageEncrypted(v bool) *AwsRdsDbInstanceDetails { + s.StorageEncrypted = &v + return s +} + +// SetStorageType sets the StorageType field's value. +func (s *AwsRdsDbInstanceDetails) SetStorageType(v string) *AwsRdsDbInstanceDetails { + s.StorageType = &v + return s +} + +// SetTdeCredentialArn sets the TdeCredentialArn field's value. +func (s *AwsRdsDbInstanceDetails) SetTdeCredentialArn(v string) *AwsRdsDbInstanceDetails { + s.TdeCredentialArn = &v + return s +} + +// SetTimezone sets the Timezone field's value. +func (s *AwsRdsDbInstanceDetails) SetTimezone(v string) *AwsRdsDbInstanceDetails { + s.Timezone = &v + return s +} + +// SetVpcSecurityGroups sets the VpcSecurityGroups field's value. +func (s *AwsRdsDbInstanceDetails) SetVpcSecurityGroups(v []*AwsRdsDbInstanceVpcSecurityGroup) *AwsRdsDbInstanceDetails { + s.VpcSecurityGroups = v + return s +} + +// Specifies the connection endpoint. +type AwsRdsDbInstanceEndpoint struct { + _ struct{} `type:"structure"` + + // Specifies the DNS address of the DB instance. + Address *string `type:"string"` + + // Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. + HostedZoneId *string `type:"string"` + + // Specifies the port that the database engine is listening on. + Port *int64 `type:"integer"` +} + +// String returns the string representation +func (s AwsRdsDbInstanceEndpoint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsRdsDbInstanceEndpoint) GoString() string { + return s.String() +} + +// SetAddress sets the Address field's value. +func (s *AwsRdsDbInstanceEndpoint) SetAddress(v string) *AwsRdsDbInstanceEndpoint { + s.Address = &v + return s +} + +// SetHostedZoneId sets the HostedZoneId field's value. +func (s *AwsRdsDbInstanceEndpoint) SetHostedZoneId(v string) *AwsRdsDbInstanceEndpoint { + s.HostedZoneId = &v + return s +} + +// SetPort sets the Port field's value. +func (s *AwsRdsDbInstanceEndpoint) SetPort(v int64) *AwsRdsDbInstanceEndpoint { + s.Port = &v + return s +} + +// A VPC security groups that the DB instance belongs to. +type AwsRdsDbInstanceVpcSecurityGroup struct { + _ struct{} `type:"structure"` + + // The status of the VPC security group. + Status *string `type:"string"` + + // The name of the VPC security group. + VpcSecurityGroupId *string `type:"string"` +} + +// String returns the string representation +func (s AwsRdsDbInstanceVpcSecurityGroup) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsRdsDbInstanceVpcSecurityGroup) GoString() string { + return s.String() +} + +// SetStatus sets the Status field's value. +func (s *AwsRdsDbInstanceVpcSecurityGroup) SetStatus(v string) *AwsRdsDbInstanceVpcSecurityGroup { + s.Status = &v + return s +} + +// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value. +func (s *AwsRdsDbInstanceVpcSecurityGroup) SetVpcSecurityGroupId(v string) *AwsRdsDbInstanceVpcSecurityGroup { + s.VpcSecurityGroupId = &v return s } -// SetS3Key sets the S3Key field's value. -func (s *AwsLambdaFunctionCode) SetS3Key(v string) *AwsLambdaFunctionCode { - s.S3Key = &v - return s +type AwsRdsDbOptionGroupMembership struct { + _ struct{} `type:"structure"` + + OptionGroupName *string `type:"string"` + + Status *string `type:"string"` } -// SetS3ObjectVersion sets the S3ObjectVersion field's value. -func (s *AwsLambdaFunctionCode) SetS3ObjectVersion(v string) *AwsLambdaFunctionCode { - s.S3ObjectVersion = &v +// String returns the string representation +func (s AwsRdsDbOptionGroupMembership) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsRdsDbOptionGroupMembership) GoString() string { + return s.String() +} + +// SetOptionGroupName sets the OptionGroupName field's value. +func (s *AwsRdsDbOptionGroupMembership) SetOptionGroupName(v string) *AwsRdsDbOptionGroupMembership { + s.OptionGroupName = &v return s } -// SetZipFile sets the ZipFile field's value. -func (s *AwsLambdaFunctionCode) SetZipFile(v string) *AwsLambdaFunctionCode { - s.ZipFile = &v +// SetStatus sets the Status field's value. +func (s *AwsRdsDbOptionGroupMembership) SetStatus(v string) *AwsRdsDbOptionGroupMembership { + s.Status = &v return s } -// The dead-letter queue for failed asynchronous invocations. -type AwsLambdaFunctionDeadLetterConfig struct { +type AwsRdsDbParameterGroup struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic. - TargetArn *string `type:"string"` + DbParameterGroupName *string `type:"string"` + + ParameterApplyStatus *string `type:"string"` } // String returns the string representation -func (s AwsLambdaFunctionDeadLetterConfig) String() string { +func (s AwsRdsDbParameterGroup) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsLambdaFunctionDeadLetterConfig) GoString() string { +func (s AwsRdsDbParameterGroup) GoString() string { return s.String() } -// SetTargetArn sets the TargetArn field's value. -func (s *AwsLambdaFunctionDeadLetterConfig) SetTargetArn(v string) *AwsLambdaFunctionDeadLetterConfig { - s.TargetArn = &v +// SetDbParameterGroupName sets the DbParameterGroupName field's value. +func (s *AwsRdsDbParameterGroup) SetDbParameterGroupName(v string) *AwsRdsDbParameterGroup { + s.DbParameterGroupName = &v return s } -// Details about a function's configuration. -type AwsLambdaFunctionDetails struct { - _ struct{} `type:"structure"` - - // An AwsLambdaFunctionCode object. - Code *AwsLambdaFunctionCode `type:"structure"` - - // The SHA256 hash of the function's deployment package. - CodeSha256 *string `type:"string"` +// SetParameterApplyStatus sets the ParameterApplyStatus field's value. +func (s *AwsRdsDbParameterGroup) SetParameterApplyStatus(v string) *AwsRdsDbParameterGroup { + s.ParameterApplyStatus = &v + return s +} - // The function's dead letter queue. - DeadLetterConfig *AwsLambdaFunctionDeadLetterConfig `type:"structure"` +type AwsRdsDbPendingModifiedValues struct { + _ struct{} `type:"structure"` - // The function's environment variables. - Environment *AwsLambdaFunctionEnvironment `type:"structure"` + AllocatedStorage *int64 `type:"integer"` - // The name of the function. - FunctionName *string `type:"string"` + BackupRetentionPeriod *int64 `type:"integer"` - // The function that Lambda calls to begin executing your function. - Handler *string `type:"string"` + CaCertificateIdentifier *string `type:"string"` - // The KMS key that's used to encrypt the function's environment variables. - // This key is only returned if you've configured a customer managed CMK. - KmsKeyArn *string `type:"string"` + DbInstanceClass *string `type:"string"` - // The date and time that the function was last updated, in ISO-8601 format - // (YYYY-MM-DDThh:mm:ss.sTZD). - LastModified *string `type:"string"` + DbInstanceIdentifier *string `type:"string"` - // The function's layers. - Layers []*AwsLambdaFunctionLayer `type:"list"` + DbSubnetGroupName *string `type:"string"` - // For Lambda@Edge functions, the ARN of the master function. - MasterArn *string `type:"string"` + EngineVersion *string `type:"string"` - // The memory that's allocated to the function. - MemorySize *int64 `type:"integer"` + Iops *int64 `type:"integer"` - // The latest updated revision of the function or alias. - RevisionId *string `type:"string"` + LicenseModel *string `type:"string"` - // The function's execution role. - Role *string `type:"string"` + MasterUserPassword *string `type:"string"` - // The runtime environment for the Lambda function. - Runtime *string `type:"string"` + MultiAZ *bool `type:"boolean"` - // The amount of time that Lambda allows a function to run before stopping it. - Timeout *int64 `type:"integer"` + // Identifies the log types to enable and disable. + PendingCloudWatchLogsExports *AwsRdsPendingCloudWatchLogsExports `type:"structure"` - // The function's AWS X-Ray tracing configuration. - TracingConfig *AwsLambdaFunctionTracingConfig `type:"structure"` + Port *int64 `type:"integer"` - // The version of the Lambda function. - Version *string `type:"string"` + ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"` - // The function's networking configuration. - VpcConfig *AwsLambdaFunctionVpcConfig `type:"structure"` + StorageType *string `type:"string"` } // String returns the string representation -func (s AwsLambdaFunctionDetails) String() string { +func (s AwsRdsDbPendingModifiedValues) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsLambdaFunctionDetails) GoString() string { +func (s AwsRdsDbPendingModifiedValues) GoString() string { return s.String() } -// SetCode sets the Code field's value. -func (s *AwsLambdaFunctionDetails) SetCode(v *AwsLambdaFunctionCode) *AwsLambdaFunctionDetails { - s.Code = v - return s -} - -// SetCodeSha256 sets the CodeSha256 field's value. -func (s *AwsLambdaFunctionDetails) SetCodeSha256(v string) *AwsLambdaFunctionDetails { - s.CodeSha256 = &v - return s -} - -// SetDeadLetterConfig sets the DeadLetterConfig field's value. -func (s *AwsLambdaFunctionDetails) SetDeadLetterConfig(v *AwsLambdaFunctionDeadLetterConfig) *AwsLambdaFunctionDetails { - s.DeadLetterConfig = v - return s -} - -// SetEnvironment sets the Environment field's value. -func (s *AwsLambdaFunctionDetails) SetEnvironment(v *AwsLambdaFunctionEnvironment) *AwsLambdaFunctionDetails { - s.Environment = v +// SetAllocatedStorage sets the AllocatedStorage field's value. +func (s *AwsRdsDbPendingModifiedValues) SetAllocatedStorage(v int64) *AwsRdsDbPendingModifiedValues { + s.AllocatedStorage = &v return s } -// SetFunctionName sets the FunctionName field's value. -func (s *AwsLambdaFunctionDetails) SetFunctionName(v string) *AwsLambdaFunctionDetails { - s.FunctionName = &v +// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value. +func (s *AwsRdsDbPendingModifiedValues) SetBackupRetentionPeriod(v int64) *AwsRdsDbPendingModifiedValues { + s.BackupRetentionPeriod = &v return s } -// SetHandler sets the Handler field's value. -func (s *AwsLambdaFunctionDetails) SetHandler(v string) *AwsLambdaFunctionDetails { - s.Handler = &v +// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value. +func (s *AwsRdsDbPendingModifiedValues) SetCaCertificateIdentifier(v string) *AwsRdsDbPendingModifiedValues { + s.CaCertificateIdentifier = &v return s } -// SetKmsKeyArn sets the KmsKeyArn field's value. -func (s *AwsLambdaFunctionDetails) SetKmsKeyArn(v string) *AwsLambdaFunctionDetails { - s.KmsKeyArn = &v +// SetDbInstanceClass sets the DbInstanceClass field's value. +func (s *AwsRdsDbPendingModifiedValues) SetDbInstanceClass(v string) *AwsRdsDbPendingModifiedValues { + s.DbInstanceClass = &v return s } -// SetLastModified sets the LastModified field's value. -func (s *AwsLambdaFunctionDetails) SetLastModified(v string) *AwsLambdaFunctionDetails { - s.LastModified = &v +// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value. +func (s *AwsRdsDbPendingModifiedValues) SetDbInstanceIdentifier(v string) *AwsRdsDbPendingModifiedValues { + s.DbInstanceIdentifier = &v return s } -// SetLayers sets the Layers field's value. -func (s *AwsLambdaFunctionDetails) SetLayers(v []*AwsLambdaFunctionLayer) *AwsLambdaFunctionDetails { - s.Layers = v +// SetDbSubnetGroupName sets the DbSubnetGroupName field's value. +func (s *AwsRdsDbPendingModifiedValues) SetDbSubnetGroupName(v string) *AwsRdsDbPendingModifiedValues { + s.DbSubnetGroupName = &v return s } -// SetMasterArn sets the MasterArn field's value. -func (s *AwsLambdaFunctionDetails) SetMasterArn(v string) *AwsLambdaFunctionDetails { - s.MasterArn = &v +// SetEngineVersion sets the EngineVersion field's value. +func (s *AwsRdsDbPendingModifiedValues) SetEngineVersion(v string) *AwsRdsDbPendingModifiedValues { + s.EngineVersion = &v return s } -// SetMemorySize sets the MemorySize field's value. -func (s *AwsLambdaFunctionDetails) SetMemorySize(v int64) *AwsLambdaFunctionDetails { - s.MemorySize = &v +// SetIops sets the Iops field's value. +func (s *AwsRdsDbPendingModifiedValues) SetIops(v int64) *AwsRdsDbPendingModifiedValues { + s.Iops = &v return s } -// SetRevisionId sets the RevisionId field's value. -func (s *AwsLambdaFunctionDetails) SetRevisionId(v string) *AwsLambdaFunctionDetails { - s.RevisionId = &v +// SetLicenseModel sets the LicenseModel field's value. +func (s *AwsRdsDbPendingModifiedValues) SetLicenseModel(v string) *AwsRdsDbPendingModifiedValues { + s.LicenseModel = &v return s } -// SetRole sets the Role field's value. -func (s *AwsLambdaFunctionDetails) SetRole(v string) *AwsLambdaFunctionDetails { - s.Role = &v +// SetMasterUserPassword sets the MasterUserPassword field's value. +func (s *AwsRdsDbPendingModifiedValues) SetMasterUserPassword(v string) *AwsRdsDbPendingModifiedValues { + s.MasterUserPassword = &v return s } -// SetRuntime sets the Runtime field's value. -func (s *AwsLambdaFunctionDetails) SetRuntime(v string) *AwsLambdaFunctionDetails { - s.Runtime = &v +// SetMultiAZ sets the MultiAZ field's value. +func (s *AwsRdsDbPendingModifiedValues) SetMultiAZ(v bool) *AwsRdsDbPendingModifiedValues { + s.MultiAZ = &v return s } -// SetTimeout sets the Timeout field's value. -func (s *AwsLambdaFunctionDetails) SetTimeout(v int64) *AwsLambdaFunctionDetails { - s.Timeout = &v +// SetPendingCloudWatchLogsExports sets the PendingCloudWatchLogsExports field's value. +func (s *AwsRdsDbPendingModifiedValues) SetPendingCloudWatchLogsExports(v *AwsRdsPendingCloudWatchLogsExports) *AwsRdsDbPendingModifiedValues { + s.PendingCloudWatchLogsExports = v return s } -// SetTracingConfig sets the TracingConfig field's value. -func (s *AwsLambdaFunctionDetails) SetTracingConfig(v *AwsLambdaFunctionTracingConfig) *AwsLambdaFunctionDetails { - s.TracingConfig = v +// SetPort sets the Port field's value. +func (s *AwsRdsDbPendingModifiedValues) SetPort(v int64) *AwsRdsDbPendingModifiedValues { + s.Port = &v return s } -// SetVersion sets the Version field's value. -func (s *AwsLambdaFunctionDetails) SetVersion(v string) *AwsLambdaFunctionDetails { - s.Version = &v +// SetProcessorFeatures sets the ProcessorFeatures field's value. +func (s *AwsRdsDbPendingModifiedValues) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbPendingModifiedValues { + s.ProcessorFeatures = v return s } -// SetVpcConfig sets the VpcConfig field's value. -func (s *AwsLambdaFunctionDetails) SetVpcConfig(v *AwsLambdaFunctionVpcConfig) *AwsLambdaFunctionDetails { - s.VpcConfig = v +// SetStorageType sets the StorageType field's value. +func (s *AwsRdsDbPendingModifiedValues) SetStorageType(v string) *AwsRdsDbPendingModifiedValues { + s.StorageType = &v return s } -// A function's environment variable settings. -type AwsLambdaFunctionEnvironment struct { +type AwsRdsDbProcessorFeature struct { _ struct{} `type:"structure"` - // An AwsLambdaFunctionEnvironmentError object. - Error *AwsLambdaFunctionEnvironmentError `type:"structure"` + Name *string `type:"string"` - // Environment variable key-value pairs. - Variables map[string]*string `type:"map"` + Value *string `type:"string"` } // String returns the string representation -func (s AwsLambdaFunctionEnvironment) String() string { +func (s AwsRdsDbProcessorFeature) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsLambdaFunctionEnvironment) GoString() string { +func (s AwsRdsDbProcessorFeature) GoString() string { return s.String() } -// SetError sets the Error field's value. -func (s *AwsLambdaFunctionEnvironment) SetError(v *AwsLambdaFunctionEnvironmentError) *AwsLambdaFunctionEnvironment { - s.Error = v +// SetName sets the Name field's value. +func (s *AwsRdsDbProcessorFeature) SetName(v string) *AwsRdsDbProcessorFeature { + s.Name = &v return s } -// SetVariables sets the Variables field's value. -func (s *AwsLambdaFunctionEnvironment) SetVariables(v map[string]*string) *AwsLambdaFunctionEnvironment { - s.Variables = v +// SetValue sets the Value field's value. +func (s *AwsRdsDbProcessorFeature) SetValue(v string) *AwsRdsDbProcessorFeature { + s.Value = &v return s } -// Error messages for environment variables that couldn't be applied. -type AwsLambdaFunctionEnvironmentError struct { +type AwsRdsDbSnapshotDetails struct { _ struct{} `type:"structure"` - // The error code. - ErrorCode *string `type:"string"` + AllocatedStorage *int64 `type:"integer"` - // The error message. - Message *string `type:"string"` -} + AvailabilityZone *string `type:"string"` -// String returns the string representation -func (s AwsLambdaFunctionEnvironmentError) String() string { - return awsutil.Prettify(s) -} + DbInstanceIdentifier *string `type:"string"` -// GoString returns the string representation -func (s AwsLambdaFunctionEnvironmentError) GoString() string { - return s.String() -} + DbSnapshotIdentifier *string `type:"string"` -// SetErrorCode sets the ErrorCode field's value. -func (s *AwsLambdaFunctionEnvironmentError) SetErrorCode(v string) *AwsLambdaFunctionEnvironmentError { - s.ErrorCode = &v - return s -} + DbiResourceId *string `type:"string"` -// SetMessage sets the Message field's value. -func (s *AwsLambdaFunctionEnvironmentError) SetMessage(v string) *AwsLambdaFunctionEnvironmentError { - s.Message = &v - return s -} + Encrypted *bool `type:"boolean"` -// An AWS Lambda layer. -type AwsLambdaFunctionLayer struct { - _ struct{} `type:"structure"` + Engine *string `type:"string"` - // The Amazon Resource Name (ARN) of the function layer. - Arn *string `type:"string"` + EngineVersion *string `type:"string"` - // The size of the layer archive in bytes. - CodeSize *int64 `type:"integer"` -} + IamDatabaseAuthenticationEnabled *bool `type:"boolean"` -// String returns the string representation -func (s AwsLambdaFunctionLayer) String() string { - return awsutil.Prettify(s) -} + InstanceCreateTime *string `type:"string"` -// GoString returns the string representation -func (s AwsLambdaFunctionLayer) GoString() string { - return s.String() -} + Iops *int64 `type:"integer"` -// SetArn sets the Arn field's value. -func (s *AwsLambdaFunctionLayer) SetArn(v string) *AwsLambdaFunctionLayer { - s.Arn = &v - return s -} + KmsKeyId *string `type:"string"` -// SetCodeSize sets the CodeSize field's value. -func (s *AwsLambdaFunctionLayer) SetCodeSize(v int64) *AwsLambdaFunctionLayer { - s.CodeSize = &v - return s -} + LicenseModel *string `type:"string"` -// The function's AWS X-Ray tracing configuration. -type AwsLambdaFunctionTracingConfig struct { - _ struct{} `type:"structure"` + MasterUsername *string `type:"string"` - // The tracing mode. - Mode *string `type:"string"` -} + OptionGroupName *string `type:"string"` -// String returns the string representation -func (s AwsLambdaFunctionTracingConfig) String() string { - return awsutil.Prettify(s) -} + PercentProgress *int64 `type:"integer"` -// GoString returns the string representation -func (s AwsLambdaFunctionTracingConfig) GoString() string { - return s.String() -} + Port *int64 `type:"integer"` -// SetMode sets the Mode field's value. -func (s *AwsLambdaFunctionTracingConfig) SetMode(v string) *AwsLambdaFunctionTracingConfig { - s.Mode = &v - return s -} + ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"` -// The VPC security groups and subnets that are attached to a Lambda function. -// For more information, see VPC Settings. -type AwsLambdaFunctionVpcConfig struct { - _ struct{} `type:"structure"` + SnapshotCreateTime *string `type:"string"` + + SnapshotType *string `type:"string"` + + SourceDbSnapshotIdentifier *string `type:"string"` + + SourceRegion *string `type:"string"` + + Status *string `type:"string"` - // A list of VPC security groups IDs. - SecurityGroupIds []*string `type:"list"` + StorageType *string `type:"string"` - // A list of VPC subnet IDs. - SubnetIds []*string `type:"list"` + TdeCredentialArn *string `type:"string"` + + Timezone *string `type:"string"` - // The ID of the VPC. VpcId *string `type:"string"` } // String returns the string representation -func (s AwsLambdaFunctionVpcConfig) String() string { +func (s AwsRdsDbSnapshotDetails) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsLambdaFunctionVpcConfig) GoString() string { +func (s AwsRdsDbSnapshotDetails) GoString() string { return s.String() } -// SetSecurityGroupIds sets the SecurityGroupIds field's value. -func (s *AwsLambdaFunctionVpcConfig) SetSecurityGroupIds(v []*string) *AwsLambdaFunctionVpcConfig { - s.SecurityGroupIds = v +// SetAllocatedStorage sets the AllocatedStorage field's value. +func (s *AwsRdsDbSnapshotDetails) SetAllocatedStorage(v int64) *AwsRdsDbSnapshotDetails { + s.AllocatedStorage = &v return s } -// SetSubnetIds sets the SubnetIds field's value. -func (s *AwsLambdaFunctionVpcConfig) SetSubnetIds(v []*string) *AwsLambdaFunctionVpcConfig { - s.SubnetIds = v +// SetAvailabilityZone sets the AvailabilityZone field's value. +func (s *AwsRdsDbSnapshotDetails) SetAvailabilityZone(v string) *AwsRdsDbSnapshotDetails { + s.AvailabilityZone = &v return s } -// SetVpcId sets the VpcId field's value. -func (s *AwsLambdaFunctionVpcConfig) SetVpcId(v string) *AwsLambdaFunctionVpcConfig { - s.VpcId = &v +// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value. +func (s *AwsRdsDbSnapshotDetails) SetDbInstanceIdentifier(v string) *AwsRdsDbSnapshotDetails { + s.DbInstanceIdentifier = &v return s } -// Details about a Lambda layer version. -type AwsLambdaLayerVersionDetails struct { - _ struct{} `type:"structure"` - - // The layer's compatible runtimes. Maximum number of five items. - // - // Valid values: nodejs10.x | nodejs12.x | java8 | java11 | python2.7 | python3.6 - // | python3.7 | python3.8 | dotnetcore1.0 | dotnetcore2.1 | go1.x | ruby2.5 - // | provided - CompatibleRuntimes []*string `type:"list"` - - // The date that the version was created, in ISO 8601 format. For example, 2018-11-27T15:10:45.123+0000. - CreatedDate *string `type:"string"` - - // The version number. - Version *int64 `type:"long"` +// SetDbSnapshotIdentifier sets the DbSnapshotIdentifier field's value. +func (s *AwsRdsDbSnapshotDetails) SetDbSnapshotIdentifier(v string) *AwsRdsDbSnapshotDetails { + s.DbSnapshotIdentifier = &v + return s } -// String returns the string representation -func (s AwsLambdaLayerVersionDetails) String() string { - return awsutil.Prettify(s) +// SetDbiResourceId sets the DbiResourceId field's value. +func (s *AwsRdsDbSnapshotDetails) SetDbiResourceId(v string) *AwsRdsDbSnapshotDetails { + s.DbiResourceId = &v + return s } -// GoString returns the string representation -func (s AwsLambdaLayerVersionDetails) GoString() string { - return s.String() +// SetEncrypted sets the Encrypted field's value. +func (s *AwsRdsDbSnapshotDetails) SetEncrypted(v bool) *AwsRdsDbSnapshotDetails { + s.Encrypted = &v + return s } -// SetCompatibleRuntimes sets the CompatibleRuntimes field's value. -func (s *AwsLambdaLayerVersionDetails) SetCompatibleRuntimes(v []*string) *AwsLambdaLayerVersionDetails { - s.CompatibleRuntimes = v +// SetEngine sets the Engine field's value. +func (s *AwsRdsDbSnapshotDetails) SetEngine(v string) *AwsRdsDbSnapshotDetails { + s.Engine = &v return s } -// SetCreatedDate sets the CreatedDate field's value. -func (s *AwsLambdaLayerVersionDetails) SetCreatedDate(v string) *AwsLambdaLayerVersionDetails { - s.CreatedDate = &v +// SetEngineVersion sets the EngineVersion field's value. +func (s *AwsRdsDbSnapshotDetails) SetEngineVersion(v string) *AwsRdsDbSnapshotDetails { + s.EngineVersion = &v return s } -// SetVersion sets the Version field's value. -func (s *AwsLambdaLayerVersionDetails) SetVersion(v int64) *AwsLambdaLayerVersionDetails { - s.Version = &v +// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value. +func (s *AwsRdsDbSnapshotDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbSnapshotDetails { + s.IamDatabaseAuthenticationEnabled = &v return s } -// An AWS Identity and Access Management (IAM) role associated with the DB instance. -type AwsRdsDbInstanceAssociatedRole struct { - _ struct{} `type:"structure"` - - // The name of the feature associated with the IAM)role. - FeatureName *string `type:"string"` - - // The Amazon Resource Name (ARN) of the IAM role that is associated with the - // DB instance. - RoleArn *string `type:"string"` - - // Describes the state of the association between the IAM role and the DB instance. - // The Status property returns one of the following values: - // - // * ACTIVE - The IAM role ARN is associated with the DB instance and can - // be used to access other AWS services on your behalf. - // - // * PENDING - The IAM role ARN is being associated with the DB instance. - // - // * INVALID - The IAM role ARN is associated with the DB instance. But the - // DB instance is unable to assume the IAM role in order to access other - // AWS services on your behalf. - Status *string `type:"string"` +// SetInstanceCreateTime sets the InstanceCreateTime field's value. +func (s *AwsRdsDbSnapshotDetails) SetInstanceCreateTime(v string) *AwsRdsDbSnapshotDetails { + s.InstanceCreateTime = &v + return s } -// String returns the string representation -func (s AwsRdsDbInstanceAssociatedRole) String() string { - return awsutil.Prettify(s) +// SetIops sets the Iops field's value. +func (s *AwsRdsDbSnapshotDetails) SetIops(v int64) *AwsRdsDbSnapshotDetails { + s.Iops = &v + return s } -// GoString returns the string representation -func (s AwsRdsDbInstanceAssociatedRole) GoString() string { - return s.String() +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *AwsRdsDbSnapshotDetails) SetKmsKeyId(v string) *AwsRdsDbSnapshotDetails { + s.KmsKeyId = &v + return s } -// SetFeatureName sets the FeatureName field's value. -func (s *AwsRdsDbInstanceAssociatedRole) SetFeatureName(v string) *AwsRdsDbInstanceAssociatedRole { - s.FeatureName = &v +// SetLicenseModel sets the LicenseModel field's value. +func (s *AwsRdsDbSnapshotDetails) SetLicenseModel(v string) *AwsRdsDbSnapshotDetails { + s.LicenseModel = &v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *AwsRdsDbInstanceAssociatedRole) SetRoleArn(v string) *AwsRdsDbInstanceAssociatedRole { - s.RoleArn = &v +// SetMasterUsername sets the MasterUsername field's value. +func (s *AwsRdsDbSnapshotDetails) SetMasterUsername(v string) *AwsRdsDbSnapshotDetails { + s.MasterUsername = &v return s } -// SetStatus sets the Status field's value. -func (s *AwsRdsDbInstanceAssociatedRole) SetStatus(v string) *AwsRdsDbInstanceAssociatedRole { - s.Status = &v +// SetOptionGroupName sets the OptionGroupName field's value. +func (s *AwsRdsDbSnapshotDetails) SetOptionGroupName(v string) *AwsRdsDbSnapshotDetails { + s.OptionGroupName = &v return s } -// Contains the details of an Amazon RDS DB instance. -type AwsRdsDbInstanceDetails struct { - _ struct{} `type:"structure"` - - // The AWS Identity and Access Management (IAM) roles associated with the DB - // instance. - AssociatedRoles []*AwsRdsDbInstanceAssociatedRole `type:"list"` - - // The identifier of the CA certificate for this DB instance. - CACertificateIdentifier *string `type:"string"` - - // If the DB instance is a member of a DB cluster, contains the name of the - // DB cluster that the DB instance is a member of. - DBClusterIdentifier *string `type:"string"` - - // Contains the name of the compute and memory capacity class of the DB instance. - DBInstanceClass *string `type:"string"` - - // Contains a user-supplied database identifier. This identifier is the unique - // key that identifies a DB instance. - DBInstanceIdentifier *string `type:"string"` - - // The meaning of this parameter differs according to the database engine you - // use. - // - // MySQL, MariaDB, SQL Server, PostgreSQL - // - // Contains the name of the initial database of this instance that was provided - // at create time, if one was specified when the DB instance was created. This - // same name is returned for the life of the DB instance. - // - // Oracle - // - // Contains the Oracle System ID (SID) of the created DB instance. Not shown - // when the returned parameters do not apply to an Oracle DB instance. - DBName *string `type:"string"` - - // Specifies the port that the DB instance listens on. If the DB instance is - // part of a DB cluster, this can be a different port than the DB cluster port. - DbInstancePort *int64 `type:"integer"` - - // The AWS Region-unique, immutable identifier for the DB instance. This identifier - // is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB - // instance is accessed. - DbiResourceId *string `type:"string"` - - // Indicates whether the DB instance has deletion protection enabled. - // - // When deletion protection is enabled, the database cannot be deleted. - DeletionProtection *bool `type:"boolean"` - - // Specifies the connection endpoint. - Endpoint *AwsRdsDbInstanceEndpoint `type:"structure"` - - // Provides the name of the database engine to use for this DB instance. - Engine *string `type:"string"` - - // Indicates the database engine version. - EngineVersion *string `type:"string"` - - // True if mapping of AWS Identity and Access Management (IAM) accounts to database - // accounts is enabled, and otherwise false. - // - // IAM database authentication can be enabled for the following database engines. - // - // * For MySQL 5.6, minor version 5.6.34 or higher - // - // * For MySQL 5.7, minor version 5.7.16 or higher - // - // * Aurora 5.6 or higher - IAMDatabaseAuthenticationEnabled *bool `type:"boolean"` - - // Provides the date and time the DB instance was created. - InstanceCreateTime *string `type:"string"` - - // If StorageEncrypted is true, the AWS KMS key identifier for the encrypted - // DB instance. - KmsKeyId *string `type:"string"` - - // Specifies the accessibility options for the DB instance. - // - // A value of true specifies an Internet-facing instance with a publicly resolvable - // DNS name, which resolves to a public IP address. - // - // A value of false specifies an internal instance with a DNS name that resolves - // to a private IP address. - PubliclyAccessible *bool `type:"boolean"` +// SetPercentProgress sets the PercentProgress field's value. +func (s *AwsRdsDbSnapshotDetails) SetPercentProgress(v int64) *AwsRdsDbSnapshotDetails { + s.PercentProgress = &v + return s +} - // Specifies whether the DB instance is encrypted. - StorageEncrypted *bool `type:"boolean"` +// SetPort sets the Port field's value. +func (s *AwsRdsDbSnapshotDetails) SetPort(v int64) *AwsRdsDbSnapshotDetails { + s.Port = &v + return s +} - // The ARN from the key store with which the instance is associated for TDE - // encryption. - TdeCredentialArn *string `type:"string"` +// SetProcessorFeatures sets the ProcessorFeatures field's value. +func (s *AwsRdsDbSnapshotDetails) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbSnapshotDetails { + s.ProcessorFeatures = v + return s +} - // A list of VPC security groups that the DB instance belongs to. - VpcSecurityGroups []*AwsRdsDbInstanceVpcSecurityGroup `type:"list"` +// SetSnapshotCreateTime sets the SnapshotCreateTime field's value. +func (s *AwsRdsDbSnapshotDetails) SetSnapshotCreateTime(v string) *AwsRdsDbSnapshotDetails { + s.SnapshotCreateTime = &v + return s } -// String returns the string representation -func (s AwsRdsDbInstanceDetails) String() string { - return awsutil.Prettify(s) +// SetSnapshotType sets the SnapshotType field's value. +func (s *AwsRdsDbSnapshotDetails) SetSnapshotType(v string) *AwsRdsDbSnapshotDetails { + s.SnapshotType = &v + return s } -// GoString returns the string representation -func (s AwsRdsDbInstanceDetails) GoString() string { - return s.String() +// SetSourceDbSnapshotIdentifier sets the SourceDbSnapshotIdentifier field's value. +func (s *AwsRdsDbSnapshotDetails) SetSourceDbSnapshotIdentifier(v string) *AwsRdsDbSnapshotDetails { + s.SourceDbSnapshotIdentifier = &v + return s } -// SetAssociatedRoles sets the AssociatedRoles field's value. -func (s *AwsRdsDbInstanceDetails) SetAssociatedRoles(v []*AwsRdsDbInstanceAssociatedRole) *AwsRdsDbInstanceDetails { - s.AssociatedRoles = v +// SetSourceRegion sets the SourceRegion field's value. +func (s *AwsRdsDbSnapshotDetails) SetSourceRegion(v string) *AwsRdsDbSnapshotDetails { + s.SourceRegion = &v return s } -// SetCACertificateIdentifier sets the CACertificateIdentifier field's value. -func (s *AwsRdsDbInstanceDetails) SetCACertificateIdentifier(v string) *AwsRdsDbInstanceDetails { - s.CACertificateIdentifier = &v +// SetStatus sets the Status field's value. +func (s *AwsRdsDbSnapshotDetails) SetStatus(v string) *AwsRdsDbSnapshotDetails { + s.Status = &v return s } -// SetDBClusterIdentifier sets the DBClusterIdentifier field's value. -func (s *AwsRdsDbInstanceDetails) SetDBClusterIdentifier(v string) *AwsRdsDbInstanceDetails { - s.DBClusterIdentifier = &v +// SetStorageType sets the StorageType field's value. +func (s *AwsRdsDbSnapshotDetails) SetStorageType(v string) *AwsRdsDbSnapshotDetails { + s.StorageType = &v return s } -// SetDBInstanceClass sets the DBInstanceClass field's value. -func (s *AwsRdsDbInstanceDetails) SetDBInstanceClass(v string) *AwsRdsDbInstanceDetails { - s.DBInstanceClass = &v +// SetTdeCredentialArn sets the TdeCredentialArn field's value. +func (s *AwsRdsDbSnapshotDetails) SetTdeCredentialArn(v string) *AwsRdsDbSnapshotDetails { + s.TdeCredentialArn = &v return s } -// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value. -func (s *AwsRdsDbInstanceDetails) SetDBInstanceIdentifier(v string) *AwsRdsDbInstanceDetails { - s.DBInstanceIdentifier = &v +// SetTimezone sets the Timezone field's value. +func (s *AwsRdsDbSnapshotDetails) SetTimezone(v string) *AwsRdsDbSnapshotDetails { + s.Timezone = &v return s } -// SetDBName sets the DBName field's value. -func (s *AwsRdsDbInstanceDetails) SetDBName(v string) *AwsRdsDbInstanceDetails { - s.DBName = &v +// SetVpcId sets the VpcId field's value. +func (s *AwsRdsDbSnapshotDetails) SetVpcId(v string) *AwsRdsDbSnapshotDetails { + s.VpcId = &v return s } -// SetDbInstancePort sets the DbInstancePort field's value. -func (s *AwsRdsDbInstanceDetails) SetDbInstancePort(v int64) *AwsRdsDbInstanceDetails { - s.DbInstancePort = &v +// Information about the status of a read replica. +type AwsRdsDbStatusInfo struct { + _ struct{} `type:"structure"` + + // If the read replica is currently in an error state, provides the error details. + Message *string `type:"string"` + + // Whether the read replica instance is operating normally. + Normal *bool `type:"boolean"` + + // The status of the read replica instance. + Status *string `type:"string"` + + // The type of status. For a read replica, the status type is read replication. + StatusType *string `type:"string"` +} + +// String returns the string representation +func (s AwsRdsDbStatusInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsRdsDbStatusInfo) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *AwsRdsDbStatusInfo) SetMessage(v string) *AwsRdsDbStatusInfo { + s.Message = &v return s } -// SetDbiResourceId sets the DbiResourceId field's value. -func (s *AwsRdsDbInstanceDetails) SetDbiResourceId(v string) *AwsRdsDbInstanceDetails { - s.DbiResourceId = &v +// SetNormal sets the Normal field's value. +func (s *AwsRdsDbStatusInfo) SetNormal(v bool) *AwsRdsDbStatusInfo { + s.Normal = &v return s } -// SetDeletionProtection sets the DeletionProtection field's value. -func (s *AwsRdsDbInstanceDetails) SetDeletionProtection(v bool) *AwsRdsDbInstanceDetails { - s.DeletionProtection = &v +// SetStatus sets the Status field's value. +func (s *AwsRdsDbStatusInfo) SetStatus(v string) *AwsRdsDbStatusInfo { + s.Status = &v return s } -// SetEndpoint sets the Endpoint field's value. -func (s *AwsRdsDbInstanceDetails) SetEndpoint(v *AwsRdsDbInstanceEndpoint) *AwsRdsDbInstanceDetails { - s.Endpoint = v +// SetStatusType sets the StatusType field's value. +func (s *AwsRdsDbStatusInfo) SetStatusType(v string) *AwsRdsDbStatusInfo { + s.StatusType = &v return s } -// SetEngine sets the Engine field's value. -func (s *AwsRdsDbInstanceDetails) SetEngine(v string) *AwsRdsDbInstanceDetails { - s.Engine = &v - return s +// Information about the subnet group for the database instance. +type AwsRdsDbSubnetGroup struct { + _ struct{} `type:"structure"` + + // The ARN of the subnet group. + DbSubnetGroupArn *string `type:"string"` + + // The description of the subnet group. + DbSubnetGroupDescription *string `type:"string"` + + // The name of the subnet group. + DbSubnetGroupName *string `type:"string"` + + // The status of the subnet group. + SubnetGroupStatus *string `type:"string"` + + // A list of subnets in the subnet group. + Subnets []*AwsRdsDbSubnetGroupSubnet `type:"list"` + + // The VPC ID of the subnet group. + VpcId *string `type:"string"` } -// SetEngineVersion sets the EngineVersion field's value. -func (s *AwsRdsDbInstanceDetails) SetEngineVersion(v string) *AwsRdsDbInstanceDetails { - s.EngineVersion = &v - return s +// String returns the string representation +func (s AwsRdsDbSubnetGroup) String() string { + return awsutil.Prettify(s) } -// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value. -func (s *AwsRdsDbInstanceDetails) SetIAMDatabaseAuthenticationEnabled(v bool) *AwsRdsDbInstanceDetails { - s.IAMDatabaseAuthenticationEnabled = &v - return s +// GoString returns the string representation +func (s AwsRdsDbSubnetGroup) GoString() string { + return s.String() } -// SetInstanceCreateTime sets the InstanceCreateTime field's value. -func (s *AwsRdsDbInstanceDetails) SetInstanceCreateTime(v string) *AwsRdsDbInstanceDetails { - s.InstanceCreateTime = &v +// SetDbSubnetGroupArn sets the DbSubnetGroupArn field's value. +func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupArn(v string) *AwsRdsDbSubnetGroup { + s.DbSubnetGroupArn = &v return s } -// SetKmsKeyId sets the KmsKeyId field's value. -func (s *AwsRdsDbInstanceDetails) SetKmsKeyId(v string) *AwsRdsDbInstanceDetails { - s.KmsKeyId = &v +// SetDbSubnetGroupDescription sets the DbSubnetGroupDescription field's value. +func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupDescription(v string) *AwsRdsDbSubnetGroup { + s.DbSubnetGroupDescription = &v return s } -// SetPubliclyAccessible sets the PubliclyAccessible field's value. -func (s *AwsRdsDbInstanceDetails) SetPubliclyAccessible(v bool) *AwsRdsDbInstanceDetails { - s.PubliclyAccessible = &v +// SetDbSubnetGroupName sets the DbSubnetGroupName field's value. +func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupName(v string) *AwsRdsDbSubnetGroup { + s.DbSubnetGroupName = &v return s } -// SetStorageEncrypted sets the StorageEncrypted field's value. -func (s *AwsRdsDbInstanceDetails) SetStorageEncrypted(v bool) *AwsRdsDbInstanceDetails { - s.StorageEncrypted = &v +// SetSubnetGroupStatus sets the SubnetGroupStatus field's value. +func (s *AwsRdsDbSubnetGroup) SetSubnetGroupStatus(v string) *AwsRdsDbSubnetGroup { + s.SubnetGroupStatus = &v return s } -// SetTdeCredentialArn sets the TdeCredentialArn field's value. -func (s *AwsRdsDbInstanceDetails) SetTdeCredentialArn(v string) *AwsRdsDbInstanceDetails { - s.TdeCredentialArn = &v +// SetSubnets sets the Subnets field's value. +func (s *AwsRdsDbSubnetGroup) SetSubnets(v []*AwsRdsDbSubnetGroupSubnet) *AwsRdsDbSubnetGroup { + s.Subnets = v return s } -// SetVpcSecurityGroups sets the VpcSecurityGroups field's value. -func (s *AwsRdsDbInstanceDetails) SetVpcSecurityGroups(v []*AwsRdsDbInstanceVpcSecurityGroup) *AwsRdsDbInstanceDetails { - s.VpcSecurityGroups = v +// SetVpcId sets the VpcId field's value. +func (s *AwsRdsDbSubnetGroup) SetVpcId(v string) *AwsRdsDbSubnetGroup { + s.VpcId = &v return s } -// Specifies the connection endpoint. -type AwsRdsDbInstanceEndpoint struct { +// Information about a subnet in a subnet group. +type AwsRdsDbSubnetGroupSubnet struct { _ struct{} `type:"structure"` - // Specifies the DNS address of the DB instance. - Address *string `type:"string"` + // Information about the Availability Zone for a subnet in the subnet group. + SubnetAvailabilityZone *AwsRdsDbSubnetGroupSubnetAvailabilityZone `type:"structure"` - // Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. - HostedZoneId *string `type:"string"` + // The identifier of a subnet in the subnet group. + SubnetIdentifier *string `type:"string"` - // Specifies the port that the database engine is listening on. - Port *int64 `type:"integer"` + // The status of a subnet in the subnet group. + SubnetStatus *string `type:"string"` } // String returns the string representation -func (s AwsRdsDbInstanceEndpoint) String() string { +func (s AwsRdsDbSubnetGroupSubnet) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsRdsDbInstanceEndpoint) GoString() string { +func (s AwsRdsDbSubnetGroupSubnet) GoString() string { return s.String() } -// SetAddress sets the Address field's value. -func (s *AwsRdsDbInstanceEndpoint) SetAddress(v string) *AwsRdsDbInstanceEndpoint { - s.Address = &v +// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value. +func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetAvailabilityZone(v *AwsRdsDbSubnetGroupSubnetAvailabilityZone) *AwsRdsDbSubnetGroupSubnet { + s.SubnetAvailabilityZone = v return s } -// SetHostedZoneId sets the HostedZoneId field's value. -func (s *AwsRdsDbInstanceEndpoint) SetHostedZoneId(v string) *AwsRdsDbInstanceEndpoint { - s.HostedZoneId = &v +// SetSubnetIdentifier sets the SubnetIdentifier field's value. +func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetIdentifier(v string) *AwsRdsDbSubnetGroupSubnet { + s.SubnetIdentifier = &v return s } -// SetPort sets the Port field's value. -func (s *AwsRdsDbInstanceEndpoint) SetPort(v int64) *AwsRdsDbInstanceEndpoint { - s.Port = &v +// SetSubnetStatus sets the SubnetStatus field's value. +func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetStatus(v string) *AwsRdsDbSubnetGroupSubnet { + s.SubnetStatus = &v return s } -// A VPC security groups that the DB instance belongs to. -type AwsRdsDbInstanceVpcSecurityGroup struct { +// An Availability Zone for a subnet in a subnet group. +type AwsRdsDbSubnetGroupSubnetAvailabilityZone struct { _ struct{} `type:"structure"` - // The status of the VPC security group. - Status *string `type:"string"` + // The name of the Availability Zone for a subnet in the subnet group. + Name *string `type:"string"` +} - // The name of the VPC security group. - VpcSecurityGroupId *string `type:"string"` +// String returns the string representation +func (s AwsRdsDbSubnetGroupSubnetAvailabilityZone) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsRdsDbSubnetGroupSubnetAvailabilityZone) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *AwsRdsDbSubnetGroupSubnetAvailabilityZone) SetName(v string) *AwsRdsDbSubnetGroupSubnetAvailabilityZone { + s.Name = &v + return s +} + +// Identifies the log types to enable and disable. +type AwsRdsPendingCloudWatchLogsExports struct { + _ struct{} `type:"structure"` + + // A list of log types that are being disabled. + LogTypesToDisable []*string `type:"list"` + + // A list of log types that are being enabled. + LogTypesToEnable []*string `type:"list"` } // String returns the string representation -func (s AwsRdsDbInstanceVpcSecurityGroup) String() string { +func (s AwsRdsPendingCloudWatchLogsExports) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AwsRdsDbInstanceVpcSecurityGroup) GoString() string { +func (s AwsRdsPendingCloudWatchLogsExports) GoString() string { return s.String() } -// SetStatus sets the Status field's value. -func (s *AwsRdsDbInstanceVpcSecurityGroup) SetStatus(v string) *AwsRdsDbInstanceVpcSecurityGroup { - s.Status = &v +// SetLogTypesToDisable sets the LogTypesToDisable field's value. +func (s *AwsRdsPendingCloudWatchLogsExports) SetLogTypesToDisable(v []*string) *AwsRdsPendingCloudWatchLogsExports { + s.LogTypesToDisable = v return s } -// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value. -func (s *AwsRdsDbInstanceVpcSecurityGroup) SetVpcSecurityGroupId(v string) *AwsRdsDbInstanceVpcSecurityGroup { - s.VpcSecurityGroupId = &v +// SetLogTypesToEnable sets the LogTypesToEnable field's value. +func (s *AwsRdsPendingCloudWatchLogsExports) SetLogTypesToEnable(v []*string) *AwsRdsPendingCloudWatchLogsExports { + s.LogTypesToEnable = v return s } @@ -7702,7 +10815,11 @@ func (s *AwsRdsDbInstanceVpcSecurityGroup) SetVpcSecurityGroupId(v string) *AwsR type AwsS3BucketDetails struct { _ struct{} `type:"structure"` - // The date and time when the S3 bucket was created. + // Indicates when the S3 bucket was created. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. CreatedAt *string `type:"string"` // The canonical user ID of the owner of the S3 bucket. @@ -7844,7 +10961,11 @@ type AwsS3ObjectDetails struct { // resource found at a URL. ETag *string `type:"string"` - // The date and time when the object was last modified. + // Indicates when the object was last modified. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. LastModified *string `type:"string"` // The identifier of the AWS Key Management Service (AWS KMS) symmetric customer @@ -7905,6 +11026,118 @@ func (s *AwsS3ObjectDetails) SetVersionId(v string) *AwsS3ObjectDetails { return s } +// Details about an AWS Secrets Manager secret. +type AwsSecretsManagerSecretDetails struct { + _ struct{} `type:"structure"` + + // Whether the secret is deleted. + Deleted *bool `type:"boolean"` + + // The user-provided description of the secret. + Description *string `type:"string"` + + // The ARN, Key ID, or alias of the AWS KMS customer master key (CMK) used to + // encrypt the SecretString or SecretBinary values for versions of this secret. + KmsKeyId *string `type:"string"` + + // The name of the secret. + Name *string `type:"string"` + + // Whether rotation is enabled. + RotationEnabled *bool `type:"boolean"` + + // The ARN of the Lambda function that rotates the secret. + RotationLambdaArn *string `type:"string"` + + // Whether the rotation occurred within the specified rotation frequency. + RotationOccurredWithinFrequency *bool `type:"boolean"` + + // Defines the rotation schedule for the secret. + RotationRules *AwsSecretsManagerSecretRotationRules `type:"structure"` +} + +// String returns the string representation +func (s AwsSecretsManagerSecretDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsSecretsManagerSecretDetails) GoString() string { + return s.String() +} + +// SetDeleted sets the Deleted field's value. +func (s *AwsSecretsManagerSecretDetails) SetDeleted(v bool) *AwsSecretsManagerSecretDetails { + s.Deleted = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *AwsSecretsManagerSecretDetails) SetDescription(v string) *AwsSecretsManagerSecretDetails { + s.Description = &v + return s +} + +// SetKmsKeyId sets the KmsKeyId field's value. +func (s *AwsSecretsManagerSecretDetails) SetKmsKeyId(v string) *AwsSecretsManagerSecretDetails { + s.KmsKeyId = &v + return s +} + +// SetName sets the Name field's value. +func (s *AwsSecretsManagerSecretDetails) SetName(v string) *AwsSecretsManagerSecretDetails { + s.Name = &v + return s +} + +// SetRotationEnabled sets the RotationEnabled field's value. +func (s *AwsSecretsManagerSecretDetails) SetRotationEnabled(v bool) *AwsSecretsManagerSecretDetails { + s.RotationEnabled = &v + return s +} + +// SetRotationLambdaArn sets the RotationLambdaArn field's value. +func (s *AwsSecretsManagerSecretDetails) SetRotationLambdaArn(v string) *AwsSecretsManagerSecretDetails { + s.RotationLambdaArn = &v + return s +} + +// SetRotationOccurredWithinFrequency sets the RotationOccurredWithinFrequency field's value. +func (s *AwsSecretsManagerSecretDetails) SetRotationOccurredWithinFrequency(v bool) *AwsSecretsManagerSecretDetails { + s.RotationOccurredWithinFrequency = &v + return s +} + +// SetRotationRules sets the RotationRules field's value. +func (s *AwsSecretsManagerSecretDetails) SetRotationRules(v *AwsSecretsManagerSecretRotationRules) *AwsSecretsManagerSecretDetails { + s.RotationRules = v + return s +} + +// Defines the rotation schedule for the secret. +type AwsSecretsManagerSecretRotationRules struct { + _ struct{} `type:"structure"` + + // The number of days after the previous rotation to rotate the secret. + AutomaticallyAfterDays *int64 `type:"integer"` +} + +// String returns the string representation +func (s AwsSecretsManagerSecretRotationRules) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AwsSecretsManagerSecretRotationRules) GoString() string { + return s.String() +} + +// SetAutomaticallyAfterDays sets the AutomaticallyAfterDays field's value. +func (s *AwsSecretsManagerSecretRotationRules) SetAutomaticallyAfterDays(v int64) *AwsSecretsManagerSecretRotationRules { + s.AutomaticallyAfterDays = &v + return s +} + // Provides consistent format for the contents of the Security Hub-aggregated // findings. AwsSecurityFinding format enables you to share findings between // AWS security services and third-party solutions, and security standards checks. @@ -7932,8 +11165,12 @@ type AwsSecurityFinding struct { // zero percent confidence and 100 means 100 percent confidence. Confidence *int64 `type:"integer"` - // An ISO8601-formatted timestamp that indicates when the security-findings - // provider created the potential security issue that a finding captured. + // Indicates when the security-findings provider created the potential security + // issue that a finding captured. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. // // CreatedAt is a required field CreatedAt *string `type:"string" required:"true"` @@ -7951,8 +11188,12 @@ type AwsSecurityFinding struct { // Description is a required field Description *string `type:"string" required:"true"` - // An ISO8601-formatted timestamp that indicates when the security-findings - // provider first observed the potential security issue that a finding captured. + // Indicates when the security-findings provider first observed the potential + // security issue that a finding captured. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. FirstObservedAt *string `type:"string"` // The identifier for the solution-specific component (a discrete unit of logic) @@ -7967,9 +11208,12 @@ type AwsSecurityFinding struct { // Id is a required field Id *string `type:"string" required:"true"` - // An ISO8601-formatted timestamp that indicates when the security-findings - // provider most recently observed the potential security issue that a finding - // captured. + // Indicates when the security-findings provider most recently observed the + // potential security issue that a finding captured. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. LastObservedAt *string `type:"string"` // A list of malware related to a finding. @@ -8047,8 +11291,11 @@ type AwsSecurityFinding struct { // Types is a required field Types []*string `type:"list" required:"true"` - // An ISO8601-formatted timestamp that indicates when the security-findings - // provider last updated the finding record. + // Indicates when the security-findings provider last updated the finding record. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. // // UpdatedAt is a required field UpdatedAt *string `type:"string" required:"true"` @@ -10161,7 +13408,11 @@ type ContainerDetails struct { // The name of the image related to a finding. ImageName *string `type:"string"` - // The date and time when the container started. + // Indicates when the container started. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. LaunchedAt *string `type:"string"` // The name of the container related to a finding. @@ -13111,18 +16362,39 @@ func (s *Malware) SetType(v string) *Malware { return s } -// The map filter for querying findings. +// A map filter for querying findings. Each map filter provides the field to +// check, the value to look for, and the comparison operator. type MapFilter struct { _ struct{} `type:"structure"` - // The condition to apply to a key value when querying for findings with a map - // filter. + // The condition to apply to the key value when querying for findings with a + // map filter. + // + // To search for values that exactly match the filter value, use EQUALS. For + // example, for the ResourceTags field, the filter Department EQUALS Security + // matches findings that have the value Security for the tag Department. + // + // To search for values other than the filter value, use NOT_EQUALS. For example, + // for the ResourceTags field, the filter Department NOT_EQUALS Finance matches + // findings that do not have the value Finance for the tag Department. + // + // EQUALS filters on the same field are joined by OR. A finding matches if it + // matches any one of those filters. + // + // NOT_EQUALS filters on the same field are joined by AND. A finding matches + // only if it matches all of those filters. + // + // You cannot have both an EQUALS filter and a NOT_EQUALS filter on the same + // field. Comparison *string `type:"string" enum:"MapFilterComparison"` - // The key of the map filter. + // The key of the map filter. For example, for ResourceTags, Key identifies + // the name of the tag. For UserDefinedFields, Key is the name of the field. Key *string `type:"string"` - // The value for the key in the map filter. + // The value for the key in the map filter. Filter values are case sensitive. + // For example, one of the values for a tag called Department might be Security. + // If you provide security as the filter value, then there is no match. Value *string `type:"string"` } @@ -13490,6 +16762,10 @@ type Note struct { // The timestamp of when the note was updated. // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. + // // UpdatedAt is a required field UpdatedAt *string `type:"string" required:"true"` @@ -13681,7 +16957,11 @@ func (s *PortRange) SetEnd(v int64) *PortRange { type ProcessDetails struct { _ struct{} `type:"structure"` - // The date/time that the process was launched. + // Indicates when the process was launched. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. LaunchedAt *string `type:"string"` // The name of the process. @@ -13696,7 +16976,11 @@ type ProcessDetails struct { // The process ID. Pid *int64 `type:"integer"` - // The date and time when the process was terminated. + // Indicates when the process was terminated. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. TerminatedAt *string `type:"string"` } @@ -14145,6 +17429,12 @@ type ResourceDetails struct { // Details for an AWS CodeBuild project. AwsCodeBuildProject *AwsCodeBuildProjectDetails `type:"structure"` + // Details about a DynamoDB table. + AwsDynamoDbTable *AwsDynamoDbTableDetails `type:"structure"` + + // Details about an Elastic IP address. + AwsEc2Eip *AwsEc2EipDetails `type:"structure"` + // Details about an Amazon EC2 instance related to a finding. AwsEc2Instance *AwsEc2InstanceDetails `type:"structure"` @@ -14169,9 +17459,15 @@ type ResourceDetails struct { // Details about an IAM access key related to a finding. AwsIamAccessKey *AwsIamAccessKeyDetails `type:"structure"` + // Details about an IAM permissions policy. + AwsIamPolicy *AwsIamPolicyDetails `type:"structure"` + // Details about an IAM role. AwsIamRole *AwsIamRoleDetails `type:"structure"` + // Details about an IAM user. + AwsIamUser *AwsIamUserDetails `type:"structure"` + // Details about a KMS key. AwsKmsKey *AwsKmsKeyDetails `type:"structure"` @@ -14181,15 +17477,27 @@ type ResourceDetails struct { // Details for a Lambda layer version. AwsLambdaLayerVersion *AwsLambdaLayerVersionDetails `type:"structure"` - // Details for an Amazon RDS database instance. + // Details about an Amazon RDS database cluster. + AwsRdsDbCluster *AwsRdsDbClusterDetails `type:"structure"` + + // Details about an Amazon RDS database cluster snapshot. + AwsRdsDbClusterSnapshot *AwsRdsDbClusterSnapshotDetails `type:"structure"` + + // Details about an Amazon RDS database instance. AwsRdsDbInstance *AwsRdsDbInstanceDetails `type:"structure"` + // Details about an Amazon RDS database snapshot. + AwsRdsDbSnapshot *AwsRdsDbSnapshotDetails `type:"structure"` + // Details about an Amazon S3 bucket related to a finding. AwsS3Bucket *AwsS3BucketDetails `type:"structure"` // Details about an Amazon S3 object related to a finding. AwsS3Object *AwsS3ObjectDetails `type:"structure"` + // Details about a Secrets Manager secret. + AwsSecretsManagerSecret *AwsSecretsManagerSecretDetails `type:"structure"` + // Details about an SNS topic. AwsSnsTopic *AwsSnsTopicDetails `type:"structure"` @@ -14258,6 +17566,18 @@ func (s *ResourceDetails) SetAwsCodeBuildProject(v *AwsCodeBuildProjectDetails) return s } +// SetAwsDynamoDbTable sets the AwsDynamoDbTable field's value. +func (s *ResourceDetails) SetAwsDynamoDbTable(v *AwsDynamoDbTableDetails) *ResourceDetails { + s.AwsDynamoDbTable = v + return s +} + +// SetAwsEc2Eip sets the AwsEc2Eip field's value. +func (s *ResourceDetails) SetAwsEc2Eip(v *AwsEc2EipDetails) *ResourceDetails { + s.AwsEc2Eip = v + return s +} + // SetAwsEc2Instance sets the AwsEc2Instance field's value. func (s *ResourceDetails) SetAwsEc2Instance(v *AwsEc2InstanceDetails) *ResourceDetails { s.AwsEc2Instance = v @@ -14306,12 +17626,24 @@ func (s *ResourceDetails) SetAwsIamAccessKey(v *AwsIamAccessKeyDetails) *Resourc return s } +// SetAwsIamPolicy sets the AwsIamPolicy field's value. +func (s *ResourceDetails) SetAwsIamPolicy(v *AwsIamPolicyDetails) *ResourceDetails { + s.AwsIamPolicy = v + return s +} + // SetAwsIamRole sets the AwsIamRole field's value. func (s *ResourceDetails) SetAwsIamRole(v *AwsIamRoleDetails) *ResourceDetails { s.AwsIamRole = v return s } +// SetAwsIamUser sets the AwsIamUser field's value. +func (s *ResourceDetails) SetAwsIamUser(v *AwsIamUserDetails) *ResourceDetails { + s.AwsIamUser = v + return s +} + // SetAwsKmsKey sets the AwsKmsKey field's value. func (s *ResourceDetails) SetAwsKmsKey(v *AwsKmsKeyDetails) *ResourceDetails { s.AwsKmsKey = v @@ -14330,12 +17662,30 @@ func (s *ResourceDetails) SetAwsLambdaLayerVersion(v *AwsLambdaLayerVersionDetai return s } +// SetAwsRdsDbCluster sets the AwsRdsDbCluster field's value. +func (s *ResourceDetails) SetAwsRdsDbCluster(v *AwsRdsDbClusterDetails) *ResourceDetails { + s.AwsRdsDbCluster = v + return s +} + +// SetAwsRdsDbClusterSnapshot sets the AwsRdsDbClusterSnapshot field's value. +func (s *ResourceDetails) SetAwsRdsDbClusterSnapshot(v *AwsRdsDbClusterSnapshotDetails) *ResourceDetails { + s.AwsRdsDbClusterSnapshot = v + return s +} + // SetAwsRdsDbInstance sets the AwsRdsDbInstance field's value. func (s *ResourceDetails) SetAwsRdsDbInstance(v *AwsRdsDbInstanceDetails) *ResourceDetails { s.AwsRdsDbInstance = v return s } +// SetAwsRdsDbSnapshot sets the AwsRdsDbSnapshot field's value. +func (s *ResourceDetails) SetAwsRdsDbSnapshot(v *AwsRdsDbSnapshotDetails) *ResourceDetails { + s.AwsRdsDbSnapshot = v + return s +} + // SetAwsS3Bucket sets the AwsS3Bucket field's value. func (s *ResourceDetails) SetAwsS3Bucket(v *AwsS3BucketDetails) *ResourceDetails { s.AwsS3Bucket = v @@ -14348,6 +17698,12 @@ func (s *ResourceDetails) SetAwsS3Object(v *AwsS3ObjectDetails) *ResourceDetails return s } +// SetAwsSecretsManagerSecret sets the AwsSecretsManagerSecret field's value. +func (s *ResourceDetails) SetAwsSecretsManagerSecret(v *AwsSecretsManagerSecretDetails) *ResourceDetails { + s.AwsSecretsManagerSecret = v + return s +} + // SetAwsSnsTopic sets the AwsSnsTopic field's value. func (s *ResourceDetails) SetAwsSnsTopic(v *AwsSnsTopicDetails) *ResourceDetails { s.AwsSnsTopic = v @@ -15062,10 +18418,63 @@ func (s *StatusReason) SetReasonCode(v string) *StatusReason { type StringFilter struct { _ struct{} `type:"structure"` - // The condition to be applied to a string value when querying for findings. + // The condition to apply to a string value when querying for findings. To search + // for values that contain the filter criteria value, use one of the following + // comparison operators: + // + // * To search for values that exactly match the filter value, use EQUALS. + // For example, the filter ResourceType EQUALS AwsEc2SecurityGroup only matches + // findings that have a resource type of AwsEc2SecurityGroup. + // + // * To search for values that start with the filter value, use PREFIX. For + // example, the filter ResourceType PREFIX AwsIam matches findings that have + // a resource type that starts with AwsIam. Findings with a resource type + // of AwsIamPolicy, AwsIamRole, or AwsIamUser would all match. + // + // EQUALS and PREFIX filters on the same field are joined by OR. A finding matches + // if it matches any one of those filters. + // + // To search for values that do not contain the filter criteria value, use one + // of the following comparison operators: + // + // * To search for values that do not exactly match the filter value, use + // NOT_EQUALS. For example, the filter ResourceType NOT_EQUALS AwsIamPolicy + // matches findings that have a resource type other than AwsIamPolicy. + // + // * To search for values that do not start with the filter value, use PREFIX_NOT_EQUALS. + // For example, the filter ResourceType PREFIX_NOT_EQUALS AwsIam matches + // findings that have a resource type that does not start with AwsIam. Findings + // with a resource type of AwsIamPolicy, AwsIamRole, or AwsIamUser would + // all be excluded from the results. + // + // NOT_EQUALS and PREFIX_NOT_EQUALS filters on the same field are joined by + // AND. A finding matches only if it matches all of those filters. + // + // For filters on the same field, you cannot provide both an EQUALS filter and + // a NOT_EQUALS or PREFIX_NOT_EQUALS filter. Combining filters in this way always + // returns an error, even if the provided filter values would return valid results. + // + // You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters + // for the same field. Security Hub first processes the PREFIX filters, then + // the NOT_EQUALS or PREFIX_NOT_EQUALS filters. + // + // For example, for the following filter, Security Hub first identifies findings + // that have resource types that start with either AwsIAM or AwsEc2. It then + // excludes findings that have a resource type of AwsIamPolicy and findings + // that have a resource type of AwsEc2NetworkInterface. + // + // * ResourceType PREFIX AwsIam + // + // * ResourceType PREFIX AwsEc2 + // + // * ResourceType NOT_EQUALS AwsIamPolicy + // + // * ResourceType NOT_EQUALS AwsEc2NetworkInterface Comparison *string `type:"string" enum:"StringFilterComparison"` - // The string filter value. + // The string filter value. Filter values are case sensitive. For example, the + // product name for control-based findings is Security Hub. If you provide security + // hub as the filter text, then there is no match. Value *string `type:"string"` } @@ -15170,8 +18579,12 @@ type ThreatIntelIndicator struct { // The category of a threat intelligence indicator. Category *string `type:"string" enum:"ThreatIntelIndicatorCategory"` - // The date and time when the most recent instance of a threat intelligence - // indicator was observed. + // Indicates when the most recent instance of a threat intelligence indicator + // was observed. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. LastObservedAt *string `type:"string"` // The source of the threat intelligence indicator. @@ -15752,13 +19165,21 @@ type VulnerabilityVendor struct { // The URL of the vulnerability advisory. Url *string `type:"string"` - // The datetime when the vulnerability advisory was created. + // Indicates when the vulnerability advisory was created. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. VendorCreatedAt *string `type:"string"` // The severity that the vendor assigned to the vulnerability. VendorSeverity *string `type:"string"` - // The datetime when the vulnerability advisory was last updated. + // Indicates when the vulnerability advisory was last updated. + // + // Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time + // Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot + // contain spaces. For example, 2020-03-22T13:22:13.933Z. VendorUpdatedAt *string `type:"string"` } @@ -16151,12 +19572,16 @@ func MalwareType_Values() []string { const ( // MapFilterComparisonEquals is a MapFilterComparison enum value MapFilterComparisonEquals = "EQUALS" + + // MapFilterComparisonNotEquals is a MapFilterComparison enum value + MapFilterComparisonNotEquals = "NOT_EQUALS" ) // MapFilterComparison_Values returns all elements of the MapFilterComparison enum func MapFilterComparison_Values() []string { return []string{ MapFilterComparisonEquals, + MapFilterComparisonNotEquals, } } @@ -16314,6 +19739,12 @@ const ( // StringFilterComparisonPrefix is a StringFilterComparison enum value StringFilterComparisonPrefix = "PREFIX" + + // StringFilterComparisonNotEquals is a StringFilterComparison enum value + StringFilterComparisonNotEquals = "NOT_EQUALS" + + // StringFilterComparisonPrefixNotEquals is a StringFilterComparison enum value + StringFilterComparisonPrefixNotEquals = "PREFIX_NOT_EQUALS" ) // StringFilterComparison_Values returns all elements of the StringFilterComparison enum @@ -16321,6 +19752,8 @@ func StringFilterComparison_Values() []string { return []string{ StringFilterComparisonEquals, StringFilterComparisonPrefix, + StringFilterComparisonNotEquals, + StringFilterComparisonPrefixNotEquals, } } diff --git a/service/sesv2/api.go b/service/sesv2/api.go index 0c09782387..bedc31a776 100644 --- a/service/sesv2/api.go +++ b/service/sesv2/api.go @@ -826,6 +826,91 @@ func (c *SESV2) CreateEmailTemplateWithContext(ctx aws.Context, input *CreateEma return out, req.Send() } +const opCreateImportJob = "CreateImportJob" + +// CreateImportJobRequest generates a "aws/request.Request" representing the +// client's request for the CreateImportJob 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 CreateImportJob for more information on using the CreateImportJob +// 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 CreateImportJobRequest method. +// req, resp := client.CreateImportJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateImportJob +func (c *SESV2) CreateImportJobRequest(input *CreateImportJobInput) (req *request.Request, output *CreateImportJobOutput) { + op := &request.Operation{ + Name: opCreateImportJob, + HTTPMethod: "POST", + HTTPPath: "/v2/email/import-jobs", + } + + if input == nil { + input = &CreateImportJobInput{} + } + + output = &CreateImportJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateImportJob API operation for Amazon Simple Email Service. +// +// Creates an import job for a data destination. +// +// 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 Simple Email Service's +// API operation CreateImportJob for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The input you provided is invalid. +// +// * LimitExceededException +// There are too many instances of the specified resource type. +// +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/CreateImportJob +func (c *SESV2) CreateImportJob(input *CreateImportJobInput) (*CreateImportJobOutput, error) { + req, out := c.CreateImportJobRequest(input) + return out, req.Send() +} + +// CreateImportJobWithContext is the same as CreateImportJob with the addition of +// the ability to pass a context and additional request options. +// +// See CreateImportJob 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 *SESV2) CreateImportJobWithContext(ctx aws.Context, input *CreateImportJobInput, opts ...request.Option) (*CreateImportJobOutput, error) { + req, out := c.CreateImportJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteConfigurationSet = "DeleteConfigurationSet" // DeleteConfigurationSetRequest generates a "aws/request.Request" representing the @@ -2855,6 +2940,91 @@ func (c *SESV2) GetEmailTemplateWithContext(ctx aws.Context, input *GetEmailTemp return out, req.Send() } +const opGetImportJob = "GetImportJob" + +// GetImportJobRequest generates a "aws/request.Request" representing the +// client's request for the GetImportJob 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 GetImportJob for more information on using the GetImportJob +// 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 GetImportJobRequest method. +// req, resp := client.GetImportJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetImportJob +func (c *SESV2) GetImportJobRequest(input *GetImportJobInput) (req *request.Request, output *GetImportJobOutput) { + op := &request.Operation{ + Name: opGetImportJob, + HTTPMethod: "GET", + HTTPPath: "/v2/email/import-jobs/{JobId}", + } + + if input == nil { + input = &GetImportJobInput{} + } + + output = &GetImportJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetImportJob API operation for Amazon Simple Email Service. +// +// Provides information about an import job. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation GetImportJob for usage and error information. +// +// Returned Error Types: +// * BadRequestException +// The input you provided is invalid. +// +// * NotFoundException +// The resource you attempted to access doesn't exist. +// +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/GetImportJob +func (c *SESV2) GetImportJob(input *GetImportJobInput) (*GetImportJobOutput, error) { + req, out := c.GetImportJobRequest(input) + return out, req.Send() +} + +// GetImportJobWithContext is the same as GetImportJob with the addition of +// the ability to pass a context and additional request options. +// +// See GetImportJob 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 *SESV2) GetImportJobWithContext(ctx aws.Context, input *GetImportJobInput, opts ...request.Option) (*GetImportJobOutput, error) { + req, out := c.GetImportJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetSuppressedDestination = "GetSuppressedDestination" // GetSuppressedDestinationRequest generates a "aws/request.Request" representing the @@ -3954,6 +4124,146 @@ func (c *SESV2) ListEmailTemplatesPagesWithContext(ctx aws.Context, input *ListE return p.Err() } +const opListImportJobs = "ListImportJobs" + +// ListImportJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListImportJobs 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 ListImportJobs for more information on using the ListImportJobs +// 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 ListImportJobsRequest method. +// req, resp := client.ListImportJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListImportJobs +func (c *SESV2) ListImportJobsRequest(input *ListImportJobsInput) (req *request.Request, output *ListImportJobsOutput) { + op := &request.Operation{ + Name: opListImportJobs, + HTTPMethod: "GET", + HTTPPath: "/v2/email/import-jobs", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "PageSize", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListImportJobsInput{} + } + + output = &ListImportJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListImportJobs API operation for Amazon Simple Email Service. +// +// Lists all of the import jobs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Simple Email Service's +// API operation ListImportJobs for usage and error information. +// +// Returned Error Types: +// * TooManyRequestsException +// Too many requests have been made to the operation. +// +// * BadRequestException +// The input you provided is invalid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sesv2-2019-09-27/ListImportJobs +func (c *SESV2) ListImportJobs(input *ListImportJobsInput) (*ListImportJobsOutput, error) { + req, out := c.ListImportJobsRequest(input) + return out, req.Send() +} + +// ListImportJobsWithContext is the same as ListImportJobs with the addition of +// the ability to pass a context and additional request options. +// +// See ListImportJobs 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 *SESV2) ListImportJobsWithContext(ctx aws.Context, input *ListImportJobsInput, opts ...request.Option) (*ListImportJobsOutput, error) { + req, out := c.ListImportJobsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListImportJobsPages iterates over the pages of a ListImportJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListImportJobs 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 ListImportJobs operation. +// pageNum := 0 +// err := client.ListImportJobsPages(params, +// func(page *sesv2.ListImportJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *SESV2) ListImportJobsPages(input *ListImportJobsInput, fn func(*ListImportJobsOutput, bool) bool) error { + return c.ListImportJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListImportJobsPagesWithContext same as ListImportJobsPages 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 *SESV2) ListImportJobsPagesWithContext(ctx aws.Context, input *ListImportJobsInput, fn func(*ListImportJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListImportJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListImportJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListImportJobsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListSuppressedDestinations = "ListSuppressedDestinations" // ListSuppressedDestinationsRequest generates a "aws/request.Request" representing the @@ -8385,41 +8695,130 @@ func (s CreateEmailTemplateOutput) GoString() string { return s.String() } -// Contains information about a custom verification email template. -type CustomVerificationEmailTemplateMetadata struct { +// Represents a request to create an import job from a data source for a data +// destination. +type CreateImportJobInput struct { _ struct{} `type:"structure"` - // The URL that the recipient of the verification email is sent to if his or - // her address is not successfully verified. - FailureRedirectionURL *string `type:"string"` - - // The email address that the custom verification email is sent from. - FromEmailAddress *string `type:"string"` - - // The URL that the recipient of the verification email is sent to if his or - // her address is successfully verified. - SuccessRedirectionURL *string `type:"string"` - - // The name of the custom verification email template. - TemplateName *string `min:"1" type:"string"` + // The data source for the import job. + // + // ImportDataSource is a required field + ImportDataSource *ImportDataSource `type:"structure" required:"true"` - // The subject line of the custom verification email. - TemplateSubject *string `type:"string"` + // The destination for the import job. + // + // ImportDestination is a required field + ImportDestination *ImportDestination `type:"structure" required:"true"` } // String returns the string representation -func (s CustomVerificationEmailTemplateMetadata) String() string { +func (s CreateImportJobInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CustomVerificationEmailTemplateMetadata) GoString() string { +func (s CreateImportJobInput) GoString() string { return s.String() } -// SetFailureRedirectionURL sets the FailureRedirectionURL field's value. -func (s *CustomVerificationEmailTemplateMetadata) SetFailureRedirectionURL(v string) *CustomVerificationEmailTemplateMetadata { - s.FailureRedirectionURL = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateImportJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateImportJobInput"} + if s.ImportDataSource == nil { + invalidParams.Add(request.NewErrParamRequired("ImportDataSource")) + } + if s.ImportDestination == nil { + invalidParams.Add(request.NewErrParamRequired("ImportDestination")) + } + if s.ImportDataSource != nil { + if err := s.ImportDataSource.Validate(); err != nil { + invalidParams.AddNested("ImportDataSource", err.(request.ErrInvalidParams)) + } + } + if s.ImportDestination != nil { + if err := s.ImportDestination.Validate(); err != nil { + invalidParams.AddNested("ImportDestination", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetImportDataSource sets the ImportDataSource field's value. +func (s *CreateImportJobInput) SetImportDataSource(v *ImportDataSource) *CreateImportJobInput { + s.ImportDataSource = v + return s +} + +// SetImportDestination sets the ImportDestination field's value. +func (s *CreateImportJobInput) SetImportDestination(v *ImportDestination) *CreateImportJobInput { + s.ImportDestination = v + return s +} + +// An HTTP 200 response if the request succeeds, or an error message if the +// request fails. +type CreateImportJobOutput struct { + _ struct{} `type:"structure"` + + // A string that represents the import job ID. + JobId *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s CreateImportJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateImportJobOutput) GoString() string { + return s.String() +} + +// SetJobId sets the JobId field's value. +func (s *CreateImportJobOutput) SetJobId(v string) *CreateImportJobOutput { + s.JobId = &v + return s +} + +// Contains information about a custom verification email template. +type CustomVerificationEmailTemplateMetadata struct { + _ struct{} `type:"structure"` + + // The URL that the recipient of the verification email is sent to if his or + // her address is not successfully verified. + FailureRedirectionURL *string `type:"string"` + + // The email address that the custom verification email is sent from. + FromEmailAddress *string `type:"string"` + + // The URL that the recipient of the verification email is sent to if his or + // her address is successfully verified. + SuccessRedirectionURL *string `type:"string"` + + // The name of the custom verification email template. + TemplateName *string `min:"1" type:"string"` + + // The subject line of the custom verification email. + TemplateSubject *string `type:"string"` +} + +// String returns the string representation +func (s CustomVerificationEmailTemplateMetadata) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CustomVerificationEmailTemplateMetadata) GoString() string { + return s.String() +} + +// SetFailureRedirectionURL sets the FailureRedirectionURL field's value. +func (s *CustomVerificationEmailTemplateMetadata) SetFailureRedirectionURL(v string) *CustomVerificationEmailTemplateMetadata { + s.FailureRedirectionURL = &v return s } @@ -10045,6 +10444,40 @@ func (s *EventDestinationDefinition) SetSnsDestination(v *SnsDestination) *Event return s } +// An object that contains the failure details about an import job. +type FailureInfo struct { + _ struct{} `type:"structure"` + + // A message about why the import job failed. + ErrorMessage *string `type:"string"` + + // An Amazon S3 presigned URL that contains all the failed records and related + // information. + FailedRecordsS3Url *string `type:"string"` +} + +// String returns the string representation +func (s FailureInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s FailureInfo) GoString() string { + return s.String() +} + +// SetErrorMessage sets the ErrorMessage field's value. +func (s *FailureInfo) SetErrorMessage(v string) *FailureInfo { + s.ErrorMessage = &v + return s +} + +// SetFailedRecordsS3Url sets the FailedRecordsS3Url field's value. +func (s *FailureInfo) SetFailedRecordsS3Url(v string) *FailureInfo { + s.FailedRecordsS3Url = &v + return s +} + // A request to obtain information about the email-sending capabilities of your // Amazon SES account. type GetAccountInput struct { @@ -11373,6 +11806,147 @@ func (s *GetEmailTemplateOutput) SetTemplateName(v string) *GetEmailTemplateOutp return s } +// Represents a request for information about an import job using the import +// job ID. +type GetImportJobInput struct { + _ struct{} `type:"structure"` + + // The ID of the import job. + // + // JobId is a required field + JobId *string `location:"uri" locationName:"JobId" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetImportJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetImportJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetImportJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetImportJobInput"} + if s.JobId == nil { + invalidParams.Add(request.NewErrParamRequired("JobId")) + } + if s.JobId != nil && len(*s.JobId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JobId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetJobId sets the JobId field's value. +func (s *GetImportJobInput) SetJobId(v string) *GetImportJobInput { + s.JobId = &v + return s +} + +// An HTTP 200 response if the request succeeds, or an error message if the +// request fails. +type GetImportJobOutput struct { + _ struct{} `type:"structure"` + + // The time stamp of when the import job was completed. + CompletedTimestamp *time.Time `type:"timestamp"` + + // The time stamp of when the import job was created. + CreatedTimestamp *time.Time `type:"timestamp"` + + // The number of records that failed processing because of invalid input or + // other reasons. + FailedRecordsCount *int64 `type:"integer"` + + // The failure details about an import job. + FailureInfo *FailureInfo `type:"structure"` + + // The data source of the import job. + ImportDataSource *ImportDataSource `type:"structure"` + + // The destination of the import job. + ImportDestination *ImportDestination `type:"structure"` + + // A string that represents the import job ID. + JobId *string `min:"1" type:"string"` + + // The status of the import job. + JobStatus *string `type:"string" enum:"JobStatus"` + + // The current number of records processed. + ProcessedRecordsCount *int64 `type:"integer"` +} + +// String returns the string representation +func (s GetImportJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetImportJobOutput) GoString() string { + return s.String() +} + +// SetCompletedTimestamp sets the CompletedTimestamp field's value. +func (s *GetImportJobOutput) SetCompletedTimestamp(v time.Time) *GetImportJobOutput { + s.CompletedTimestamp = &v + return s +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *GetImportJobOutput) SetCreatedTimestamp(v time.Time) *GetImportJobOutput { + s.CreatedTimestamp = &v + return s +} + +// SetFailedRecordsCount sets the FailedRecordsCount field's value. +func (s *GetImportJobOutput) SetFailedRecordsCount(v int64) *GetImportJobOutput { + s.FailedRecordsCount = &v + return s +} + +// SetFailureInfo sets the FailureInfo field's value. +func (s *GetImportJobOutput) SetFailureInfo(v *FailureInfo) *GetImportJobOutput { + s.FailureInfo = v + return s +} + +// SetImportDataSource sets the ImportDataSource field's value. +func (s *GetImportJobOutput) SetImportDataSource(v *ImportDataSource) *GetImportJobOutput { + s.ImportDataSource = v + return s +} + +// SetImportDestination sets the ImportDestination field's value. +func (s *GetImportJobOutput) SetImportDestination(v *ImportDestination) *GetImportJobOutput { + s.ImportDestination = v + return s +} + +// SetJobId sets the JobId field's value. +func (s *GetImportJobOutput) SetJobId(v string) *GetImportJobOutput { + s.JobId = &v + return s +} + +// SetJobStatus sets the JobStatus field's value. +func (s *GetImportJobOutput) SetJobStatus(v string) *GetImportJobOutput { + s.JobStatus = &v + return s +} + +// SetProcessedRecordsCount sets the ProcessedRecordsCount field's value. +func (s *GetImportJobOutput) SetProcessedRecordsCount(v int64) *GetImportJobOutput { + s.ProcessedRecordsCount = &v + return s +} + // A request to retrieve information about an email address that's on the suppression // list for your account. type GetSuppressedDestinationInput struct { @@ -11494,6 +12068,156 @@ func (s *IdentityInfo) SetSendingEnabled(v bool) *IdentityInfo { return s } +// An object that contains details about the data source of the import job. +type ImportDataSource struct { + _ struct{} `type:"structure"` + + // The data format of the import job's data source. + // + // DataFormat is a required field + DataFormat *string `type:"string" required:"true" enum:"DataFormat"` + + // An Amazon S3 URL in the format s3:///. + // + // S3Url is a required field + S3Url *string `type:"string" required:"true"` +} + +// String returns the string representation +func (s ImportDataSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportDataSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImportDataSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportDataSource"} + if s.DataFormat == nil { + invalidParams.Add(request.NewErrParamRequired("DataFormat")) + } + if s.S3Url == nil { + invalidParams.Add(request.NewErrParamRequired("S3Url")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataFormat sets the DataFormat field's value. +func (s *ImportDataSource) SetDataFormat(v string) *ImportDataSource { + s.DataFormat = &v + return s +} + +// SetS3Url sets the S3Url field's value. +func (s *ImportDataSource) SetS3Url(v string) *ImportDataSource { + s.S3Url = &v + return s +} + +// An object that contains details about the resource destination the import +// job is going to target. +type ImportDestination struct { + _ struct{} `type:"structure"` + + // An object that contains the action of the import job towards suppression + // list. + // + // SuppressionListDestination is a required field + SuppressionListDestination *SuppressionListDestination `type:"structure" required:"true"` +} + +// String returns the string representation +func (s ImportDestination) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportDestination) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImportDestination) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportDestination"} + if s.SuppressionListDestination == nil { + invalidParams.Add(request.NewErrParamRequired("SuppressionListDestination")) + } + if s.SuppressionListDestination != nil { + if err := s.SuppressionListDestination.Validate(); err != nil { + invalidParams.AddNested("SuppressionListDestination", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSuppressionListDestination sets the SuppressionListDestination field's value. +func (s *ImportDestination) SetSuppressionListDestination(v *SuppressionListDestination) *ImportDestination { + s.SuppressionListDestination = v + return s +} + +// A summary of the import job. +type ImportJobSummary struct { + _ struct{} `type:"structure"` + + CreatedTimestamp *time.Time `type:"timestamp"` + + // An object that contains details about the resource destination the import + // job is going to target. + ImportDestination *ImportDestination `type:"structure"` + + // A string that represents the import job ID. + JobId *string `min:"1" type:"string"` + + // The status of the import job. + JobStatus *string `type:"string" enum:"JobStatus"` +} + +// String returns the string representation +func (s ImportJobSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportJobSummary) GoString() string { + return s.String() +} + +// SetCreatedTimestamp sets the CreatedTimestamp field's value. +func (s *ImportJobSummary) SetCreatedTimestamp(v time.Time) *ImportJobSummary { + s.CreatedTimestamp = &v + return s +} + +// SetImportDestination sets the ImportDestination field's value. +func (s *ImportJobSummary) SetImportDestination(v *ImportDestination) *ImportJobSummary { + s.ImportDestination = v + return s +} + +// SetJobId sets the JobId field's value. +func (s *ImportJobSummary) SetJobId(v string) *ImportJobSummary { + s.JobId = &v + return s +} + +// SetJobStatus sets the JobStatus field's value. +func (s *ImportJobSummary) SetJobStatus(v string) *ImportJobSummary { + s.JobStatus = &v + return s +} + // An object that contains information about the inbox placement data settings // for a verified domain that’s associated with your AWS account. This data // is available only if you enabled the Deliverability dashboard for the domain. @@ -12331,6 +13055,91 @@ func (s *ListEmailTemplatesOutput) SetTemplatesMetadata(v []*EmailTemplateMetada return s } +// Represents a request to list all of the import jobs for a data destination +// within the specified maximum number of import jobs. +type ListImportJobsInput struct { + _ struct{} `type:"structure"` + + // The destination of the import job, which can be used to list import jobs + // that have a certain ImportDestinationType. + ImportDestinationType *string `type:"string" enum:"ImportDestinationType"` + + // A string token indicating that there might be additional import jobs available + // to be listed. Copy this token to a subsequent call to ListImportJobs with + // the same parameters to retrieve the next page of import jobs. + NextToken *string `location:"querystring" locationName:"NextToken" type:"string"` + + // Maximum number of import jobs to return at once. Use this parameter to paginate + // results. If additional import jobs exist beyond the specified limit, the + // NextToken element is sent in the response. Use the NextToken value in subsequent + // requests to retrieve additional addresses. + PageSize *int64 `location:"querystring" locationName:"PageSize" type:"integer"` +} + +// String returns the string representation +func (s ListImportJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListImportJobsInput) GoString() string { + return s.String() +} + +// SetImportDestinationType sets the ImportDestinationType field's value. +func (s *ListImportJobsInput) SetImportDestinationType(v string) *ListImportJobsInput { + s.ImportDestinationType = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListImportJobsInput) SetNextToken(v string) *ListImportJobsInput { + s.NextToken = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *ListImportJobsInput) SetPageSize(v int64) *ListImportJobsInput { + s.PageSize = &v + return s +} + +// An HTTP 200 response if the request succeeds, or an error message if the +// request fails. +type ListImportJobsOutput struct { + _ struct{} `type:"structure"` + + // A list of the import job summaries. + ImportJobs []*ImportJobSummary `type:"list"` + + // A string token indicating that there might be additional import jobs available + // to be listed. Copy this token to a subsequent call to ListImportJobs with + // the same parameters to retrieve the next page of import jobs. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s ListImportJobsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListImportJobsOutput) GoString() string { + return s.String() +} + +// SetImportJobs sets the ImportJobs field's value. +func (s *ListImportJobsOutput) SetImportJobs(v []*ImportJobSummary) *ListImportJobsOutput { + s.ImportJobs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListImportJobsOutput) SetNextToken(v string) *ListImportJobsOutput { + s.NextToken = &v + return s +} + // A request to obtain a list of email destinations that are on the suppression // list for your account. type ListSuppressedDestinationsInput struct { @@ -15351,6 +16160,50 @@ func (s *SuppressionAttributes) SetSuppressedReasons(v []*string) *SuppressionAt return s } +// An object that contains details about the action of suppression list. +type SuppressionListDestination struct { + _ struct{} `type:"structure"` + + // The type of action that you want to perform on the address. Acceptable values: + // + // * PUT: add the addresses to the suppression list. If the record already + // exists, it will override it with the new value. + // + // * DELETE: remove the addresses from the suppression list. + // + // SuppressionListImportAction is a required field + SuppressionListImportAction *string `type:"string" required:"true" enum:"SuppressionListImportAction"` +} + +// String returns the string representation +func (s SuppressionListDestination) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SuppressionListDestination) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SuppressionListDestination) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SuppressionListDestination"} + if s.SuppressionListImportAction == nil { + invalidParams.Add(request.NewErrParamRequired("SuppressionListImportAction")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSuppressionListImportAction sets the SuppressionListImportAction field's value. +func (s *SuppressionListDestination) SetSuppressionListImportAction(v string) *SuppressionListDestination { + s.SuppressionListImportAction = &v + return s +} + // An object that contains information about the suppression list preferences // for your account. type SuppressionOptions struct { @@ -16437,6 +17290,23 @@ func ContactLanguage_Values() []string { } } +// The data format of the import job's data source. +const ( + // DataFormatCsv is a DataFormat enum value + DataFormatCsv = "CSV" + + // DataFormatJson is a DataFormat enum value + DataFormatJson = "JSON" +) + +// DataFormat_Values returns all elements of the DataFormat enum +func DataFormat_Values() []string { + return []string{ + DataFormatCsv, + DataFormatJson, + } +} + // The current status of your Deliverability dashboard subscription. If this // value is PENDING_EXPIRATION, your subscription is scheduled to expire at // the end of the current calendar month. @@ -16638,6 +17508,45 @@ func IdentityType_Values() []string { } } +// The destination of the import job, which can be used to list import jobs +// that have a certain ImportDestinationType. +const ( + // ImportDestinationTypeSuppressionList is a ImportDestinationType enum value + ImportDestinationTypeSuppressionList = "SUPPRESSION_LIST" +) + +// ImportDestinationType_Values returns all elements of the ImportDestinationType enum +func ImportDestinationType_Values() []string { + return []string{ + ImportDestinationTypeSuppressionList, + } +} + +// The status of the import job. +const ( + // JobStatusCreated is a JobStatus enum value + JobStatusCreated = "CREATED" + + // JobStatusProcessing is a JobStatus enum value + JobStatusProcessing = "PROCESSING" + + // JobStatusCompleted is a JobStatus enum value + JobStatusCompleted = "COMPLETED" + + // JobStatusFailed is a JobStatus enum value + JobStatusFailed = "FAILED" +) + +// JobStatus_Values returns all elements of the JobStatus enum +func JobStatus_Values() []string { + return []string{ + JobStatusCreated, + JobStatusProcessing, + JobStatusCompleted, + JobStatusFailed, + } +} + // The status of the MAIL FROM domain. This status can have the following values: // // * PENDING – Amazon SES hasn't started searching for the MX record yet. @@ -16714,6 +17623,27 @@ func ReviewStatus_Values() []string { } } +// The type of action that you want to perform on the address. Acceptable values: +// +// * PUT: add the addresses to the suppression list. +// +// * DELETE: remove the address from the suppression list. +const ( + // SuppressionListImportActionDelete is a SuppressionListImportAction enum value + SuppressionListImportActionDelete = "DELETE" + + // SuppressionListImportActionPut is a SuppressionListImportAction enum value + SuppressionListImportActionPut = "PUT" +) + +// SuppressionListImportAction_Values returns all elements of the SuppressionListImportAction enum +func SuppressionListImportAction_Values() []string { + return []string{ + SuppressionListImportActionDelete, + SuppressionListImportActionPut, + } +} + // The reason that the address was added to the suppression list for your account. // The value can be one of the following: // diff --git a/service/sesv2/sesv2iface/interface.go b/service/sesv2/sesv2iface/interface.go index 6cbda3bedb..9dc09f07ad 100644 --- a/service/sesv2/sesv2iface/interface.go +++ b/service/sesv2/sesv2iface/interface.go @@ -92,6 +92,10 @@ type SESV2API interface { CreateEmailTemplateWithContext(aws.Context, *sesv2.CreateEmailTemplateInput, ...request.Option) (*sesv2.CreateEmailTemplateOutput, error) CreateEmailTemplateRequest(*sesv2.CreateEmailTemplateInput) (*request.Request, *sesv2.CreateEmailTemplateOutput) + CreateImportJob(*sesv2.CreateImportJobInput) (*sesv2.CreateImportJobOutput, error) + CreateImportJobWithContext(aws.Context, *sesv2.CreateImportJobInput, ...request.Option) (*sesv2.CreateImportJobOutput, error) + CreateImportJobRequest(*sesv2.CreateImportJobInput) (*request.Request, *sesv2.CreateImportJobOutput) + DeleteConfigurationSet(*sesv2.DeleteConfigurationSetInput) (*sesv2.DeleteConfigurationSetOutput, error) DeleteConfigurationSetWithContext(aws.Context, *sesv2.DeleteConfigurationSetInput, ...request.Option) (*sesv2.DeleteConfigurationSetOutput, error) DeleteConfigurationSetRequest(*sesv2.DeleteConfigurationSetInput) (*request.Request, *sesv2.DeleteConfigurationSetOutput) @@ -183,6 +187,10 @@ type SESV2API interface { GetEmailTemplateWithContext(aws.Context, *sesv2.GetEmailTemplateInput, ...request.Option) (*sesv2.GetEmailTemplateOutput, error) GetEmailTemplateRequest(*sesv2.GetEmailTemplateInput) (*request.Request, *sesv2.GetEmailTemplateOutput) + GetImportJob(*sesv2.GetImportJobInput) (*sesv2.GetImportJobOutput, error) + GetImportJobWithContext(aws.Context, *sesv2.GetImportJobInput, ...request.Option) (*sesv2.GetImportJobOutput, error) + GetImportJobRequest(*sesv2.GetImportJobInput) (*request.Request, *sesv2.GetImportJobOutput) + GetSuppressedDestination(*sesv2.GetSuppressedDestinationInput) (*sesv2.GetSuppressedDestinationOutput, error) GetSuppressedDestinationWithContext(aws.Context, *sesv2.GetSuppressedDestinationInput, ...request.Option) (*sesv2.GetSuppressedDestinationOutput, error) GetSuppressedDestinationRequest(*sesv2.GetSuppressedDestinationInput) (*request.Request, *sesv2.GetSuppressedDestinationOutput) @@ -236,6 +244,13 @@ type SESV2API interface { ListEmailTemplatesPages(*sesv2.ListEmailTemplatesInput, func(*sesv2.ListEmailTemplatesOutput, bool) bool) error ListEmailTemplatesPagesWithContext(aws.Context, *sesv2.ListEmailTemplatesInput, func(*sesv2.ListEmailTemplatesOutput, bool) bool, ...request.Option) error + ListImportJobs(*sesv2.ListImportJobsInput) (*sesv2.ListImportJobsOutput, error) + ListImportJobsWithContext(aws.Context, *sesv2.ListImportJobsInput, ...request.Option) (*sesv2.ListImportJobsOutput, error) + ListImportJobsRequest(*sesv2.ListImportJobsInput) (*request.Request, *sesv2.ListImportJobsOutput) + + ListImportJobsPages(*sesv2.ListImportJobsInput, func(*sesv2.ListImportJobsOutput, bool) bool) error + ListImportJobsPagesWithContext(aws.Context, *sesv2.ListImportJobsInput, func(*sesv2.ListImportJobsOutput, bool) bool, ...request.Option) error + ListSuppressedDestinations(*sesv2.ListSuppressedDestinationsInput) (*sesv2.ListSuppressedDestinationsOutput, error) ListSuppressedDestinationsWithContext(aws.Context, *sesv2.ListSuppressedDestinationsInput, ...request.Option) (*sesv2.ListSuppressedDestinationsOutput, error) ListSuppressedDestinationsRequest(*sesv2.ListSuppressedDestinationsInput) (*request.Request, *sesv2.ListSuppressedDestinationsOutput)