diff --git a/go.mod b/go.mod index d636b655a529..7a3b85632e82 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/terraform-providers/terraform-provider-aws go 1.14 require ( - github.com/aws/aws-sdk-go v1.34.4 + github.com/aws/aws-sdk-go v1.34.9 github.com/beevik/etree v1.1.0 github.com/bflad/tfproviderdocs v0.7.0 github.com/bflad/tfproviderlint v0.18.0 diff --git a/go.sum b/go.sum index f8068176b548..a6453f5c69ce 100644 --- a/go.sum +++ b/go.sum @@ -76,8 +76,7 @@ github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgI github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM= github.com/aws/aws-sdk-go v1.25.3/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go v1.31.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.34.4 h1:Yx49/+ZMCD9YqIVsO3CsiMs4hnUnokd9otKvWYFjnYw= -github.com/aws/aws-sdk-go v1.34.4/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= +github.com/aws/aws-sdk-go v1.34.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs= github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go index b7be4901ce7b..aff5786aeb74 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go @@ -3773,10 +3773,28 @@ var awsPartition = partition{ "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-2": endpoint{}, + "fips-us-east-1": endpoint{ + Hostname: "medialive-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "fips-us-east-2": endpoint{ + Hostname: "medialive-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "fips-us-west-2": endpoint{ + Hostname: "medialive-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-2": endpoint{}, }, }, "mediapackage": service{ @@ -5298,6 +5316,7 @@ var awsPartition = partition{ Protocols: []string{"https"}, }, Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -5307,6 +5326,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, @@ -6050,11 +6070,41 @@ var awsPartition = partition{ "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, - "sa-east-1": endpoint{}, - "us-east-1": endpoint{}, - "us-east-2": endpoint{}, - "us-west-1": endpoint{}, - "us-west-2": endpoint{}, + "fips-ca-central-1": endpoint{ + Hostname: "transfer-fips.ca-central-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "ca-central-1", + }, + }, + "fips-us-east-1": endpoint{ + Hostname: "transfer-fips.us-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-1", + }, + }, + "fips-us-east-2": endpoint{ + Hostname: "transfer-fips.us-east-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-east-2", + }, + }, + "fips-us-west-1": endpoint{ + Hostname: "transfer-fips.us-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-1", + }, + }, + "fips-us-west-2": endpoint{ + Hostname: "transfer-fips.us-west-2.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-west-2", + }, + }, + "sa-east-1": endpoint{}, + "us-east-1": endpoint{}, + "us-east-2": endpoint{}, + "us-west-1": endpoint{}, + "us-west-2": endpoint{}, }, }, "translate": service{ diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go index e0ec21b76fe0..819660c400e2 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/version.go +++ b/vendor/github.com/aws/aws-sdk-go/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.4" +const SDKVersion = "1.34.9" diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go index d2f6dae5321d..7865c61b0973 100644 --- a/vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go +++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go @@ -28,7 +28,7 @@ const ( ISO8601TimeFormat = "2006-01-02T15:04:05.999999999Z" // This format is used for output time without seconds precision - ISO8601OutputTimeFormat = "2006-01-02T15:04:05Z" + ISO8601OutputTimeFormat = "2006-01-02T15:04:05.999999999Z" ) // IsKnownTimestampFormat returns if the timestamp format name diff --git a/vendor/github.com/aws/aws-sdk-go/service/acm/api.go b/vendor/github.com/aws/aws-sdk-go/service/acm/api.go index 51c26a35f10a..621308de68c6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/acm/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/acm/api.go @@ -4313,6 +4313,9 @@ const ( // FailureReasonPcaAccessDenied is a FailureReason enum value FailureReasonPcaAccessDenied = "PCA_ACCESS_DENIED" + // FailureReasonSlrNotFound is a FailureReason enum value + FailureReasonSlrNotFound = "SLR_NOT_FOUND" + // FailureReasonOther is a FailureReason enum value FailureReasonOther = "OTHER" ) @@ -4335,6 +4338,7 @@ func FailureReason_Values() []string { FailureReasonPcaInvalidArgs, FailureReasonPcaInvalidDuration, FailureReasonPcaAccessDenied, + FailureReasonSlrNotFound, FailureReasonOther, } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/acmpca/api.go b/vendor/github.com/aws/aws-sdk-go/service/acmpca/api.go index dc6eabe52f48..2f07f7f1e3ae 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/acmpca/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/acmpca/api.go @@ -68,6 +68,14 @@ func (c *ACMPCA) CreateCertificateAuthorityRequest(input *CreateCertificateAutho // S3 bucket that is included in certificates issued by the CA. If successful, // this action returns the Amazon Resource Name (ARN) of the CA. // +// ACM Private CAA assets that are stored in Amazon S3 can be protected with +// encryption. For more information, see Encrypting Your CRLs (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaCreateCa.html#crl-encryption). +// +// Both PCA and the IAM principal must have permission to write to the S3 bucket +// that you specify. If the IAM principal making the call does not have permission +// to write to the bucket, then an exception is thrown. For more information, +// see Configure Access to ACM Private CA (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaAuthAccess.html). +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -80,16 +88,17 @@ func (c *ACMPCA) CreateCertificateAuthorityRequest(input *CreateCertificateAutho // One or more of the specified arguments was not valid. // // * InvalidPolicyException -// The S3 bucket policy is not valid. The policy must give ACM Private CA rights -// to read from and write to the bucket and find the bucket location. +// The resource policy is invalid or is missing a required statement. For general +// information about IAM policy and statement structure, see Overview of JSON +// Policies (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json). // // * InvalidTagException // The tag associated with the CA is not valid. The invalid argument is contained // in the message field. // // * LimitExceededException -// An ACM Private CA limit has been exceeded. See the exception message returned -// to determine the limit that was exceeded. +// An ACM Private CA quota has been exceeded. See the exception message returned +// to determine the quota that was exceeded. // // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/CreateCertificateAuthority func (c *ACMPCA) CreateCertificateAuthority(input *CreateCertificateAuthorityInput) (*CreateCertificateAuthorityOutput, error) { @@ -159,7 +168,17 @@ func (c *ACMPCA) CreateCertificateAuthorityAuditReportRequest(input *CreateCerti // // Creates an audit report that lists every time that your CA private key is // used. The report is saved in the Amazon S3 bucket that you specify on input. -// The IssueCertificate and RevokeCertificate actions use the private key. +// The IssueCertificate (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_IssueCertificate.html) +// and RevokeCertificate (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_RevokeCertificate.html) +// actions use the private key. +// +// Both PCA and the IAM principal must have permission to write to the S3 bucket +// that you specify. If the IAM principal making the call does not have permission +// to write to the bucket, then an exception is thrown. For more information, +// see Configure Access to ACM Private CA (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaAuthAccess.html). +// +// ACM Private CAA assets that are stored in Amazon S3 can be protected with +// encryption. For more information, see Encrypting Your Audit Reports (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaAuditReport.html#audit-report-encryption). // // 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 @@ -176,8 +195,8 @@ func (c *ACMPCA) CreateCertificateAuthorityAuditReportRequest(input *CreateCerti // The request has failed for an unspecified reason. // // * ResourceNotFoundException -// A resource such as a private CA, S3 bucket, certificate, or audit report -// cannot be found. +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. // // * InvalidArnException // The requested Amazon Resource Name (ARN) does not refer to an existing resource. @@ -186,8 +205,7 @@ func (c *ACMPCA) CreateCertificateAuthorityAuditReportRequest(input *CreateCerti // One or more of the specified arguments was not valid. // // * InvalidStateException -// The private CA is in a state during which a report or certificate cannot -// be generated. +// The state of the private CA does not allow this action to occur. // // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/CreateCertificateAuthorityAuditReport func (c *ACMPCA) CreateCertificateAuthorityAuditReport(input *CreateCertificateAuthorityAuditReportInput) (*CreateCertificateAuthorityAuditReportOutput, error) { @@ -256,16 +274,29 @@ func (c *ACMPCA) CreatePermissionRequest(input *CreatePermissionInput) (req *req // CreatePermission API operation for AWS Certificate Manager Private Certificate Authority. // -// Assigns permissions from a private CA to a designated AWS service. Services -// are specified by their service principals and can be given permission to -// create and retrieve certificates on a private CA. Services can also be given -// permission to list the active permissions that the private CA has granted. -// For ACM to automatically renew your private CA's certificates, you must assign -// all possible permissions from the CA to the ACM service principal. +// Grants one or more permissions on a private CA to the AWS Certificate Manager +// (ACM) service principal (acm.amazonaws.com). These permissions allow ACM +// to issue and renew ACM certificates that reside in the same AWS account as +// the CA. +// +// You can list current permissions with the ListPermissions (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListPermissions.html) +// action and revoke them with the DeletePermission (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_DeletePermission.html) +// action. +// +// About Permissions +// +// * If the private CA and the certificates it issues reside in the same +// account, you can use CreatePermission to grant permissions for ACM to +// carry out automatic certificate renewals. +// +// * For automatic certificate renewal to succeed, the ACM service principal +// needs permissions to create, retrieve, and list certificates. // -// At this time, you can only assign permissions to ACM (acm.amazonaws.com). -// Permissions can be revoked with the DeletePermission action and listed with -// the ListPermissions action. +// * If the private CA and the ACM certificates reside in different accounts, +// then permissions cannot be used to enable automatic renewals. Instead, +// the ACM certificate owner must set up a resource-based policy to enable +// cross-account issuance and renewals. For more information, see Using a +// Resource Based Policy with ACM Private CA (acm-pca/latest/userguide/pca-rbp.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -276,8 +307,8 @@ func (c *ACMPCA) CreatePermissionRequest(input *CreatePermissionInput) (req *req // // Returned Error Types: // * ResourceNotFoundException -// A resource such as a private CA, S3 bucket, certificate, or audit report -// cannot be found. +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. // // * InvalidArnException // The requested Amazon Resource Name (ARN) does not refer to an existing resource. @@ -286,12 +317,11 @@ func (c *ACMPCA) CreatePermissionRequest(input *CreatePermissionInput) (req *req // The designated permission has already been given to the user. // // * LimitExceededException -// An ACM Private CA limit has been exceeded. See the exception message returned -// to determine the limit that was exceeded. +// An ACM Private CA quota has been exceeded. See the exception message returned +// to determine the quota that was exceeded. // // * InvalidStateException -// The private CA is in a state during which a report or certificate cannot -// be generated. +// The state of the private CA does not allow this action to occur. // // * RequestFailedException // The request has failed for an unspecified reason. @@ -365,27 +395,31 @@ func (c *ACMPCA) DeleteCertificateAuthorityRequest(input *DeleteCertificateAutho // // Deletes a private certificate authority (CA). You must provide the Amazon // Resource Name (ARN) of the private CA that you want to delete. You can find -// the ARN by calling the ListCertificateAuthorities action. +// the ARN by calling the ListCertificateAuthorities (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html) +// action. // // Deleting a CA will invalidate other CAs and certificates below it in your // CA hierarchy. // // Before you can delete a CA that you have created and activated, you must -// disable it. To do this, call the UpdateCertificateAuthority action and set -// the CertificateAuthorityStatus parameter to DISABLED. +// disable it. To do this, call the UpdateCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UpdateCertificateAuthority.html) +// action and set the CertificateAuthorityStatus parameter to DISABLED. // // Additionally, you can delete a CA if you are waiting for it to be created // (that is, the status of the CA is CREATING). You can also delete it if the // CA has been created but you haven't yet imported the signed certificate into // ACM Private CA (that is, the status of the CA is PENDING_CERTIFICATE). // -// When you successfully call DeleteCertificateAuthority, the CA's status changes -// to DELETED. However, the CA won't be permanently deleted until the restoration -// period has passed. By default, if you do not set the PermanentDeletionTimeInDays -// parameter, the CA remains restorable for 30 days. You can set the parameter -// from 7 to 30 days. The DescribeCertificateAuthority action returns the time -// remaining in the restoration window of a private CA in the DELETED state. -// To restore an eligible CA, call the RestoreCertificateAuthority action. +// When you successfully call DeleteCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_DeleteCertificateAuthority.html), +// the CA's status changes to DELETED. However, the CA won't be permanently +// deleted until the restoration period has passed. By default, if you do not +// set the PermanentDeletionTimeInDays parameter, the CA remains restorable +// for 30 days. You can set the parameter from 7 to 30 days. The DescribeCertificateAuthority +// (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_DescribeCertificateAuthority.html) +// action returns the time remaining in the restoration window of a private +// CA in the DELETED state. To restore an eligible CA, call the RestoreCertificateAuthority +// (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_RestoreCertificateAuthority.html) +// action. // // 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 @@ -399,15 +433,14 @@ func (c *ACMPCA) DeleteCertificateAuthorityRequest(input *DeleteCertificateAutho // A previous update to your private CA is still ongoing. // // * ResourceNotFoundException -// A resource such as a private CA, S3 bucket, certificate, or audit report -// cannot be found. +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. // // * InvalidArnException // The requested Amazon Resource Name (ARN) does not refer to an existing resource. // // * InvalidStateException -// The private CA is in a state during which a report or certificate cannot -// be generated. +// The state of the private CA does not allow this action to occur. // // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/DeleteCertificateAuthority func (c *ACMPCA) DeleteCertificateAuthority(input *DeleteCertificateAuthorityInput) (*DeleteCertificateAuthorityOutput, error) { @@ -476,9 +509,31 @@ func (c *ACMPCA) DeletePermissionRequest(input *DeletePermissionInput) (req *req // DeletePermission API operation for AWS Certificate Manager Private Certificate Authority. // -// Revokes permissions that a private CA assigned to a designated AWS service. -// Permissions can be created with the CreatePermission action and listed with -// the ListPermissions action. +// Revokes permissions on a private CA granted to the AWS Certificate Manager +// (ACM) service principal (acm.amazonaws.com). +// +// These permissions allow ACM to issue and renew ACM certificates that reside +// in the same AWS account as the CA. If you revoke these permissions, ACM will +// no longer renew the affected certificates automatically. +// +// Permissions can be granted with the CreatePermission (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreatePermission.html) +// action and listed with the ListPermissions (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListPermissions.html) +// action. +// +// About Permissions +// +// * If the private CA and the certificates it issues reside in the same +// account, you can use CreatePermission to grant permissions for ACM to +// carry out automatic certificate renewals. +// +// * For automatic certificate renewal to succeed, the ACM service principal +// needs permissions to create, retrieve, and list certificates. +// +// * If the private CA and the ACM certificates reside in different accounts, +// then permissions cannot be used to enable automatic renewals. Instead, +// the ACM certificate owner must set up a resource-based policy to enable +// cross-account issuance and renewals. For more information, see Using a +// Resource Based Policy with ACM Private CA (acm-pca/latest/userguide/pca-rbp.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -489,15 +544,14 @@ func (c *ACMPCA) DeletePermissionRequest(input *DeletePermissionInput) (req *req // // Returned Error Types: // * ResourceNotFoundException -// A resource such as a private CA, S3 bucket, certificate, or audit report -// cannot be found. +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. // // * InvalidArnException // The requested Amazon Resource Name (ARN) does not refer to an existing resource. // // * InvalidStateException -// The private CA is in a state during which a report or certificate cannot -// be generated. +// The state of the private CA does not allow this action to occur. // // * RequestFailedException // The request has failed for an unspecified reason. @@ -524,6 +578,135 @@ func (c *ACMPCA) DeletePermissionWithContext(ctx aws.Context, input *DeletePermi return out, req.Send() } +const opDeletePolicy = "DeletePolicy" + +// DeletePolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeletePolicy 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 DeletePolicy for more information on using the DeletePolicy +// 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 DeletePolicyRequest method. +// req, resp := client.DeletePolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/DeletePolicy +func (c *ACMPCA) DeletePolicyRequest(input *DeletePolicyInput) (req *request.Request, output *DeletePolicyOutput) { + op := &request.Operation{ + Name: opDeletePolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeletePolicyInput{} + } + + output = &DeletePolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeletePolicy API operation for AWS Certificate Manager Private Certificate Authority. +// +// Deletes the resource-based policy attached to a private CA. Deletion will +// remove any access that the policy has granted. If there is no policy attached +// to the private CA, this action will return successful. +// +// If you delete a policy that was applied through AWS Resource Access Manager +// (RAM), the CA will be removed from all shares in which it was included. +// +// The AWS Certificate Manager Service Linked Role that the policy supports +// is not affected when you delete the policy. +// +// The current policy can be shown with GetPolicy (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_GetPolicy.html) +// and updated with PutPolicy (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_PutPolicy.html). +// +// About Policies +// +// * A policy grants access on a private CA to an AWS customer account, to +// AWS Organizations, or to an AWS Organizations unit. Policies are under +// the control of a CA administrator. For more information, see Using a Resource +// Based Policy with ACM Private CA (acm-pca/latest/userguide/pca-rbp.html). +// +// * A policy permits a user of AWS Certificate Manager (ACM) to issue ACM +// certificates signed by a CA in another account. +// +// * For ACM to manage automatic renewal of these certificates, the ACM user +// must configure a Service Linked Role (SLR). The SLR allows the ACM service +// to assume the identity of the user, subject to confirmation against the +// ACM Private CA policy. For more information, see Using a Service Linked +// Role with ACM (https://docs.aws.amazon.com/acm/latest/userguide/acm-slr.html). +// +// * Updates made in AWS Resource Manager (RAM) are reflected in policies. +// For more information, see Using AWS Resource Access Manager (RAM) with +// ACM Private CA (acm-pca/latest/userguide/pca-ram.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's +// API operation DeletePolicy for usage and error information. +// +// Returned Error Types: +// * ConcurrentModificationException +// A previous update to your private CA is still ongoing. +// +// * InvalidArnException +// The requested Amazon Resource Name (ARN) does not refer to an existing resource. +// +// * InvalidStateException +// The state of the private CA does not allow this action to occur. +// +// * LockoutPreventedException +// The current action was prevented because it would lock the caller out from +// performing subsequent actions. Verify that the specified parameters would +// not result in the caller being denied access to the resource. +// +// * RequestFailedException +// The request has failed for an unspecified reason. +// +// * ResourceNotFoundException +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/DeletePolicy +func (c *ACMPCA) DeletePolicy(input *DeletePolicyInput) (*DeletePolicyOutput, error) { + req, out := c.DeletePolicyRequest(input) + return out, req.Send() +} + +// DeletePolicyWithContext is the same as DeletePolicy with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePolicy 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 *ACMPCA) DeletePolicyWithContext(ctx aws.Context, input *DeletePolicyInput, opts ...request.Option) (*DeletePolicyOutput, error) { + req, out := c.DeletePolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeCertificateAuthority = "DescribeCertificateAuthority" // DescribeCertificateAuthorityRequest generates a "aws/request.Request" representing the @@ -568,9 +751,10 @@ func (c *ACMPCA) DescribeCertificateAuthorityRequest(input *DescribeCertificateA // DescribeCertificateAuthority API operation for AWS Certificate Manager Private Certificate Authority. // -// Lists information about your private certificate authority (CA). You specify -// the private CA on input by its ARN (Amazon Resource Name). The output contains -// the status of your CA. This can be any of the following: +// Lists information about your private certificate authority (CA) or one that +// has been shared with you. You specify the private CA on input by its ARN +// (Amazon Resource Name). The output contains the status of your CA. This can +// be any of the following: // // * CREATING - ACM Private CA is creating your private certificate authority. // @@ -601,8 +785,8 @@ func (c *ACMPCA) DescribeCertificateAuthorityRequest(input *DescribeCertificateA // // Returned Error Types: // * ResourceNotFoundException -// A resource such as a private CA, S3 bucket, certificate, or audit report -// cannot be found. +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. // // * InvalidArnException // The requested Amazon Resource Name (ARN) does not refer to an existing resource. @@ -674,9 +858,12 @@ func (c *ACMPCA) DescribeCertificateAuthorityAuditReportRequest(input *DescribeC // DescribeCertificateAuthorityAuditReport API operation for AWS Certificate Manager Private Certificate Authority. // // Lists information about a specific audit report created by calling the CreateCertificateAuthorityAuditReport +// (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthorityAuditReport.html) // action. Audit information is created every time the certificate authority // (CA) private key is used. The private key is used when you call the IssueCertificate -// action or the RevokeCertificate action. +// (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_IssueCertificate.html) +// action or the RevokeCertificate (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_RevokeCertificate.html) +// action. // // 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 @@ -687,8 +874,8 @@ func (c *ACMPCA) DescribeCertificateAuthorityAuditReportRequest(input *DescribeC // // Returned Error Types: // * ResourceNotFoundException -// A resource such as a private CA, S3 bucket, certificate, or audit report -// cannot be found. +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. // // * InvalidArnException // The requested Amazon Resource Name (ARN) does not refer to an existing resource. @@ -762,12 +949,14 @@ func (c *ACMPCA) GetCertificateRequest(input *GetCertificateInput) (req *request // GetCertificate API operation for AWS Certificate Manager Private Certificate Authority. // -// Retrieves a certificate from your private CA. The ARN of the certificate -// is returned when you call the IssueCertificate action. You must specify both -// the ARN of your private CA and the ARN of the issued certificate when calling -// the GetCertificate action. You can retrieve the certificate if it is in the -// ISSUED state. You can call the CreateCertificateAuthorityAuditReport action -// to create a report that contains information about all of the certificates +// Retrieves a certificate from your private CA or one that has been shared +// with you. The ARN of the certificate is returned when you call the IssueCertificate +// (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_IssueCertificate.html) +// action. You must specify both the ARN of your private CA and the ARN of the +// issued certificate when calling the GetCertificate action. You can retrieve +// the certificate if it is in the ISSUED state. You can call the CreateCertificateAuthorityAuditReport +// (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthorityAuditReport.html) +// action to create a report that contains information about all of the certificates // issued and revoked by your private CA. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -785,15 +974,14 @@ func (c *ACMPCA) GetCertificateRequest(input *GetCertificateInput) (req *request // The request has failed for an unspecified reason. // // * ResourceNotFoundException -// A resource such as a private CA, S3 bucket, certificate, or audit report -// cannot be found. +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. // // * InvalidArnException // The requested Amazon Resource Name (ARN) does not refer to an existing resource. // // * InvalidStateException -// The private CA is in a state during which a report or certificate cannot -// be generated. +// The state of the private CA does not allow this action to occur. // // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/GetCertificate func (c *ACMPCA) GetCertificate(input *GetCertificateInput) (*GetCertificateOutput, error) { @@ -862,9 +1050,9 @@ func (c *ACMPCA) GetCertificateAuthorityCertificateRequest(input *GetCertificate // GetCertificateAuthorityCertificate API operation for AWS Certificate Manager Private Certificate Authority. // // Retrieves the certificate and certificate chain for your private certificate -// authority (CA). Both the certificate and the chain are base64 PEM-encoded. -// The chain does not include the CA certificate. Each certificate in the chain -// signs the one before it. +// authority (CA) or one that has been shared with you. Both the certificate +// and the chain are base64 PEM-encoded. The chain does not include the CA certificate. +// Each certificate in the chain signs the one before it. // // 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 @@ -875,12 +1063,11 @@ func (c *ACMPCA) GetCertificateAuthorityCertificateRequest(input *GetCertificate // // Returned Error Types: // * ResourceNotFoundException -// A resource such as a private CA, S3 bucket, certificate, or audit report -// cannot be found. +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. // // * InvalidStateException -// The private CA is in a state during which a report or certificate cannot -// be generated. +// The state of the private CA does not allow this action to occur. // // * InvalidArnException // The requested Amazon Resource Name (ARN) does not refer to an existing resource. @@ -953,10 +1140,11 @@ func (c *ACMPCA) GetCertificateAuthorityCsrRequest(input *GetCertificateAuthorit // // Retrieves the certificate signing request (CSR) for your private certificate // authority (CA). The CSR is created when you call the CreateCertificateAuthority +// (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html) // action. Sign the CSR with your ACM Private CA-hosted or on-premises root // or subordinate CA. Then import the signed certificate back into ACM Private -// CA by calling the ImportCertificateAuthorityCertificate action. The CSR is -// returned as a base64 PEM-encoded string. +// CA by calling the ImportCertificateAuthorityCertificate (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ImportCertificateAuthorityCertificate.html) +// action. The CSR is returned as a base64 PEM-encoded string. // // 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 @@ -973,15 +1161,14 @@ func (c *ACMPCA) GetCertificateAuthorityCsrRequest(input *GetCertificateAuthorit // The request has failed for an unspecified reason. // // * ResourceNotFoundException -// A resource such as a private CA, S3 bucket, certificate, or audit report -// cannot be found. +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. // // * InvalidArnException // The requested Amazon Resource Name (ARN) does not refer to an existing resource. // // * InvalidStateException -// The private CA is in a state during which a report or certificate cannot -// be generated. +// The state of the private CA does not allow this action to occur. // // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/GetCertificateAuthorityCsr func (c *ACMPCA) GetCertificateAuthorityCsr(input *GetCertificateAuthorityCsrInput) (*GetCertificateAuthorityCsrOutput, error) { @@ -1005,6 +1192,120 @@ func (c *ACMPCA) GetCertificateAuthorityCsrWithContext(ctx aws.Context, input *G return out, req.Send() } +const opGetPolicy = "GetPolicy" + +// GetPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetPolicy 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 GetPolicy for more information on using the GetPolicy +// 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 GetPolicyRequest method. +// req, resp := client.GetPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/GetPolicy +func (c *ACMPCA) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, output *GetPolicyOutput) { + op := &request.Operation{ + Name: opGetPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &GetPolicyInput{} + } + + output = &GetPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPolicy API operation for AWS Certificate Manager Private Certificate Authority. +// +// Retrieves the resource-based policy attached to a private CA. If either the +// private CA resource or the policy cannot be found, this action returns a +// ResourceNotFoundException. +// +// The policy can be attached or updated with PutPolicy (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_PutPolicy.html) +// and removed with DeletePolicy (acm-pca/latest/APIReference/API_DeletePolicy.html). +// +// About Policies +// +// * A policy grants access on a private CA to an AWS customer account, to +// AWS Organizations, or to an AWS Organizations unit. Policies are under +// the control of a CA administrator. For more information, see Using a Resource +// Based Policy with ACM Private CA (acm-pca/latest/userguide/pca-rbp.html). +// +// * A policy permits a user of AWS Certificate Manager (ACM) to issue ACM +// certificates signed by a CA in another account. +// +// * For ACM to manage automatic renewal of these certificates, the ACM user +// must configure a Service Linked Role (SLR). The SLR allows the ACM service +// to assume the identity of the user, subject to confirmation against the +// ACM Private CA policy. For more information, see Using a Service Linked +// Role with ACM (https://docs.aws.amazon.com/acm/latest/userguide/acm-slr.html). +// +// * Updates made in AWS Resource Manager (RAM) are reflected in policies. +// For more information, see Using AWS Resource Access Manager (RAM) with +// ACM Private CA (acm-pca/latest/userguide/pca-ram.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's +// API operation GetPolicy for usage and error information. +// +// Returned Error Types: +// * InvalidArnException +// The requested Amazon Resource Name (ARN) does not refer to an existing resource. +// +// * InvalidStateException +// The state of the private CA does not allow this action to occur. +// +// * RequestFailedException +// The request has failed for an unspecified reason. +// +// * ResourceNotFoundException +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/GetPolicy +func (c *ACMPCA) GetPolicy(input *GetPolicyInput) (*GetPolicyOutput, error) { + req, out := c.GetPolicyRequest(input) + return out, req.Send() +} + +// GetPolicyWithContext is the same as GetPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See GetPolicy 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 *ACMPCA) GetPolicyWithContext(ctx aws.Context, input *GetPolicyInput, opts ...request.Option) (*GetPolicyOutput, error) { + req, out := c.GetPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opImportCertificateAuthorityCertificate = "ImportCertificateAuthorityCertificate" // ImportCertificateAuthorityCertificateRequest generates a "aws/request.Request" representing the @@ -1055,14 +1356,15 @@ func (c *ACMPCA) ImportCertificateAuthorityCertificateRequest(input *ImportCerti // ACM Private CA. Before you can call this action, the following preparations // must in place: // -// In ACM Private CA, call the CreateCertificateAuthority action to create the -// private CA that that you plan to back with the imported certificate. +// In ACM Private CA, call the CreateCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html) +// action to create the private CA that that you plan to back with the imported +// certificate. // -// Call the GetCertificateAuthorityCsr action to generate a certificate signing -// request (CSR). +// Call the GetCertificateAuthorityCsr (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_GetCertificateAuthorityCsr.html) +// action to generate a certificate signing request (CSR). // -// Sign the CSR using a root or intermediate CA hosted either by an on-premises -// PKI hierarchy or a commercial CA.. +// Sign the CSR using a root or intermediate CA hosted by either an on-premises +// PKI hierarchy or by a commercial CA. // // Create a certificate chain and copy the signed certificate and the certificate // chain to your working directory. @@ -1085,6 +1387,54 @@ func (c *ACMPCA) ImportCertificateAuthorityCertificateRequest(input *ImportCerti // // * The chain must be PEM-encoded. // +// * The maximum allowed size of a certificate is 32 KB. +// +// * The maximum allowed size of a certificate chain is 2 MB. +// +// Enforcement of Critical Constraints +// +// ACM Private CA allows the following extensions to be marked critical in the +// imported CA certificate or chain. +// +// * Basic constraints (must be marked critical) +// +// * Subject alternative names +// +// * Key usage +// +// * Extended key usage +// +// * Authority key identifier +// +// * Subject key identifier +// +// * Issuer alternative name +// +// * Subject directory attributes +// +// * Subject information access +// +// * Certificate policies +// +// * Policy mappings +// +// * Inhibit anyPolicy +// +// ACM Private CA rejects the following extensions when they are marked critical +// in an imported CA certificate or chain. +// +// * Name constraints +// +// * Policy constraints +// +// * CRL distribution points +// +// * Authority information access +// +// * Freshest CRL +// +// * Any other extension +// // 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. @@ -1103,8 +1453,8 @@ func (c *ACMPCA) ImportCertificateAuthorityCertificateRequest(input *ImportCerti // The request has failed for an unspecified reason. // // * ResourceNotFoundException -// A resource such as a private CA, S3 bucket, certificate, or audit report -// cannot be found. +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. // // * InvalidArnException // The requested Amazon Resource Name (ARN) does not refer to an existing resource. @@ -1113,8 +1463,7 @@ func (c *ACMPCA) ImportCertificateAuthorityCertificateRequest(input *ImportCerti // The request action cannot be performed or is prohibited. // // * InvalidStateException -// The private CA is in a state during which a report or certificate cannot -// be generated. +// The state of the private CA does not allow this action to occur. // // * MalformedCertificateException // One or more fields in the certificate are invalid. @@ -1189,10 +1538,11 @@ func (c *ACMPCA) IssueCertificateRequest(input *IssueCertificateInput) (req *req // IssueCertificate API operation for AWS Certificate Manager Private Certificate Authority. // -// Uses your private certificate authority (CA) to issue a client certificate. -// This action returns the Amazon Resource Name (ARN) of the certificate. You -// can retrieve the certificate by calling the GetCertificate action and specifying -// the ARN. +// Uses your private certificate authority (CA), or one that has been shared +// with you, to issue a client certificate. This action returns the Amazon Resource +// Name (ARN) of the certificate. You can retrieve the certificate by calling +// the GetCertificate (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_GetCertificate.html) +// action and specifying the ARN. // // You cannot use the ACM ListCertificateAuthorities action to retrieve the // ARNs of the certificates that you issue by using ACM Private CA. @@ -1206,16 +1556,15 @@ func (c *ACMPCA) IssueCertificateRequest(input *IssueCertificateInput) (req *req // // Returned Error Types: // * LimitExceededException -// An ACM Private CA limit has been exceeded. See the exception message returned -// to determine the limit that was exceeded. +// An ACM Private CA quota has been exceeded. See the exception message returned +// to determine the quota that was exceeded. // // * ResourceNotFoundException -// A resource such as a private CA, S3 bucket, certificate, or audit report -// cannot be found. +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. // // * InvalidStateException -// The private CA is in a state during which a report or certificate cannot -// be generated. +// The state of the private CA does not allow this action to occur. // // * InvalidArnException // The requested Amazon Resource Name (ARN) does not refer to an existing resource. @@ -1299,6 +1648,7 @@ func (c *ACMPCA) ListCertificateAuthoritiesRequest(input *ListCertificateAuthori // ListCertificateAuthorities API operation for AWS Certificate Manager Private Certificate Authority. // // Lists the private certificate authorities that you created by using the CreateCertificateAuthority +// (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html) // action. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1311,7 +1661,7 @@ func (c *ACMPCA) ListCertificateAuthoritiesRequest(input *ListCertificateAuthori // Returned Error Types: // * InvalidNextTokenException // The token specified in the NextToken argument is not valid. Use the token -// returned from your previous call to ListCertificateAuthorities. +// returned from your previous call to ListCertificateAuthorities (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html). // // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/ListCertificateAuthorities func (c *ACMPCA) ListCertificateAuthorities(input *ListCertificateAuthoritiesInput) (*ListCertificateAuthoritiesOutput, error) { @@ -1437,9 +1787,30 @@ func (c *ACMPCA) ListPermissionsRequest(input *ListPermissionsInput) (req *reque // ListPermissions API operation for AWS Certificate Manager Private Certificate Authority. // -// Lists all the permissions, if any, that have been assigned by a private CA. -// Permissions can be granted with the CreatePermission action and revoked with -// the DeletePermission action. +// List all permissions on a private CA, if any, granted to the AWS Certificate +// Manager (ACM) service principal (acm.amazonaws.com). +// +// These permissions allow ACM to issue and renew ACM certificates that reside +// in the same AWS account as the CA. +// +// Permissions can be granted with the CreatePermission (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreatePermission.html) +// action and revoked with the DeletePermission (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_DeletePermission.html) +// action. +// +// About Permissions +// +// * If the private CA and the certificates it issues reside in the same +// account, you can use CreatePermission to grant permissions for ACM to +// carry out automatic certificate renewals. +// +// * For automatic certificate renewal to succeed, the ACM service principal +// needs permissions to create, retrieve, and list certificates. +// +// * If the private CA and the ACM certificates reside in different accounts, +// then permissions cannot be used to enable automatic renewals. Instead, +// the ACM certificate owner must set up a resource-based policy to enable +// cross-account issuance and renewals. For more information, see Using a +// Resource Based Policy with ACM Private CA (acm-pca/latest/userguide/pca-rbp.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -1450,19 +1821,18 @@ func (c *ACMPCA) ListPermissionsRequest(input *ListPermissionsInput) (req *reque // // Returned Error Types: // * ResourceNotFoundException -// A resource such as a private CA, S3 bucket, certificate, or audit report -// cannot be found. +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. // // * InvalidArnException // The requested Amazon Resource Name (ARN) does not refer to an existing resource. // // * InvalidNextTokenException // The token specified in the NextToken argument is not valid. Use the token -// returned from your previous call to ListCertificateAuthorities. +// returned from your previous call to ListCertificateAuthorities (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html). // // * InvalidStateException -// The private CA is in a state during which a report or certificate cannot -// be generated. +// The state of the private CA does not allow this action to occur. // // * RequestFailedException // The request has failed for an unspecified reason. @@ -1591,11 +1961,13 @@ func (c *ACMPCA) ListTagsRequest(input *ListTagsInput) (req *request.Request, ou // ListTags API operation for AWS Certificate Manager Private Certificate Authority. // -// Lists the tags, if any, that are associated with your private CA. Tags are -// labels that you can use to identify and organize your CAs. Each tag consists -// of a key and an optional value. Call the TagCertificateAuthority action to -// add one or more tags to your CA. Call the UntagCertificateAuthority action -// to remove tags. +// Lists the tags, if any, that are associated with your private CA or one that +// has been shared with you. Tags are labels that you can use to identify and +// organize your CAs. Each tag consists of a key and an optional value. Call +// the TagCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_TagCertificateAuthority.html) +// action to add one or more tags to your CA. Call the UntagCertificateAuthority +// (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UntagCertificateAuthority.html) +// action to remove tags. // // 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 @@ -1606,15 +1978,14 @@ func (c *ACMPCA) ListTagsRequest(input *ListTagsInput) (req *request.Request, ou // // Returned Error Types: // * ResourceNotFoundException -// A resource such as a private CA, S3 bucket, certificate, or audit report -// cannot be found. +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. // // * InvalidArnException // The requested Amazon Resource Name (ARN) does not refer to an existing resource. // // * InvalidStateException -// The private CA is in a state during which a report or certificate cannot -// be generated. +// The state of the private CA does not allow this action to occur. // // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/ListTags func (c *ACMPCA) ListTags(input *ListTagsInput) (*ListTagsOutput, error) { @@ -1687,7 +2058,136 @@ func (c *ACMPCA) ListTagsPagesWithContext(ctx aws.Context, input *ListTagsInput, } } - return p.Err() + return p.Err() +} + +const opPutPolicy = "PutPolicy" + +// PutPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutPolicy 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 PutPolicy for more information on using the PutPolicy +// 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 PutPolicyRequest method. +// req, resp := client.PutPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/PutPolicy +func (c *ACMPCA) PutPolicyRequest(input *PutPolicyInput) (req *request.Request, output *PutPolicyOutput) { + op := &request.Operation{ + Name: opPutPolicy, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &PutPolicyInput{} + } + + output = &PutPolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutPolicy API operation for AWS Certificate Manager Private Certificate Authority. +// +// Attaches a resource-based policy to a private CA. +// +// A policy can also be applied by sharing (https://docs.aws.amazon.com/acm-pca/latest/userguide/pca-ram.html) +// a private CA through AWS Resource Access Manager (RAM). +// +// The policy can be displayed with GetPolicy (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_GetPolicy.html) +// and removed with DeletePolicy (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_DeletePolicy.html). +// +// About Policies +// +// * A policy grants access on a private CA to an AWS customer account, to +// AWS Organizations, or to an AWS Organizations unit. Policies are under +// the control of a CA administrator. For more information, see Using a Resource +// Based Policy with ACM Private CA (acm-pca/latest/userguide/pca-rbp.html). +// +// * A policy permits a user of AWS Certificate Manager (ACM) to issue ACM +// certificates signed by a CA in another account. +// +// * For ACM to manage automatic renewal of these certificates, the ACM user +// must configure a Service Linked Role (SLR). The SLR allows the ACM service +// to assume the identity of the user, subject to confirmation against the +// ACM Private CA policy. For more information, see Using a Service Linked +// Role with ACM (https://docs.aws.amazon.com/acm/latest/userguide/acm-slr.html). +// +// * Updates made in AWS Resource Manager (RAM) are reflected in policies. +// For more information, see Using AWS Resource Access Manager (RAM) with +// ACM Private CA (acm-pca/latest/userguide/pca-ram.html). +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Certificate Manager Private Certificate Authority's +// API operation PutPolicy for usage and error information. +// +// Returned Error Types: +// * ConcurrentModificationException +// A previous update to your private CA is still ongoing. +// +// * InvalidArnException +// The requested Amazon Resource Name (ARN) does not refer to an existing resource. +// +// * InvalidStateException +// The state of the private CA does not allow this action to occur. +// +// * InvalidPolicyException +// The resource policy is invalid or is missing a required statement. For general +// information about IAM policy and statement structure, see Overview of JSON +// Policies (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json). +// +// * LockoutPreventedException +// The current action was prevented because it would lock the caller out from +// performing subsequent actions. Verify that the specified parameters would +// not result in the caller being denied access to the resource. +// +// * RequestFailedException +// The request has failed for an unspecified reason. +// +// * ResourceNotFoundException +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/PutPolicy +func (c *ACMPCA) PutPolicy(input *PutPolicyInput) (*PutPolicyOutput, error) { + req, out := c.PutPolicyRequest(input) + return out, req.Send() +} + +// PutPolicyWithContext is the same as PutPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See PutPolicy 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 *ACMPCA) PutPolicyWithContext(ctx aws.Context, input *PutPolicyInput, opts ...request.Option) (*PutPolicyOutput, error) { + req, out := c.PutPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() } const opRestoreCertificateAuthority = "RestoreCertificateAuthority" @@ -1737,15 +2237,18 @@ func (c *ACMPCA) RestoreCertificateAuthorityRequest(input *RestoreCertificateAut // // Restores a certificate authority (CA) that is in the DELETED state. You can // restore a CA during the period that you defined in the PermanentDeletionTimeInDays -// parameter of the DeleteCertificateAuthority action. Currently, you can specify -// 7 to 30 days. If you did not specify a PermanentDeletionTimeInDays value, -// by default you can restore the CA at any time in a 30 day period. You can -// check the time remaining in the restoration period of a private CA in the -// DELETED state by calling the DescribeCertificateAuthority or ListCertificateAuthorities +// parameter of the DeleteCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_DeleteCertificateAuthority.html) +// action. Currently, you can specify 7 to 30 days. If you did not specify a +// PermanentDeletionTimeInDays value, by default you can restore the CA at any +// time in a 30 day period. You can check the time remaining in the restoration +// period of a private CA in the DELETED state by calling the DescribeCertificateAuthority +// (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_DescribeCertificateAuthority.html) +// or ListCertificateAuthorities (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html) // actions. The status of a restored CA is set to its pre-deletion status when // the RestoreCertificateAuthority action returns. To change its status to ACTIVE, -// call the UpdateCertificateAuthority action. If the private CA was in the -// PENDING_CERTIFICATE state at deletion, you must use the ImportCertificateAuthorityCertificate +// call the UpdateCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UpdateCertificateAuthority.html) +// action. If the private CA was in the PENDING_CERTIFICATE state at deletion, +// you must use the ImportCertificateAuthorityCertificate (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ImportCertificateAuthorityCertificate.html) // action to import a certificate authority into the private CA before it can // be activated. You cannot restore a CA after the restoration period has ended. // @@ -1758,12 +2261,11 @@ func (c *ACMPCA) RestoreCertificateAuthorityRequest(input *RestoreCertificateAut // // Returned Error Types: // * ResourceNotFoundException -// A resource such as a private CA, S3 bucket, certificate, or audit report -// cannot be found. +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. // // * InvalidStateException -// The private CA is in a state during which a report or certificate cannot -// be generated. +// The state of the private CA does not allow this action to occur. // // * InvalidArnException // The requested Amazon Resource Name (ARN) does not refer to an existing resource. @@ -1838,10 +2340,20 @@ func (c *ACMPCA) RevokeCertificateRequest(input *RevokeCertificateInput) (req *r // Revokes a certificate that was issued inside ACM Private CA. If you enable // a certificate revocation list (CRL) when you create or update your private // CA, information about the revoked certificates will be included in the CRL. -// ACM Private CA writes the CRL to an S3 bucket that you specify. For more -// information about revocation, see the CrlConfiguration structure. ACM Private -// CA also writes revocation information to the audit report. For more information, -// see CreateCertificateAuthorityAuditReport. +// ACM Private CA writes the CRL to an S3 bucket that you specify. A CRL is +// typically updated approximately 30 minutes after a certificate is revoked. +// If for any reason the CRL update fails, ACM Private CA attempts makes further +// attempts every 15 minutes. With Amazon CloudWatch, you can create alarms +// for the metrics CRLGenerated and MisconfiguredCRLBucket. For more information, +// see Supported CloudWatch Metrics (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaCloudWatch.html). +// +// Both PCA and the IAM principal must have permission to write to the S3 bucket +// that you specify. If the IAM principal making the call does not have permission +// to write to the bucket, then an exception is thrown. For more information, +// see Configure Access to ACM Private CA (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaAuthAccess.html). +// +// ACM Private CA also writes revocation information to the audit report. For +// more information, see CreateCertificateAuthorityAuditReport (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthorityAuditReport.html). // // You cannot revoke a root CA self-signed certificate. // @@ -1863,16 +2375,15 @@ func (c *ACMPCA) RevokeCertificateRequest(input *RevokeCertificateInput) (req *r // The request action cannot be performed or is prohibited. // // * InvalidStateException -// The private CA is in a state during which a report or certificate cannot -// be generated. +// The state of the private CA does not allow this action to occur. // // * LimitExceededException -// An ACM Private CA limit has been exceeded. See the exception message returned -// to determine the limit that was exceeded. +// An ACM Private CA quota has been exceeded. See the exception message returned +// to determine the quota that was exceeded. // // * ResourceNotFoundException -// A resource such as a private CA, S3 bucket, certificate, or audit report -// cannot be found. +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. // // * RequestAlreadyProcessedException // Your request has already been completed. @@ -1957,8 +2468,9 @@ func (c *ACMPCA) TagCertificateAuthorityRequest(input *TagCertificateAuthorityIn // a tag to just one private CA if you want to identify a specific characteristic // of that CA, or you can apply the same tag to multiple private CAs if you // want to filter for a common relationship among those CAs. To remove one or -// more tags, use the UntagCertificateAuthority action. Call the ListTags action -// to see what tags are associated with your CA. +// more tags, use the UntagCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UntagCertificateAuthority.html) +// action. Call the ListTags (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListTags.html) +// action to see what tags are associated with your CA. // // 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 @@ -1969,15 +2481,14 @@ func (c *ACMPCA) TagCertificateAuthorityRequest(input *TagCertificateAuthorityIn // // Returned Error Types: // * ResourceNotFoundException -// A resource such as a private CA, S3 bucket, certificate, or audit report -// cannot be found. +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. // // * InvalidArnException // The requested Amazon Resource Name (ARN) does not refer to an existing resource. // // * InvalidStateException -// The private CA is in a state during which a report or certificate cannot -// be generated. +// The state of the private CA does not allow this action to occur. // // * InvalidTagException // The tag associated with the CA is not valid. The invalid argument is contained @@ -2058,7 +2569,8 @@ func (c *ACMPCA) UntagCertificateAuthorityRequest(input *UntagCertificateAuthori // pair. If you do not specify the value portion of the tag when calling this // action, the tag will be removed regardless of value. If you specify a value, // the tag is removed only if it is associated with the specified value. To -// add tags to a private CA, use the TagCertificateAuthority. Call the ListTags +// add tags to a private CA, use the TagCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_TagCertificateAuthority.html). +// Call the ListTags (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListTags.html) // action to see what tags are associated with your CA. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2070,15 +2582,14 @@ func (c *ACMPCA) UntagCertificateAuthorityRequest(input *UntagCertificateAuthori // // Returned Error Types: // * ResourceNotFoundException -// A resource such as a private CA, S3 bucket, certificate, or audit report -// cannot be found. +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. // // * InvalidArnException // The requested Amazon Resource Name (ARN) does not refer to an existing resource. // // * InvalidStateException -// The private CA is in a state during which a report or certificate cannot -// be generated. +// The state of the private CA does not allow this action to occur. // // * InvalidTagException // The tag associated with the CA is not valid. The invalid argument is contained @@ -2156,6 +2667,11 @@ func (c *ACMPCA) UpdateCertificateAuthorityRequest(input *UpdateCertificateAutho // it. You can disable a private CA that is in the ACTIVE state or make a CA // that is in the DISABLED state active again. // +// Both PCA and the IAM principal must have permission to write to the S3 bucket +// that you specify. If the IAM principal making the call does not have permission +// to write to the bucket, then an exception is thrown. For more information, +// see Configure Access to ACM Private CA (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaAuthAccess.html). +// // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. @@ -2168,8 +2684,8 @@ func (c *ACMPCA) UpdateCertificateAuthorityRequest(input *UpdateCertificateAutho // A previous update to your private CA is still ongoing. // // * ResourceNotFoundException -// A resource such as a private CA, S3 bucket, certificate, or audit report -// cannot be found. +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. // // * InvalidArgsException // One or more of the specified arguments was not valid. @@ -2178,12 +2694,12 @@ func (c *ACMPCA) UpdateCertificateAuthorityRequest(input *UpdateCertificateAutho // The requested Amazon Resource Name (ARN) does not refer to an existing resource. // // * InvalidStateException -// The private CA is in a state during which a report or certificate cannot -// be generated. +// The state of the private CA does not allow this action to occur. // // * InvalidPolicyException -// The S3 bucket policy is not valid. The policy must give ACM Private CA rights -// to read from and write to the bucket and find the bucket location. +// The resource policy is invalid or is missing a required statement. For general +// information about IAM policy and statement structure, see Overview of JSON +// Policies (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json). // // See also, https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22/UpdateCertificateAuthority func (c *ACMPCA) UpdateCertificateAuthority(input *UpdateCertificateAuthorityInput) (*UpdateCertificateAuthorityOutput, error) { @@ -2224,7 +2740,7 @@ type ASN1Subject struct { // Two-digit code that specifies the country in which the certificate subject // located. - Country *string `type:"string"` + Country *string `min:"2" type:"string"` // Disambiguating information for the certificate subject. DistinguishedNameQualifier *string `type:"string"` @@ -2282,6 +2798,19 @@ func (s ASN1Subject) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ASN1Subject) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ASN1Subject"} + if s.Country != nil && len(*s.Country) < 2 { + invalidParams.Add(request.NewErrParamMinLen("Country", 2)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetCommonName sets the CommonName field's value. func (s *ASN1Subject) SetCommonName(v string) *ASN1Subject { s.CommonName = &v @@ -2370,11 +2899,13 @@ func (s *ASN1Subject) SetTitle(v string) *ASN1Subject { // private CA can issue and revoke X.509 digital certificates. Digital certificates // verify that the entity named in the certificate Subject field owns or controls // the public key contained in the Subject Public Key Info field. Call the CreateCertificateAuthority +// (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html) // action to create your private CA. You must then call the GetCertificateAuthorityCertificate +// (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_GetCertificateAuthorityCertificate.html) // action to retrieve a private CA certificate signing request (CSR). Sign the // CSR with your ACM Private CA-hosted or on-premises root or subordinate CA -// certificate. Call the ImportCertificateAuthorityCertificate action to import -// the signed certificate into AWS Certificate Manager (ACM). +// certificate. Call the ImportCertificateAuthorityCertificate (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ImportCertificateAuthorityCertificate.html) +// action to import the signed certificate into AWS Certificate Manager (ACM). type CertificateAuthority struct { _ struct{} `type:"structure"` @@ -2400,8 +2931,12 @@ type CertificateAuthority struct { // Date and time before which your private CA certificate is not valid. NotBefore *time.Time `type:"timestamp"` + // The AWS account ID that owns the certificate authority. + OwnerAccount *string `min:"12" type:"string"` + // The period during which a deleted CA can be restored. For more information, // see the PermanentDeletionTimeInDays parameter of the DeleteCertificateAuthorityRequest + // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_DeleteCertificateAuthorityRequest.html) // action. RestorableUntil *time.Time `type:"timestamp"` @@ -2471,6 +3006,12 @@ func (s *CertificateAuthority) SetNotBefore(v time.Time) *CertificateAuthority { return s } +// SetOwnerAccount sets the OwnerAccount field's value. +func (s *CertificateAuthority) SetOwnerAccount(v string) *CertificateAuthority { + s.OwnerAccount = &v + return s +} + // SetRestorableUntil sets the RestorableUntil field's value. func (s *CertificateAuthority) SetRestorableUntil(v time.Time) *CertificateAuthority { s.RestorableUntil = &v @@ -2506,7 +3047,8 @@ func (s *CertificateAuthority) SetType(v string) *CertificateAuthority { // the key pair that your private CA creates when it issues a certificate. It // also includes the signature algorithm that it uses when issuing certificates, // and its X.500 distinguished name. You must specify this information when -// you call the CreateCertificateAuthority action. +// you call the CreateCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html) +// action. type CertificateAuthorityConfiguration struct { _ struct{} `type:"structure"` @@ -2519,6 +3061,9 @@ type CertificateAuthorityConfiguration struct { // Name of the algorithm your private CA uses to sign certificate requests. // + // This parameter should not be confused with the SigningAlgorithm parameter + // used to sign certificates when they are issued. + // // SigningAlgorithm is a required field SigningAlgorithm *string `type:"string" required:"true" enum:"SigningAlgorithm"` @@ -2551,6 +3096,11 @@ func (s *CertificateAuthorityConfiguration) Validate() error { if s.Subject == nil { invalidParams.Add(request.NewErrParamRequired("Subject")) } + if s.Subject != nil { + if err := s.Subject.Validate(); err != nil { + invalidParams.AddNested("Subject", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -2707,7 +3257,7 @@ type CreateCertificateAuthorityAuditReportInput struct { // The name of the S3 bucket that will contain the audit report. // // S3BucketName is a required field - S3BucketName *string `type:"string" required:"true"` + S3BucketName *string `min:"3" type:"string" required:"true"` } // String returns the string representation @@ -2735,6 +3285,9 @@ func (s *CreateCertificateAuthorityAuditReportInput) Validate() error { if s.S3BucketName == nil { invalidParams.Add(request.NewErrParamRequired("S3BucketName")) } + if s.S3BucketName != nil && len(*s.S3BucketName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("S3BucketName", 3)) + } if invalidParams.Len() > 0 { return invalidParams @@ -2807,25 +3360,24 @@ type CreateCertificateAuthorityInput struct { CertificateAuthorityType *string `type:"string" required:"true" enum:"CertificateAuthorityType"` // Alphanumeric string that can be used to distinguish between calls to CreateCertificateAuthority. - // Idempotency tokens time out after five minutes. Therefore, if you call CreateCertificateAuthority - // multiple times with the same idempotency token within a five minute period, - // ACM Private CA recognizes that you are requesting only one certificate. As - // a result, ACM Private CA issues only one. If you change the idempotency token - // for each call, however, ACM Private CA recognizes that you are requesting - // multiple certificates. + // For a given token, ACM Private CA creates exactly one CA. If you issue a + // subsequent call using the same token, ACM Private CA returns the ARN of the + // existing CA and takes no further action. If you change the idempotency token + // across multiple calls, ACM Private CA creates a unique CA for each unique + // token. IdempotencyToken *string `min:"1" type:"string"` // Contains a Boolean value that you can use to enable a certification revocation // list (CRL) for the CA, the name of the S3 bucket to which ACM Private CA // will write the CRL, and an optional CNAME alias that you can use to hide // the name of your bucket in the CRL Distribution Points extension of your - // CA certificate. For more information, see the CrlConfiguration structure. + // CA certificate. For more information, see the CrlConfiguration (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CrlConfiguration.html) + // structure. RevocationConfiguration *RevocationConfiguration `type:"structure"` // Key-value pairs that will be attached to the new private CA. You can associate - // up to 50 tags with a private CA. For information using tags with - // - // IAM to manage permissions, see Controlling Access Using IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html). + // up to 50 tags with a private CA. For information using tags with IAM to manage + // permissions, see Controlling Access Using IAM Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html). Tags []*Tag `min:"1" type:"list"` } @@ -2947,8 +3499,8 @@ type CreatePermissionInput struct { Actions []*string `min:"1" type:"list" required:"true"` // The Amazon Resource Name (ARN) of the CA that grants the permissions. You - // can find the ARN by calling the ListCertificateAuthorities action. This must - // have the following form: + // can find the ARN by calling the ListCertificateAuthorities (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html) + // action. This must have the following form: // // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . // @@ -3051,6 +3603,9 @@ func (s CreatePermissionOutput) GoString() string { // Points extension of each certificate it issues. Your S3 bucket policy must // give write permission to ACM Private CA. // +// ACM Private CAA assets that are stored in Amazon S3 can be protected with +// encryption. For more information, see Encrypting Your CRLs (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaCreateCa.html#crl-encryption). +// // Your private CA uses the value in the ExpirationInDays parameter to calculate // the nextUpdate field in the CRL. The CRL is refreshed at 1/2 the age of next // update or when a certificate is revoked. When a certificate is revoked, it @@ -3101,8 +3656,10 @@ type CrlConfiguration struct { // Boolean value that specifies whether certificate revocation lists (CRLs) // are enabled. You can use this value to enable certificate revocation for - // a new CA when you call the CreateCertificateAuthority action or for an existing - // CA when you call the UpdateCertificateAuthority action. + // a new CA when you call the CreateCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html) + // action or for an existing CA when you call the UpdateCertificateAuthority + // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UpdateCertificateAuthority.html) + // action. // // Enabled is a required field Enabled *bool `type:"boolean" required:"true"` @@ -3113,9 +3670,9 @@ type CrlConfiguration struct { // Name of the S3 bucket that contains the CRL. If you do not provide a value // for the CustomCname argument, the name of your S3 bucket is placed into the // CRL Distribution Points extension of the issued certificate. You can change - // the name of your bucket by calling the UpdateCertificateAuthority action. - // You must specify a bucket policy that allows ACM Private CA to write the - // CRL to your bucket. + // the name of your bucket by calling the UpdateCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UpdateCertificateAuthority.html) + // action. You must specify a bucket policy that allows ACM Private CA to write + // the CRL to your bucket. S3BucketName *string `min:"3" type:"string"` } @@ -3175,7 +3732,8 @@ func (s *CrlConfiguration) SetS3BucketName(v string) *CrlConfiguration { type DeleteCertificateAuthorityInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. + // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority + // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html). // This must have the following form: // // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . @@ -3247,8 +3805,8 @@ type DeletePermissionInput struct { _ struct{} `type:"structure"` // The Amazon Resource Number (ARN) of the private CA that issued the permissions. - // You can find the CA's ARN by calling the ListCertificateAuthorities action. - // This must have the following form: + // You can find the CA's ARN by calling the ListCertificateAuthorities (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html) + // action. This must have the following form: // // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . // @@ -3329,10 +3887,69 @@ func (s DeletePermissionOutput) GoString() string { return s.String() } +type DeletePolicyInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Number (ARN) of the private CA that will have its policy + // deleted. You can find the CA's ARN by calling the ListCertificateAuthorities + // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html) + // action. The ARN value must have the form arn:aws:acm-pca:region:account:certificate-authority/01234567-89ab-cdef-0123-0123456789ab. + // + // ResourceArn is a required field + ResourceArn *string `min:"5" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeletePolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePolicyInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 5 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *DeletePolicyInput) SetResourceArn(v string) *DeletePolicyInput { + s.ResourceArn = &v + return s +} + +type DeletePolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeletePolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeletePolicyOutput) GoString() string { + return s.String() +} + type DescribeCertificateAuthorityAuditReportInput struct { _ struct{} `type:"structure"` // The report ID returned by calling the CreateCertificateAuthorityAuditReport + // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthorityAuditReport.html) // action. // // AuditReportId is a required field @@ -3400,7 +4017,7 @@ type DescribeCertificateAuthorityAuditReportOutput struct { CreatedAt *time.Time `type:"timestamp"` // Name of the S3 bucket that contains the report. - S3BucketName *string `type:"string"` + S3BucketName *string `min:"3" type:"string"` // S3 key that uniquely identifies the report file in your S3 bucket. S3Key *string `type:"string"` @@ -3443,7 +4060,8 @@ func (s *DescribeCertificateAuthorityAuditReportOutput) SetS3Key(v string) *Desc type DescribeCertificateAuthorityInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. + // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority + // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html). // This must be of the form: // // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . @@ -3487,8 +4105,8 @@ func (s *DescribeCertificateAuthorityInput) SetCertificateAuthorityArn(v string) type DescribeCertificateAuthorityOutput struct { _ struct{} `type:"structure"` - // A CertificateAuthority structure that contains information about your private - // CA. + // A CertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CertificateAuthority.html) + // structure that contains information about your private CA. CertificateAuthority *CertificateAuthority `type:"structure"` } @@ -3590,6 +4208,7 @@ type GetCertificateAuthorityCsrInput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority + // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html) // action. This must be of the form: // // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 @@ -3665,7 +4284,8 @@ type GetCertificateInput struct { // CertificateArn is a required field CertificateArn *string `min:"5" type:"string" required:"true"` - // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. + // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority + // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html). // This must be of the form: // // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 . @@ -3751,6 +4371,72 @@ func (s *GetCertificateOutput) SetCertificateChain(v string) *GetCertificateOutp return s } +type GetPolicyInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Number (ARN) of the private CA that will have its policy + // retrieved. You can find the CA's ARN by calling the ListCertificateAuthorities + // action. + // + // ResourceArn is a required field + ResourceArn *string `min:"5" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPolicyInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 5 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *GetPolicyInput) SetResourceArn(v string) *GetPolicyInput { + s.ResourceArn = &v + return s +} + +type GetPolicyOutput struct { + _ struct{} `type:"structure"` + + // The policy attached to the private CA as a JSON document. + Policy *string `min:"1" type:"string"` +} + +// String returns the string representation +func (s GetPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPolicyOutput) GoString() string { + return s.String() +} + +// SetPolicy sets the Policy field's value. +func (s *GetPolicyOutput) SetPolicy(v string) *GetPolicyOutput { + s.Policy = &v + return s +} + type ImportCertificateAuthorityCertificateInput struct { _ struct{} `type:"structure"` @@ -3762,7 +4448,8 @@ type ImportCertificateAuthorityCertificateInput struct { // Certificate is a required field Certificate []byte `min:"1" type:"blob" required:"true"` - // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. + // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority + // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html). // This must be of the form: // // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 @@ -3959,7 +4646,7 @@ func (s *InvalidArnException) RequestID() string { } // The token specified in the NextToken argument is not valid. Use the token -// returned from your previous call to ListCertificateAuthorities. +// returned from your previous call to ListCertificateAuthorities (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html). type InvalidNextTokenException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -4015,8 +4702,9 @@ func (s *InvalidNextTokenException) RequestID() string { return s.RespMetadata.RequestID } -// The S3 bucket policy is not valid. The policy must give ACM Private CA rights -// to read from and write to the bucket and find the bucket location. +// The resource policy is invalid or is missing a required statement. For general +// information about IAM policy and statement structure, see Overview of JSON +// Policies (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json). type InvalidPolicyException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -4128,8 +4816,7 @@ func (s *InvalidRequestException) RequestID() string { return s.RespMetadata.RequestID } -// The private CA is in a state during which a report or certificate cannot -// be generated. +// The state of the private CA does not allow this action to occur. type InvalidStateException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -4245,7 +4932,8 @@ func (s *InvalidTagException) RequestID() string { type IssueCertificateInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. + // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority + // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html). // This must be of the form: // // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 @@ -4267,6 +4955,9 @@ type IssueCertificateInput struct { // openssl req -new -config openssl_rsa.cnf -extensions usr_cert -newkey rsa:2048 // -days -365 -keyout private/test_cert_priv_key.pem -out csr/test_cert_.csr // + // Note: A CSR must provide either a subject name or a subject alternative name + // or the request will be rejected. + // // Csr is automatically base64 encoded/decoded by the SDK. // // Csr is a required field @@ -4283,18 +4974,46 @@ type IssueCertificateInput struct { // The name of the algorithm that will be used to sign the certificate to be // issued. // + // This parameter should not be confused with the SigningAlgorithm parameter + // used to sign a CSR. + // // SigningAlgorithm is a required field SigningAlgorithm *string `type:"string" required:"true" enum:"SigningAlgorithm"` // Specifies a custom configuration template to use when issuing a certificate. // If this parameter is not provided, ACM Private CA defaults to the EndEntityCertificate/V1 - // template. + // template. For CA certificates, you should choose the shortest path length + // that meets your needs. The path length is indicated by the PathLenN portion + // of the ARN, where N is the CA depth (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaTerms.html#terms-cadepth). + // + // Note: The CA depth configured on a subordinate CA certificate must not exceed + // the limit set by its parents in the CA hierarchy. // // The following service-owned TemplateArn values are supported by ACM Private // CA: // + // * arn:aws:acm-pca:::template/CodeSigningCertificate/V1 + // + // * arn:aws:acm-pca:::template/CodeSigningCertificate_CSRPassthrough/V1 + // // * arn:aws:acm-pca:::template/EndEntityCertificate/V1 // + // * arn:aws:acm-pca:::template/EndEntityCertificate_CSRPassthrough/V1 + // + // * arn:aws:acm-pca:::template/EndEntityClientAuthCertificate/V1 + // + // * arn:aws:acm-pca:::template/EndEntityClientAuthCertificate_CSRPassthrough/V1 + // + // * arn:aws:acm-pca:::template/EndEntityServerAuthCertificate/V1 + // + // * arn:aws:acm-pca:::template/EndEntityServerAuthCertificate_CSRPassthrough/V1 + // + // * arn:aws:acm-pca:::template/OCSPSigningCertificate/V1 + // + // * arn:aws:acm-pca:::template/OCSPSigningCertificate_CSRPassthrough/V1 + // + // * arn:aws:acm-pca:::template/RootCACertificate/V1 + // // * arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen0/V1 // // * arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen1/V1 @@ -4303,12 +5022,17 @@ type IssueCertificateInput struct { // // * arn:aws:acm-pca:::template/SubordinateCACertificate_PathLen3/V1 // - // * arn:aws:acm-pca:::template/RootCACertificate/V1 - // // For more information, see Using Templates (https://docs.aws.amazon.com/acm-pca/latest/userguide/UsingTemplates.html). TemplateArn *string `min:"5" type:"string"` - // The type of the validity period. + // Information describing the validity period of the certificate. + // + // When issuing a certificate, ACM Private CA sets the "Not Before" date in + // the validity field to date and time minus 60 minutes. This is intended to + // compensate for time inconsistencies across systems of 60 minutes or less. + // + // The validity period configured on a certificate must not exceed the limit + // set by its parents in the CA hierarchy. // // Validity is a required field Validity *Validity `type:"structure" required:"true"` @@ -4425,8 +5149,8 @@ func (s *IssueCertificateOutput) SetCertificateArn(v string) *IssueCertificateOu return s } -// An ACM Private CA limit has been exceeded. See the exception message returned -// to determine the limit that was exceeded. +// An ACM Private CA quota has been exceeded. See the exception message returned +// to determine the quota that was exceeded. type LimitExceededException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -4495,6 +5219,10 @@ type ListCertificateAuthoritiesInput struct { // you receive a response with truncated results. Set it to the value of the // NextToken parameter from the response you just received. NextToken *string `min:"1" type:"string"` + + // Use this parameter to filter the returned set of certificate authorities + // based on their owner. The default is SELF. + ResourceOwner *string `type:"string" enum:"ResourceOwner"` } // String returns the string representation @@ -4535,6 +5263,12 @@ func (s *ListCertificateAuthoritiesInput) SetNextToken(v string) *ListCertificat return s } +// SetResourceOwner sets the ResourceOwner field's value. +func (s *ListCertificateAuthoritiesInput) SetResourceOwner(v string) *ListCertificateAuthoritiesInput { + s.ResourceOwner = &v + return s +} + type ListCertificateAuthoritiesOutput struct { _ struct{} `type:"structure"` @@ -4572,9 +5306,10 @@ type ListPermissionsInput struct { _ struct{} `type:"structure"` // The Amazon Resource Number (ARN) of the private CA to inspect. You can find - // the ARN by calling the ListCertificateAuthorities action. This must be of - // the form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 + // the ARN by calling the ListCertificateAuthorities (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html) + // action. This must be of the form: arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 // You can get a private CA's ARN by running the ListCertificateAuthorities + // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html) // action. // // CertificateAuthorityArn is a required field @@ -4680,6 +5415,7 @@ type ListTagsInput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority + // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html) // action. This must be of the form: // // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 @@ -4782,6 +5518,64 @@ func (s *ListTagsOutput) SetTags(v []*Tag) *ListTagsOutput { return s } +// The current action was prevented because it would lock the caller out from +// performing subsequent actions. Verify that the specified parameters would +// not result in the caller being denied access to the resource. +type LockoutPreventedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s LockoutPreventedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LockoutPreventedException) GoString() string { + return s.String() +} + +func newErrorLockoutPreventedException(v protocol.ResponseMetadata) error { + return &LockoutPreventedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *LockoutPreventedException) Code() string { + return "LockoutPreventedException" +} + +// Message returns the exception's message. +func (s *LockoutPreventedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *LockoutPreventedException) OrigErr() error { + return nil +} + +func (s *LockoutPreventedException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *LockoutPreventedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *LockoutPreventedException) RequestID() string { + return s.RespMetadata.RequestID +} + // The certificate signing request is invalid. type MalformedCSRException struct { _ struct{} `type:"structure"` @@ -4898,8 +5692,10 @@ func (s *MalformedCertificateException) RequestID() string { // service or entity. In order for ACM to automatically renew private certificates, // you must give the ACM service principal all available permissions (IssueCertificate, // GetCertificate, and ListPermissions). Permissions can be assigned with the -// CreatePermission action, removed with the DeletePermission action, and listed -// with the ListPermissions action. +// CreatePermission (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreatePermission.html) +// action, removed with the DeletePermission (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_DeletePermission.html) +// action, and listed with the ListPermissions (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListPermissions.html) +// action. type Permission struct { _ struct{} `type:"structure"` @@ -4914,14 +5710,14 @@ type Permission struct { CreatedAt *time.Time `type:"timestamp"` // The name of the policy that is associated with the permission. - Policy *string `type:"string"` + Policy *string `min:"1" type:"string"` // The AWS service or entity that holds the permission. At this time, the only // valid principal is acm.amazonaws.com. Principal *string `type:"string"` // The ID of the account that assigned the permission. - SourceAccount *string `type:"string"` + SourceAccount *string `min:"12" type:"string"` } // String returns the string representation @@ -5026,6 +5822,85 @@ func (s *PermissionAlreadyExistsException) RequestID() string { return s.RespMetadata.RequestID } +type PutPolicyInput struct { + _ struct{} `type:"structure"` + + // The path and filename of a JSON-formatted IAM policy to attach to the specified + // private CA resource. If this policy does not contain all required statements + // or if it includes any statement that is not allowed, the PutPolicy action + // returns an InvalidPolicyException. For information about IAM policy and statement + // structure, see Overview of JSON Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json). + // + // Policy is a required field + Policy *string `min:"1" type:"string" required:"true"` + + // The Amazon Resource Number (ARN) of the private CA to associate with the + // policy. The ARN of the CA can be found by calling the ListCertificateAuthorities + // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html) + // action. + // + // ResourceArn is a required field + ResourceArn *string `min:"5" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutPolicyInput"} + if s.Policy == nil { + invalidParams.Add(request.NewErrParamRequired("Policy")) + } + if s.Policy != nil && len(*s.Policy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Policy", 1)) + } + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 5 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPolicy sets the Policy field's value. +func (s *PutPolicyInput) SetPolicy(v string) *PutPolicyInput { + s.Policy = &v + return s +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *PutPolicyInput) SetResourceArn(v string) *PutPolicyInput { + s.ResourceArn = &v + return s +} + +type PutPolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutPolicyOutput) GoString() string { + return s.String() +} + // Your request has already been completed. type RequestAlreadyProcessedException struct { _ struct{} `type:"structure"` @@ -5194,8 +6069,8 @@ func (s *RequestInProgressException) RequestID() string { return s.RespMetadata.RequestID } -// A resource such as a private CA, S3 bucket, certificate, or audit report -// cannot be found. +// A resource such as a private CA, S3 bucket, certificate, audit report, or +// policy cannot be found. type ResourceNotFoundException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -5255,6 +6130,7 @@ type RestoreCertificateAuthorityInput struct { _ struct{} `type:"structure"` // The Amazon Resource Name (ARN) that was returned when you called the CreateCertificateAuthority + // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html) // action. This must be of the form: // // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 @@ -5310,10 +6186,11 @@ func (s RestoreCertificateAuthorityOutput) GoString() string { } // Certificate revocation information used by the CreateCertificateAuthority -// and UpdateCertificateAuthority actions. Your private certificate authority -// (CA) can create and maintain a certificate revocation list (CRL). A CRL contains -// information about certificates revoked by your CA. For more information, -// see RevokeCertificate. +// (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html) +// and UpdateCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UpdateCertificateAuthority.html) +// actions. Your private certificate authority (CA) can create and maintain +// a certificate revocation list (CRL). A CRL contains information about certificates +// revoked by your CA. For more information, see RevokeCertificate (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_RevokeCertificate.html). type RevocationConfiguration struct { _ struct{} `type:"structure"` @@ -5365,10 +6242,10 @@ type RevokeCertificateInput struct { CertificateAuthorityArn *string `min:"5" type:"string" required:"true"` // Serial number of the certificate to be revoked. This must be in hexadecimal - // format. You can retrieve the serial number by calling GetCertificate with - // the Amazon Resource Name (ARN) of the certificate you want and the ARN of - // your private CA. The GetCertificate action retrieves the certificate in the - // PEM format. You can use the following OpenSSL command to list the certificate + // format. You can retrieve the serial number by calling GetCertificate (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_GetCertificate.html) + // with the Amazon Resource Name (ARN) of the certificate you want and the ARN + // of your private CA. The GetCertificate action retrieves the certificate in + // the PEM format. You can use the following OpenSSL command to list the certificate // in text format and copy the hexadecimal serial number. // // openssl x509 -in file_path -text -noout @@ -5453,7 +6330,8 @@ func (s RevokeCertificateOutput) GoString() string { // Tags are labels that you can use to identify and organize your private CAs. // Each tag consists of a key and an optional value. You can associate up to // 50 tags with a private CA. To add one or more tags to a private CA, call -// the TagCertificateAuthority action. To remove a tag, call the UntagCertificateAuthority +// the TagCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_TagCertificateAuthority.html) +// action. To remove a tag, call the UntagCertificateAuthority (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_UntagCertificateAuthority.html) // action. type Tag struct { _ struct{} `type:"structure"` @@ -5508,7 +6386,8 @@ func (s *Tag) SetValue(v string) *Tag { type TagCertificateAuthorityInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. + // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority + // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html). // This must be of the form: // // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 @@ -5650,7 +6529,8 @@ func (s *TooManyTagsException) RequestID() string { type UntagCertificateAuthorityInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority. + // The Amazon Resource Name (ARN) that was returned when you called CreateCertificateAuthority + // (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_CreateCertificateAuthority.html). // This must be of the form: // // arn:aws:acm-pca:region:account:certificate-authority/12345678-1234-1234-1234-123456789012 @@ -5813,18 +6693,51 @@ func (s UpdateCertificateAuthorityOutput) GoString() string { return s.String() } -// Length of time for which the certificate issued by your private certificate -// authority (CA), or by the private CA itself, is valid in days, months, or -// years. You can issue a certificate by calling the IssueCertificate action. +// Validity specifies the period of time during which a certificate is valid. +// Validity can be expressed as an explicit date and time when the certificate +// expires, or as a span of time after issuance, stated in days, months, or +// years. For more information, see Validity (https://tools.ietf.org/html/rfc5280#section-4.1.2.5) +// in RFC 5280. +// +// You can issue a certificate by calling the IssueCertificate (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_IssueCertificate.html) +// action. type Validity struct { _ struct{} `type:"structure"` - // Specifies whether the Value parameter represents days, months, or years. + // Determines how ACM Private CA interprets the Value parameter, an integer. + // Supported validity types include those listed below. Type definitions with + // values include a sample input value and the resulting output. + // + // END_DATE: The specific date and time when the certificate will expire, expressed + // using UTCTime (YYMMDDHHMMSS) or GeneralizedTime (YYYYMMDDHHMMSS) format. + // When UTCTime is used, if the year field (YY) is greater than or equal to + // 50, the year is interpreted as 19YY. If the year field is less than 50, the + // year is interpreted as 20YY. + // + // * Sample input value: 491231235959 (UTCTime format) + // + // * Output expiration date/time: 12/31/2049 23:59:59 + // + // ABSOLUTE: The specific date and time when the certificate will expire, expressed + // in seconds since the Unix Epoch. + // + // * Sample input value: 2524608000 + // + // * Output expiration date/time: 01/01/2050 00:00:00 + // + // DAYS, MONTHS, YEARS: The relative time from the moment of issuance until + // the certificate will expire, expressed in days, months, or years. + // + // Example if DAYS, issued on 10/12/2020 at 12:34:54 UTC: + // + // * Sample input value: 90 + // + // * Output expiration date: 01/10/2020 12:34:54 UTC // // Type is a required field Type *string `type:"string" required:"true" enum:"ValidityPeriodType"` - // Time period. + // A long integer interpreted according to the value of Type, below. // // Value is a required field Value *int64 `min:"1" type:"long" required:"true"` @@ -6023,6 +6936,22 @@ func KeyAlgorithm_Values() []string { } } +const ( + // ResourceOwnerSelf is a ResourceOwner enum value + ResourceOwnerSelf = "SELF" + + // ResourceOwnerOtherAccounts is a ResourceOwner enum value + ResourceOwnerOtherAccounts = "OTHER_ACCOUNTS" +) + +// ResourceOwner_Values returns all elements of the ResourceOwner enum +func ResourceOwner_Values() []string { + return []string{ + ResourceOwnerSelf, + ResourceOwnerOtherAccounts, + } +} + const ( // RevocationReasonUnspecified is a RevocationReason enum value RevocationReasonUnspecified = "UNSPECIFIED" diff --git a/vendor/github.com/aws/aws-sdk-go/service/acmpca/doc.go b/vendor/github.com/aws/aws-sdk-go/service/acmpca/doc.go index ca360e0e4767..bc8c55b61a8d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/acmpca/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/acmpca/doc.go @@ -3,6 +3,7 @@ // Package acmpca provides the client and types for making API // requests to AWS Certificate Manager Private Certificate Authority. // +// // This is the ACM Private CA API Reference. It provides descriptions, syntax, // and usage examples for each of the actions and data types involved in creating // and managing private certificate authorities (CA) for your organization. @@ -12,9 +13,9 @@ // an API that's tailored to the programming language or platform that you're // using. For more information, see AWS SDKs (https://aws.amazon.com/tools/#SDKs). // -// Each ACM Private CA API action has a throttling limit which determines the -// number of times the action can be called per second. For more information, -// see API Rate Limits in ACM Private CA (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaLimits.html#PcaLimits-api) +// Each ACM Private CA API action has a quota that determines the number of +// times the action can be called per second. For more information, see API +// Rate Quotas in ACM Private CA (https://docs.aws.amazon.com/acm-pca/latest/userguide/PcaLimits.html#PcaLimits-api) // in the ACM Private CA user guide. // // See https://docs.aws.amazon.com/goto/WebAPI/acm-pca-2017-08-22 for more information on this service. diff --git a/vendor/github.com/aws/aws-sdk-go/service/acmpca/errors.go b/vendor/github.com/aws/aws-sdk-go/service/acmpca/errors.go index 62564f2a81c6..a95d1ccca456 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/acmpca/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/acmpca/errors.go @@ -37,14 +37,15 @@ const ( // "InvalidNextTokenException". // // The token specified in the NextToken argument is not valid. Use the token - // returned from your previous call to ListCertificateAuthorities. + // returned from your previous call to ListCertificateAuthorities (https://docs.aws.amazon.com/acm-pca/latest/APIReference/API_ListCertificateAuthorities.html). ErrCodeInvalidNextTokenException = "InvalidNextTokenException" // ErrCodeInvalidPolicyException for service response error code // "InvalidPolicyException". // - // The S3 bucket policy is not valid. The policy must give ACM Private CA rights - // to read from and write to the bucket and find the bucket location. + // The resource policy is invalid or is missing a required statement. For general + // information about IAM policy and statement structure, see Overview of JSON + // Policies (https://docs.aws.amazon.com/https:/docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#access_policies-json). ErrCodeInvalidPolicyException = "InvalidPolicyException" // ErrCodeInvalidRequestException for service response error code @@ -56,8 +57,7 @@ const ( // ErrCodeInvalidStateException for service response error code // "InvalidStateException". // - // The private CA is in a state during which a report or certificate cannot - // be generated. + // The state of the private CA does not allow this action to occur. ErrCodeInvalidStateException = "InvalidStateException" // ErrCodeInvalidTagException for service response error code @@ -70,10 +70,18 @@ const ( // ErrCodeLimitExceededException for service response error code // "LimitExceededException". // - // An ACM Private CA limit has been exceeded. See the exception message returned - // to determine the limit that was exceeded. + // An ACM Private CA quota has been exceeded. See the exception message returned + // to determine the quota that was exceeded. ErrCodeLimitExceededException = "LimitExceededException" + // ErrCodeLockoutPreventedException for service response error code + // "LockoutPreventedException". + // + // The current action was prevented because it would lock the caller out from + // performing subsequent actions. Verify that the specified parameters would + // not result in the caller being denied access to the resource. + ErrCodeLockoutPreventedException = "LockoutPreventedException" + // ErrCodeMalformedCSRException for service response error code // "MalformedCSRException". // @@ -113,8 +121,8 @@ const ( // ErrCodeResourceNotFoundException for service response error code // "ResourceNotFoundException". // - // A resource such as a private CA, S3 bucket, certificate, or audit report - // cannot be found. + // A resource such as a private CA, S3 bucket, certificate, audit report, or + // policy cannot be found. ErrCodeResourceNotFoundException = "ResourceNotFoundException" // ErrCodeTooManyTagsException for service response error code @@ -136,6 +144,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "InvalidStateException": newErrorInvalidStateException, "InvalidTagException": newErrorInvalidTagException, "LimitExceededException": newErrorLimitExceededException, + "LockoutPreventedException": newErrorLockoutPreventedException, "MalformedCSRException": newErrorMalformedCSRException, "MalformedCertificateException": newErrorMalformedCertificateException, "PermissionAlreadyExistsException": newErrorPermissionAlreadyExistsException, diff --git a/vendor/github.com/aws/aws-sdk-go/service/apigatewayv2/api.go b/vendor/github.com/aws/aws-sdk-go/service/apigatewayv2/api.go index 6077267c78ec..8c0e1d68f1f1 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/apigatewayv2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/apigatewayv2/api.go @@ -6328,6 +6328,11 @@ type Api struct { // to a deployed API stage. ApiEndpoint *string `locationName:"apiEndpoint" type:"string"` + // Specifies whether an API is managed by API Gateway. You can't update or delete + // a managed API by using API Gateway. A managed API can be deleted only through + // the tooling or service that created it. + ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"` + // The API ID. ApiId *string `locationName:"apiId" type:"string"` @@ -6397,6 +6402,12 @@ func (s *Api) SetApiEndpoint(v string) *Api { return s } +// SetApiGatewayManaged sets the ApiGatewayManaged field's value. +func (s *Api) SetApiGatewayManaged(v bool) *Api { + s.ApiGatewayManaged = &v + return s +} + // SetApiId sets the ApiId field's value. func (s *Api) SetApiId(v string) *Api { s.ApiId = &v @@ -7157,6 +7168,8 @@ type CreateApiOutput struct { ApiEndpoint *string `locationName:"apiEndpoint" type:"string"` + ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"` + // The identifier. ApiId *string `locationName:"apiId" type:"string"` @@ -7215,6 +7228,12 @@ func (s *CreateApiOutput) SetApiEndpoint(v string) *CreateApiOutput { return s } +// SetApiGatewayManaged sets the ApiGatewayManaged field's value. +func (s *CreateApiOutput) SetApiGatewayManaged(v bool) *CreateApiOutput { + s.ApiGatewayManaged = &v + return s +} + // SetApiId sets the ApiId field's value. func (s *CreateApiOutput) SetApiId(v string) *CreateApiOutput { s.ApiId = &v @@ -7799,6 +7818,9 @@ type CreateIntegrationInput struct { // A string with a length between [1-64]. IntegrationMethod *string `locationName:"integrationMethod" type:"string"` + // A string with a length between [1-128]. + IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"` + // Represents an API method integration type. // // IntegrationType is a required field @@ -7919,6 +7941,12 @@ func (s *CreateIntegrationInput) SetIntegrationMethod(v string) *CreateIntegrati return s } +// SetIntegrationSubtype sets the IntegrationSubtype field's value. +func (s *CreateIntegrationInput) SetIntegrationSubtype(v string) *CreateIntegrationInput { + s.IntegrationSubtype = &v + return s +} + // SetIntegrationType sets the IntegrationType field's value. func (s *CreateIntegrationInput) SetIntegrationType(v string) *CreateIntegrationInput { s.IntegrationType = &v @@ -8005,6 +8033,9 @@ type CreateIntegrationOutput struct { // for more information. IntegrationResponseSelectionExpression *string `locationName:"integrationResponseSelectionExpression" type:"string"` + // A string with a length between [1-128]. + IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"` + // Represents an API method integration type. IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"` @@ -8113,6 +8144,12 @@ func (s *CreateIntegrationOutput) SetIntegrationResponseSelectionExpression(v st return s } +// SetIntegrationSubtype sets the IntegrationSubtype field's value. +func (s *CreateIntegrationOutput) SetIntegrationSubtype(v string) *CreateIntegrationOutput { + s.IntegrationSubtype = &v + return s +} + // SetIntegrationType sets the IntegrationType field's value. func (s *CreateIntegrationOutput) SetIntegrationType(v string) *CreateIntegrationOutput { s.IntegrationType = &v @@ -11091,6 +11128,8 @@ type GetApiOutput struct { ApiEndpoint *string `locationName:"apiEndpoint" type:"string"` + ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"` + // The identifier. ApiId *string `locationName:"apiId" type:"string"` @@ -11149,6 +11188,12 @@ func (s *GetApiOutput) SetApiEndpoint(v string) *GetApiOutput { return s } +// SetApiGatewayManaged sets the ApiGatewayManaged field's value. +func (s *GetApiOutput) SetApiGatewayManaged(v bool) *GetApiOutput { + s.ApiGatewayManaged = &v + return s +} + // SetApiId sets the ApiId field's value. func (s *GetApiOutput) SetApiId(v string) *GetApiOutput { s.ApiId = &v @@ -11985,6 +12030,9 @@ type GetIntegrationOutput struct { // for more information. IntegrationResponseSelectionExpression *string `locationName:"integrationResponseSelectionExpression" type:"string"` + // A string with a length between [1-128]. + IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"` + // Represents an API method integration type. IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"` @@ -12093,6 +12141,12 @@ func (s *GetIntegrationOutput) SetIntegrationResponseSelectionExpression(v strin return s } +// SetIntegrationSubtype sets the IntegrationSubtype field's value. +func (s *GetIntegrationOutput) SetIntegrationSubtype(v string) *GetIntegrationOutput { + s.IntegrationSubtype = &v + return s +} + // SetIntegrationType sets the IntegrationType field's value. func (s *GetIntegrationOutput) SetIntegrationType(v string) *GetIntegrationOutput { s.IntegrationType = &v @@ -13880,6 +13934,8 @@ type ImportApiOutput struct { ApiEndpoint *string `locationName:"apiEndpoint" type:"string"` + ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"` + // The identifier. ApiId *string `locationName:"apiId" type:"string"` @@ -13938,6 +13994,12 @@ func (s *ImportApiOutput) SetApiEndpoint(v string) *ImportApiOutput { return s } +// SetApiGatewayManaged sets the ApiGatewayManaged field's value. +func (s *ImportApiOutput) SetApiGatewayManaged(v bool) *ImportApiOutput { + s.ApiGatewayManaged = &v + return s +} + // SetApiId sets the ApiId field's value. func (s *ImportApiOutput) SetApiId(v string) *ImportApiOutput { s.ApiId = &v @@ -14070,6 +14132,10 @@ type Integration struct { // only for WebSocket APIs. See Integration Response Selection Expressions (https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-websocket-api-selection-expressions.html#apigateway-websocket-api-integration-response-selection-expressions). IntegrationResponseSelectionExpression *string `locationName:"integrationResponseSelectionExpression" type:"string"` + // Supported only for HTTP API AWS_PROXY integrations. Specifies the AWS service + // action to invoke. To learn more, see Integration subtype reference (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services-reference.html). + IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"` + // The integration type of an integration. One of the following: // // AWS: for integrating the route or method request with an AWS service action, @@ -14078,9 +14144,9 @@ type Integration struct { // AWS service action, this is known as AWS integration. Supported only for // WebSocket APIs. // - // AWS_PROXY: for integrating the route or method request with the Lambda function-invoking - // action with the client request passed through as-is. This integration is - // also referred to as Lambda proxy integration. + // AWS_PROXY: for integrating the route or method request with a Lambda function + // or other AWS service action. This integration is also referred to as a Lambda + // proxy integration. // // HTTP: for integrating the route or method request with an HTTP endpoint. // This integration is also referred to as the HTTP custom integration. Supported @@ -14128,14 +14194,20 @@ type Integration struct { // HTTP APIs. PayloadFormatVersion *string `locationName:"payloadFormatVersion" type:"string"` - // A key-value map specifying request parameters that are passed from the method - // request to the backend. The key is an integration request parameter name - // and the associated value is a method request parameter value or static value - // that must be enclosed within single quotes and pre-encoded as required by - // the backend. The method request parameter value must match the pattern of - // method.request.{location}.{name} , where {location} is querystring, path, - // or header; and {name} must be a valid and unique method request parameter - // name. Supported only for WebSocket APIs. + // For WebSocket APIs, a key-value map specifying request parameters that are + // passed from the method request to the backend. The key is an integration + // request parameter name and the associated value is a method request parameter + // value or static value that must be enclosed within single quotes and pre-encoded + // as required by the backend. The method request parameter value must match + // the pattern of method.request.{location}.{name} , where {location} is querystring, + // path, or header; and {name} must be a valid and unique method request parameter + // name. + // + // For HTTP APIs, request parameters are a key-value map specifying parameters + // that are passed to AWS_PROXY integrations with a specified integrationSubtype. + // You can provide static values, or map request data, stage variables, or context + // variables that are evaluated at runtime. To learn more, see Working with + // AWS service integrations for HTTP APIs (https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-integrations-aws-services.html). RequestParameters map[string]*string `locationName:"requestParameters" type:"map"` // Represents a map of Velocity templates that are applied on the request payload @@ -14223,6 +14295,12 @@ func (s *Integration) SetIntegrationResponseSelectionExpression(v string) *Integ return s } +// SetIntegrationSubtype sets the IntegrationSubtype field's value. +func (s *Integration) SetIntegrationSubtype(v string) *Integration { + s.IntegrationSubtype = &v + return s +} + // SetIntegrationType sets the IntegrationType field's value. func (s *Integration) SetIntegrationType(v string) *Integration { s.IntegrationType = &v @@ -14631,6 +14709,8 @@ type ReimportApiOutput struct { ApiEndpoint *string `locationName:"apiEndpoint" type:"string"` + ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"` + // The identifier. ApiId *string `locationName:"apiId" type:"string"` @@ -14689,6 +14769,12 @@ func (s *ReimportApiOutput) SetApiEndpoint(v string) *ReimportApiOutput { return s } +// SetApiGatewayManaged sets the ApiGatewayManaged field's value. +func (s *ReimportApiOutput) SetApiGatewayManaged(v bool) *ReimportApiOutput { + s.ApiGatewayManaged = &v + return s +} + // SetApiId sets the ApiId field's value. func (s *ReimportApiOutput) SetApiId(v string) *ReimportApiOutput { s.ApiId = &v @@ -15728,6 +15814,8 @@ type UpdateApiOutput struct { ApiEndpoint *string `locationName:"apiEndpoint" type:"string"` + ApiGatewayManaged *bool `locationName:"apiGatewayManaged" type:"boolean"` + // The identifier. ApiId *string `locationName:"apiId" type:"string"` @@ -15786,6 +15874,12 @@ func (s *UpdateApiOutput) SetApiEndpoint(v string) *UpdateApiOutput { return s } +// SetApiGatewayManaged sets the ApiGatewayManaged field's value. +func (s *UpdateApiOutput) SetApiGatewayManaged(v bool) *UpdateApiOutput { + s.ApiGatewayManaged = &v + return s +} + // SetApiId sets the ApiId field's value. func (s *UpdateApiOutput) SetApiId(v string) *UpdateApiOutput { s.ApiId = &v @@ -16371,6 +16465,9 @@ type UpdateIntegrationInput struct { // A string with a length between [1-64]. IntegrationMethod *string `locationName:"integrationMethod" type:"string"` + // A string with a length between [1-128]. + IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"` + // Represents an API method integration type. IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"` @@ -16498,6 +16595,12 @@ func (s *UpdateIntegrationInput) SetIntegrationMethod(v string) *UpdateIntegrati return s } +// SetIntegrationSubtype sets the IntegrationSubtype field's value. +func (s *UpdateIntegrationInput) SetIntegrationSubtype(v string) *UpdateIntegrationInput { + s.IntegrationSubtype = &v + return s +} + // SetIntegrationType sets the IntegrationType field's value. func (s *UpdateIntegrationInput) SetIntegrationType(v string) *UpdateIntegrationInput { s.IntegrationType = &v @@ -16584,6 +16687,9 @@ type UpdateIntegrationOutput struct { // for more information. IntegrationResponseSelectionExpression *string `locationName:"integrationResponseSelectionExpression" type:"string"` + // A string with a length between [1-128]. + IntegrationSubtype *string `locationName:"integrationSubtype" type:"string"` + // Represents an API method integration type. IntegrationType *string `locationName:"integrationType" type:"string" enum:"IntegrationType"` @@ -16692,6 +16798,12 @@ func (s *UpdateIntegrationOutput) SetIntegrationResponseSelectionExpression(v st return s } +// SetIntegrationSubtype sets the IntegrationSubtype field's value. +func (s *UpdateIntegrationOutput) SetIntegrationSubtype(v string) *UpdateIntegrationOutput { + s.IntegrationSubtype = &v + return s +} + // SetIntegrationType sets the IntegrationType field's value. func (s *UpdateIntegrationOutput) SetIntegrationType(v string) *UpdateIntegrationOutput { s.IntegrationType = &v diff --git a/vendor/github.com/aws/aws-sdk-go/service/appstream/api.go b/vendor/github.com/aws/aws-sdk-go/service/appstream/api.go index 0335bb7e0ede..2de24156e597 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/appstream/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/appstream/api.go @@ -168,6 +168,9 @@ func (c *AppStream) BatchAssociateUserStackRequest(input *BatchAssociateUserStac // * OperationNotPermittedException // The attempted operation is not permitted. // +// * InvalidParameterCombinationException +// Indicates an incorrect combination of parameters, or a missing parameter. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/BatchAssociateUserStack func (c *AppStream) BatchAssociateUserStack(input *BatchAssociateUserStackInput) (*BatchAssociateUserStackOutput, error) { req, out := c.BatchAssociateUserStackRequest(input) @@ -242,6 +245,14 @@ func (c *AppStream) BatchDisassociateUserStackRequest(input *BatchDisassociateUs // // See the AWS API reference guide for Amazon AppStream's // API operation BatchDisassociateUserStack for usage and error information. +// +// Returned Error Types: +// * OperationNotPermittedException +// The attempted operation is not permitted. +// +// * InvalidParameterCombinationException +// Indicates an incorrect combination of parameters, or a missing parameter. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/BatchDisassociateUserStack func (c *AppStream) BatchDisassociateUserStack(input *BatchDisassociateUserStackInput) (*BatchDisassociateUserStackOutput, error) { req, out := c.BatchDisassociateUserStackRequest(input) @@ -416,6 +427,9 @@ func (c *AppStream) CreateDirectoryConfigRequest(input *CreateDirectoryConfigInp // API operation CreateDirectoryConfig for usage and error information. // // Returned Error Types: +// * ResourceNotFoundException +// The specified resource was not found. +// // * ResourceAlreadyExistsException // The specified resource already exists. // @@ -426,6 +440,12 @@ func (c *AppStream) CreateDirectoryConfigRequest(input *CreateDirectoryConfigInp // The resource cannot be created because your AWS account is suspended. For // assistance, contact AWS Support. // +// * OperationNotPermittedException +// The attempted operation is not permitted. +// +// * InvalidRoleException +// The specified role is invalid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/CreateDirectoryConfig func (c *AppStream) CreateDirectoryConfig(input *CreateDirectoryConfigInput) (*CreateDirectoryConfigOutput, error) { req, out := c.CreateDirectoryConfigRequest(input) @@ -515,6 +535,11 @@ func (c *AppStream) CreateFleetRequest(input *CreateFleetInput) (req *request.Re // * LimitExceededException // The requested limit exceeds the permitted limit for an account. // +// * RequestLimitExceededException +// AppStream 2.0 can’t process the request right now because the Describe +// calls from your AWS account are being throttled by Amazon EC2. Try again +// later. +// // * InvalidAccountStatusException // The resource cannot be created because your AWS account is suspended. For // assistance, contact AWS Support. @@ -617,6 +642,11 @@ func (c *AppStream) CreateImageBuilderRequest(input *CreateImageBuilderInput) (r // * LimitExceededException // The requested limit exceeds the permitted limit for an account. // +// * RequestLimitExceededException +// AppStream 2.0 can’t process the request right now because the Describe +// calls from your AWS account are being throttled by Amazon EC2. Try again +// later. +// // * InvalidAccountStatusException // The resource cannot be created because your AWS account is suspended. For // assistance, contact AWS Support. @@ -2635,6 +2665,9 @@ func (c *AppStream) DescribeUserStackAssociationsRequest(input *DescribeUserStac // * InvalidParameterCombinationException // Indicates an incorrect combination of parameters, or a missing parameter. // +// * OperationNotPermittedException +// The attempted operation is not permitted. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DescribeUserStackAssociations func (c *AppStream) DescribeUserStackAssociations(input *DescribeUserStackAssociationsInput) (*DescribeUserStackAssociationsOutput, error) { req, out := c.DescribeUserStackAssociationsRequest(input) @@ -2884,6 +2917,9 @@ func (c *AppStream) DisassociateFleetRequest(input *DisassociateFleetInput) (req // * ConcurrentModificationException // An API error occurred. Wait a few minutes and try again. // +// * OperationNotPermittedException +// The attempted operation is not permitted. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/DisassociateFleet func (c *AppStream) DisassociateFleet(input *DisassociateFleetInput) (*DisassociateFleetOutput, error) { req, out := c.DisassociateFleetRequest(input) @@ -3361,6 +3397,11 @@ func (c *AppStream) StartFleetRequest(input *StartFleetInput) (req *request.Requ // * LimitExceededException // The requested limit exceeds the permitted limit for an account. // +// * RequestLimitExceededException +// AppStream 2.0 can’t process the request right now because the Describe +// calls from your AWS account are being throttled by Amazon EC2. Try again +// later. +// // * InvalidAccountStatusException // The resource cannot be created because your AWS account is suspended. For // assistance, contact AWS Support. @@ -3904,6 +3945,12 @@ func (c *AppStream) UpdateDirectoryConfigRequest(input *UpdateDirectoryConfigInp // * ConcurrentModificationException // An API error occurred. Wait a few minutes and try again. // +// * OperationNotPermittedException +// The attempted operation is not permitted. +// +// * InvalidRoleException +// The specified role is invalid. +// // See also, https://docs.aws.amazon.com/goto/WebAPI/appstream-2016-12-01/UpdateDirectoryConfig func (c *AppStream) UpdateDirectoryConfig(input *UpdateDirectoryConfigInput) (*UpdateDirectoryConfigOutput, error) { req, out := c.UpdateDirectoryConfigRequest(input) @@ -3992,6 +4039,11 @@ func (c *AppStream) UpdateFleetRequest(input *UpdateFleetInput) (req *request.Re // * LimitExceededException // The requested limit exceeds the permitted limit for an account. // +// * RequestLimitExceededException +// AppStream 2.0 can’t process the request right now because the Describe +// calls from your AWS account are being throttled by Amazon EC2. Try again +// later. +// // * InvalidAccountStatusException // The resource cannot be created because your AWS account is suspended. For // assistance, contact AWS Support. @@ -4948,9 +5000,7 @@ type CreateDirectoryConfigInput struct { // The credentials for the service account used by the fleet or image builder // to connect to the directory. - // - // ServiceAccountCredentials is a required field - ServiceAccountCredentials *ServiceAccountCredentials `type:"structure" required:"true"` + ServiceAccountCredentials *ServiceAccountCredentials `type:"structure"` } // String returns the string representation @@ -4972,9 +5022,6 @@ func (s *CreateDirectoryConfigInput) Validate() error { if s.OrganizationalUnitDistinguishedNames == nil { invalidParams.Add(request.NewErrParamRequired("OrganizationalUnitDistinguishedNames")) } - if s.ServiceAccountCredentials == nil { - invalidParams.Add(request.NewErrParamRequired("ServiceAccountCredentials")) - } if s.ServiceAccountCredentials != nil { if err := s.ServiceAccountCredentials.Validate(); err != nil { invalidParams.AddNested("ServiceAccountCredentials", err.(request.ErrInvalidParams)) @@ -5076,7 +5123,7 @@ type CreateFleetInput struct { // assume a role, a fleet instance calls the AWS Security Token Service (STS) // AssumeRole API operation and passes the ARN of the role to use. The operation // creates a new session with temporary credentials. AppStream 2.0 retrieves - // the temporary credentials and creates the AppStream_Machine_Role credential + // the temporary credentials and creates the appstream_machine_role credential // profile on the instance. // // For more information, see Using an IAM Role to Grant Permissions to Applications @@ -5141,6 +5188,18 @@ type CreateFleetInput struct { // // * stream.memory.8xlarge // + // * stream.memory.z1d.large + // + // * stream.memory.z1d.xlarge + // + // * stream.memory.z1d.2xlarge + // + // * stream.memory.z1d.3xlarge + // + // * stream.memory.z1d.6xlarge + // + // * stream.memory.z1d.12xlarge + // // * stream.graphics-design.large // // * stream.graphics-design.xlarge @@ -5151,6 +5210,18 @@ type CreateFleetInput struct { // // * stream.graphics-desktop.2xlarge // + // * stream.graphics.g4dn.xlarge + // + // * stream.graphics.g4dn.2xlarge + // + // * stream.graphics.g4dn.4xlarge + // + // * stream.graphics.g4dn.8xlarge + // + // * stream.graphics.g4dn.12xlarge + // + // * stream.graphics.g4dn.16xlarge + // // * stream.graphics-pro.4xlarge // // * stream.graphics-pro.8xlarge @@ -5174,6 +5245,14 @@ type CreateFleetInput struct { // Name is a required field Name *string `type:"string" required:"true"` + // The AppStream 2.0 view that is displayed to your users when they stream from + // the fleet. When APP is specified, only the windows of applications opened + // by users display. When DESKTOP is specified, the standard desktop that is + // provided by the operating system displays. + // + // The default value is APP. + StreamView *string `type:"string" enum:"StreamView"` + // The tags to associate with the fleet. A tag is a key-value pair, and the // value is optional. For example, Environment=Test. If you do not specify a // value, Environment=. @@ -5320,6 +5399,12 @@ func (s *CreateFleetInput) SetName(v string) *CreateFleetInput { return s } +// SetStreamView sets the StreamView field's value. +func (s *CreateFleetInput) SetStreamView(v string) *CreateFleetInput { + s.StreamView = &v + return s +} + // SetTags sets the Tags field's value. func (s *CreateFleetInput) SetTags(v map[string]*string) *CreateFleetInput { s.Tags = v @@ -5383,7 +5468,7 @@ type CreateImageBuilderInput struct { // To assume a role, the image builder calls the AWS Security Token Service // (STS) AssumeRole API operation and passes the ARN of the role to use. The // operation creates a new session with temporary credentials. AppStream 2.0 - // retrieves the temporary credentials and creates the AppStream_Machine_Role + // retrieves the temporary credentials and creates the appstream_machine_role // credential profile on the instance. // // For more information, see Using an IAM Role to Grant Permissions to Applications @@ -5424,6 +5509,18 @@ type CreateImageBuilderInput struct { // // * stream.memory.8xlarge // + // * stream.memory.z1d.large + // + // * stream.memory.z1d.xlarge + // + // * stream.memory.z1d.2xlarge + // + // * stream.memory.z1d.3xlarge + // + // * stream.memory.z1d.6xlarge + // + // * stream.memory.z1d.12xlarge + // // * stream.graphics-design.large // // * stream.graphics-design.xlarge @@ -5434,6 +5531,18 @@ type CreateImageBuilderInput struct { // // * stream.graphics-desktop.2xlarge // + // * stream.graphics.g4dn.xlarge + // + // * stream.graphics.g4dn.2xlarge + // + // * stream.graphics.g4dn.4xlarge + // + // * stream.graphics.g4dn.8xlarge + // + // * stream.graphics.g4dn.12xlarge + // + // * stream.graphics.g4dn.16xlarge + // // * stream.graphics-pro.4xlarge // // * stream.graphics-pro.8xlarge @@ -7177,7 +7286,8 @@ type DescribeSessionsInput struct { // StackName is a required field StackName *string `min:"1" type:"string" required:"true"` - // The user identifier. + // The user identifier (ID). If you specify a user ID, you must also specify + // the authentication type. UserId *string `min:"2" type:"string"` } @@ -8076,7 +8186,7 @@ type Fleet struct { // fleet instance calls the AWS Security Token Service (STS) AssumeRole API // operation and passes the ARN of the role to use. The operation creates a // new session with temporary credentials. AppStream 2.0 retrieves the temporary - // credentials and creates the AppStream_Machine_Role credential profile on + // credentials and creates the appstream_machine_role credential profile on // the instance. // // For more information, see Using an IAM Role to Grant Permissions to Applications @@ -8141,6 +8251,18 @@ type Fleet struct { // // * stream.memory.8xlarge // + // * stream.memory.z1d.large + // + // * stream.memory.z1d.xlarge + // + // * stream.memory.z1d.2xlarge + // + // * stream.memory.z1d.3xlarge + // + // * stream.memory.z1d.6xlarge + // + // * stream.memory.z1d.12xlarge + // // * stream.graphics-design.large // // * stream.graphics-design.xlarge @@ -8151,6 +8273,18 @@ type Fleet struct { // // * stream.graphics-desktop.2xlarge // + // * stream.graphics.g4dn.xlarge + // + // * stream.graphics.g4dn.2xlarge + // + // * stream.graphics.g4dn.4xlarge + // + // * stream.graphics.g4dn.8xlarge + // + // * stream.graphics.g4dn.12xlarge + // + // * stream.graphics.g4dn.16xlarge + // // * stream.graphics-pro.4xlarge // // * stream.graphics-pro.8xlarge @@ -8179,6 +8313,14 @@ type Fleet struct { // State is a required field State *string `type:"string" required:"true" enum:"FleetState"` + // The AppStream 2.0 view that is displayed to your users when they stream from + // the fleet. When APP is specified, only the windows of applications opened + // by users display. When DESKTOP is specified, the standard desktop that is + // provided by the operating system displays. + // + // The default value is APP. + StreamView *string `type:"string" enum:"StreamView"` + // The VPC configuration for the fleet. VpcConfig *VpcConfig `type:"structure"` } @@ -8301,6 +8443,12 @@ func (s *Fleet) SetState(v string) *Fleet { return s } +// SetStreamView sets the StreamView field's value. +func (s *Fleet) SetStreamView(v string) *Fleet { + s.StreamView = &v + return s +} + // SetVpcConfig sets the VpcConfig field's value. func (s *Fleet) SetVpcConfig(v *VpcConfig) *Fleet { s.VpcConfig = v @@ -8541,7 +8689,7 @@ type ImageBuilder struct { // role, the image builder calls the AWS Security Token Service (STS) AssumeRole // API operation and passes the ARN of the role to use. The operation creates // a new session with temporary credentials. AppStream 2.0 retrieves the temporary - // credentials and creates the AppStream_Machine_Role credential profile on + // credentials and creates the appstream_machine_role credential profile on // the instance. // // For more information, see Using an IAM Role to Grant Permissions to Applications @@ -8582,6 +8730,18 @@ type ImageBuilder struct { // // * stream.memory.8xlarge // + // * stream.memory.z1d.large + // + // * stream.memory.z1d.xlarge + // + // * stream.memory.z1d.2xlarge + // + // * stream.memory.z1d.3xlarge + // + // * stream.memory.z1d.6xlarge + // + // * stream.memory.z1d.12xlarge + // // * stream.graphics-design.large // // * stream.graphics-design.xlarge @@ -8592,6 +8752,18 @@ type ImageBuilder struct { // // * stream.graphics-desktop.2xlarge // + // * stream.graphics.g4dn.xlarge + // + // * stream.graphics.g4dn.2xlarge + // + // * stream.graphics.g4dn.4xlarge + // + // * stream.graphics.g4dn.8xlarge + // + // * stream.graphics.g4dn.12xlarge + // + // * stream.graphics.g4dn.16xlarge + // // * stream.graphics-pro.4xlarge // // * stream.graphics-pro.8xlarge @@ -9486,6 +9658,65 @@ func (s *OperationNotPermittedException) RequestID() string { return s.RespMetadata.RequestID } +// AppStream 2.0 can’t process the request right now because the Describe +// calls from your AWS account are being throttled by Amazon EC2. Try again +// later. +type RequestLimitExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + // The error message in the exception. + Message_ *string `locationName:"Message" type:"string"` +} + +// String returns the string representation +func (s RequestLimitExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RequestLimitExceededException) GoString() string { + return s.String() +} + +func newErrorRequestLimitExceededException(v protocol.ResponseMetadata) error { + return &RequestLimitExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *RequestLimitExceededException) Code() string { + return "RequestLimitExceededException" +} + +// Message returns the exception's message. +func (s *RequestLimitExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *RequestLimitExceededException) OrigErr() error { + return nil +} + +func (s *RequestLimitExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *RequestLimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *RequestLimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + // The specified resource already exists. type ResourceAlreadyExistsException struct { _ struct{} `type:"structure"` @@ -10732,7 +10963,7 @@ type UpdateFleetInput struct { // assume a role, a fleet instance calls the AWS Security Token Service (STS) // AssumeRole API operation and passes the ARN of the role to use. The operation // creates a new session with temporary credentials. AppStream 2.0 retrieves - // the temporary credentials and creates the AppStream_Machine_Role credential + // the temporary credentials and creates the appstream_machine_role credential // profile on the instance. // // For more information, see Using an IAM Role to Grant Permissions to Applications @@ -10797,6 +11028,18 @@ type UpdateFleetInput struct { // // * stream.memory.8xlarge // + // * stream.memory.z1d.large + // + // * stream.memory.z1d.xlarge + // + // * stream.memory.z1d.2xlarge + // + // * stream.memory.z1d.3xlarge + // + // * stream.memory.z1d.6xlarge + // + // * stream.memory.z1d.12xlarge + // // * stream.graphics-design.large // // * stream.graphics-design.xlarge @@ -10807,6 +11050,18 @@ type UpdateFleetInput struct { // // * stream.graphics-desktop.2xlarge // + // * stream.graphics.g4dn.xlarge + // + // * stream.graphics.g4dn.2xlarge + // + // * stream.graphics.g4dn.4xlarge + // + // * stream.graphics.g4dn.8xlarge + // + // * stream.graphics.g4dn.12xlarge + // + // * stream.graphics.g4dn.16xlarge + // // * stream.graphics-pro.4xlarge // // * stream.graphics-pro.8xlarge @@ -10826,6 +11081,14 @@ type UpdateFleetInput struct { // A unique name for the fleet. Name *string `min:"1" type:"string"` + // The AppStream 2.0 view that is displayed to your users when they stream from + // the fleet. When APP is specified, only the windows of applications opened + // by users display. When DESKTOP is specified, the standard desktop that is + // provided by the operating system displays. + // + // The default value is APP. + StreamView *string `type:"string" enum:"StreamView"` + // The VPC configuration for the fleet. VpcConfig *VpcConfig `type:"structure"` } @@ -10954,6 +11217,12 @@ func (s *UpdateFleetInput) SetName(v string) *UpdateFleetInput { return s } +// SetStreamView sets the StreamView field's value. +func (s *UpdateFleetInput) SetStreamView(v string) *UpdateFleetInput { + s.StreamView = &v + return s +} + // SetVpcConfig sets the VpcConfig field's value. func (s *UpdateFleetInput) SetVpcConfig(v *VpcConfig) *UpdateFleetInput { s.VpcConfig = v @@ -12190,6 +12459,22 @@ func StorageConnectorType_Values() []string { } } +const ( + // StreamViewApp is a StreamView enum value + StreamViewApp = "APP" + + // StreamViewDesktop is a StreamView enum value + StreamViewDesktop = "DESKTOP" +) + +// StreamView_Values returns all elements of the StreamView enum +func StreamView_Values() []string { + return []string{ + StreamViewApp, + StreamViewDesktop, + } +} + const ( // UsageReportExecutionErrorCodeResourceNotFound is a UsageReportExecutionErrorCode enum value UsageReportExecutionErrorCodeResourceNotFound = "RESOURCE_NOT_FOUND" @@ -12229,6 +12514,9 @@ const ( // UserStackAssociationErrorCodeUserNameNotFound is a UserStackAssociationErrorCode enum value UserStackAssociationErrorCodeUserNameNotFound = "USER_NAME_NOT_FOUND" + // UserStackAssociationErrorCodeDirectoryNotFound is a UserStackAssociationErrorCode enum value + UserStackAssociationErrorCodeDirectoryNotFound = "DIRECTORY_NOT_FOUND" + // UserStackAssociationErrorCodeInternalError is a UserStackAssociationErrorCode enum value UserStackAssociationErrorCodeInternalError = "INTERNAL_ERROR" ) @@ -12238,6 +12526,7 @@ func UserStackAssociationErrorCode_Values() []string { return []string{ UserStackAssociationErrorCodeStackNotFound, UserStackAssociationErrorCodeUserNameNotFound, + UserStackAssociationErrorCodeDirectoryNotFound, UserStackAssociationErrorCodeInternalError, } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/appstream/errors.go b/vendor/github.com/aws/aws-sdk-go/service/appstream/errors.go index 285b79bdeda8..f1570a479d97 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/appstream/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/appstream/errors.go @@ -51,6 +51,14 @@ const ( // The attempted operation is not permitted. ErrCodeOperationNotPermittedException = "OperationNotPermittedException" + // ErrCodeRequestLimitExceededException for service response error code + // "RequestLimitExceededException". + // + // AppStream 2.0 can’t process the request right now because the Describe + // calls from your AWS account are being throttled by Amazon EC2. Try again + // later. + ErrCodeRequestLimitExceededException = "RequestLimitExceededException" + // ErrCodeResourceAlreadyExistsException for service response error code // "ResourceAlreadyExistsException". // @@ -84,6 +92,7 @@ var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ "InvalidRoleException": newErrorInvalidRoleException, "LimitExceededException": newErrorLimitExceededException, "OperationNotPermittedException": newErrorOperationNotPermittedException, + "RequestLimitExceededException": newErrorRequestLimitExceededException, "ResourceAlreadyExistsException": newErrorResourceAlreadyExistsException, "ResourceInUseException": newErrorResourceInUseException, "ResourceNotAvailableException": newErrorResourceNotAvailableException, diff --git a/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go b/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go index 5d32f44fdc64..d905d5f29110 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/codebuild/api.go +++ b/vendor/github.com/aws/aws-sdk-go/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/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go b/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go index bc509c4b25ba..86c0162ec510 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/cognitoidentityprovider/api.go +++ b/vendor/github.com/aws/aws-sdk-go/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/vendor/github.com/aws/aws-sdk-go/service/datasync/api.go b/vendor/github.com/aws/aws-sdk-go/service/datasync/api.go index 0ce90849d06a..8d610153944d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/datasync/api.go +++ b/vendor/github.com/aws/aws-sdk-go/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/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go index aeea19bf33c2..91872a55c3fd 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ec2/api.go @@ -115508,6 +115508,30 @@ const ( // InstanceTypeC5a24xlarge is a InstanceType enum value InstanceTypeC5a24xlarge = "c5a.24xlarge" + // InstanceTypeC5adLarge is a InstanceType enum value + InstanceTypeC5adLarge = "c5ad.large" + + // InstanceTypeC5adXlarge is a InstanceType enum value + InstanceTypeC5adXlarge = "c5ad.xlarge" + + // InstanceTypeC5ad2xlarge is a InstanceType enum value + InstanceTypeC5ad2xlarge = "c5ad.2xlarge" + + // InstanceTypeC5ad4xlarge is a InstanceType enum value + InstanceTypeC5ad4xlarge = "c5ad.4xlarge" + + // InstanceTypeC5ad8xlarge is a InstanceType enum value + InstanceTypeC5ad8xlarge = "c5ad.8xlarge" + + // InstanceTypeC5ad12xlarge is a InstanceType enum value + InstanceTypeC5ad12xlarge = "c5ad.12xlarge" + + // InstanceTypeC5ad16xlarge is a InstanceType enum value + InstanceTypeC5ad16xlarge = "c5ad.16xlarge" + + // InstanceTypeC5ad24xlarge is a InstanceType enum value + InstanceTypeC5ad24xlarge = "c5ad.24xlarge" + // InstanceTypeC5dLarge is a InstanceType enum value InstanceTypeC5dLarge = "c5d.large" @@ -116192,6 +116216,14 @@ func InstanceType_Values() []string { InstanceTypeC5a12xlarge, InstanceTypeC5a16xlarge, InstanceTypeC5a24xlarge, + InstanceTypeC5adLarge, + InstanceTypeC5adXlarge, + InstanceTypeC5ad2xlarge, + InstanceTypeC5ad4xlarge, + InstanceTypeC5ad8xlarge, + InstanceTypeC5ad12xlarge, + InstanceTypeC5ad16xlarge, + InstanceTypeC5ad24xlarge, InstanceTypeC5dLarge, InstanceTypeC5dXlarge, InstanceTypeC5d2xlarge, diff --git a/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go b/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go index 990eae4ec29c..462b049cc3c5 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/ecr/api.go @@ -5193,7 +5193,7 @@ type Image struct { // The image manifest associated with the image. ImageManifest *string `locationName:"imageManifest" min:"1" type:"string"` - // The media type associated with the image manifest. + // The manifest media type of the image. ImageManifestMediaType *string `locationName:"imageManifestMediaType" type:"string"` // The AWS account ID associated with the registry containing the image. @@ -5305,9 +5305,15 @@ func (s *ImageAlreadyExistsException) RequestID() string { type ImageDetail struct { _ struct{} `type:"structure"` + // The artifact media type of the image. + ArtifactMediaType *string `locationName:"artifactMediaType" type:"string"` + // The sha256 digest of the image manifest. ImageDigest *string `locationName:"imageDigest" type:"string"` + // The media type of the image manifest. + ImageManifestMediaType *string `locationName:"imageManifestMediaType" type:"string"` + // The date and time, expressed in standard JavaScript date format, at which // the current image was pushed to the repository. ImagePushedAt *time.Time `locationName:"imagePushedAt" type:"timestamp"` @@ -5349,12 +5355,24 @@ func (s ImageDetail) GoString() string { return s.String() } +// SetArtifactMediaType sets the ArtifactMediaType field's value. +func (s *ImageDetail) SetArtifactMediaType(v string) *ImageDetail { + s.ArtifactMediaType = &v + return s +} + // SetImageDigest sets the ImageDigest field's value. func (s *ImageDetail) SetImageDigest(v string) *ImageDetail { s.ImageDigest = &v return s } +// SetImageManifestMediaType sets the ImageManifestMediaType field's value. +func (s *ImageDetail) SetImageManifestMediaType(v string) *ImageDetail { + s.ImageManifestMediaType = &v + return s +} + // SetImagePushedAt sets the ImagePushedAt field's value. func (s *ImageDetail) SetImagePushedAt(v time.Time) *ImageDetail { s.ImagePushedAt = &v diff --git a/vendor/github.com/aws/aws-sdk-go/service/elb/api.go b/vendor/github.com/aws/aws-sdk-go/service/elb/api.go index c2e93fa72d33..00eba43323ab 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elb/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elb/api.go @@ -64,7 +64,7 @@ func (c *ELB) AddTagsRequest(input *AddTagsInput) (req *request.Request, output // Each tag consists of a key and an optional value. If a tag with the same // key is already associated with the load balancer, AddTags updates its value. // -// For more information, see Tag Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html) +// For more information, see Tag Your Classic Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html) // in the Classic Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -155,7 +155,7 @@ func (c *ELB) ApplySecurityGroupsToLoadBalancerRequest(input *ApplySecurityGroup // private cloud (VPC). The specified security groups override the previously // associated security groups. // -// For more information, see Security Groups for Load Balancers in a VPC (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-groups.html#elb-vpc-security-groups) +// For more information, see Security Groups for Load Balancers in a VPC (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-security-groups.html#elb-vpc-security-groups) // in the Classic Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -246,7 +246,7 @@ func (c *ELB) AttachLoadBalancerToSubnetsRequest(input *AttachLoadBalancerToSubn // // The load balancer evenly distributes requests across all registered subnets. // For more information, see Add or Remove Subnets for Your Load Balancer in -// a VPC (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-manage-subnets.html) +// a VPC (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-manage-subnets.html) // in the Classic Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -339,7 +339,7 @@ func (c *ELB) ConfigureHealthCheckRequest(input *ConfigureHealthCheckInput) (req // of your EC2 instances. // // For more information, see Configure Health Checks for Your Load Balancer -// (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-healthchecks.html) +// (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-healthchecks.html) // in the Classic Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -433,7 +433,7 @@ func (c *ELB) CreateAppCookieStickinessPolicyRequest(input *CreateAppCookieStick // If the application cookie is explicitly removed or expires, the session stops // being sticky until a new application cookie is issued. // -// For more information, see Application-Controlled Session Stickiness (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-application) +// For more information, see Application-Controlled Session Stickiness (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-application) // in the Classic Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -538,7 +538,7 @@ func (c *ELB) CreateLBCookieStickinessPolicyRequest(input *CreateLBCookieStickin // the same user to that server. The validity of the cookie is based on the // cookie expiration time, which is specified in the policy configuration. // -// For more information, see Duration-Based Session Stickiness (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-duration) +// For more information, see Duration-Based Session Stickiness (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-duration) // in the Classic Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -638,7 +638,7 @@ func (c *ELB) CreateLoadBalancerRequest(input *CreateLoadBalancerInput) (req *re // // You can create up to 20 load balancers per region per account. You can request // an increase for the number of load balancers for your account. For more information, -// see Limits for Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-limits.html) +// see Limits for Your Classic Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-limits.html) // in the Classic Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -762,7 +762,7 @@ func (c *ELB) CreateLoadBalancerListenersRequest(input *CreateLoadBalancerListen // the properties of the new listener must match the properties of the existing // listener. // -// For more information, see Listeners for Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html) +// For more information, see Listeners for Your Classic Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html) // in the Classic Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1209,7 +1209,7 @@ func (c *ELB) DeregisterInstancesFromLoadBalancerRequest(input *DeregisterInstan // You can use DescribeLoadBalancers to verify that the instance is deregistered // from the load balancer. // -// For more information, see Register or De-Register EC2 Instances (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-deregister-register-instances.html) +// For more information, see Register or De-Register EC2 Instances (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-deregister-register-instances.html) // in the Classic Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1295,7 +1295,7 @@ func (c *ELB) DescribeAccountLimitsRequest(input *DescribeAccountLimitsInput) (r // Describes the current Elastic Load Balancing resource limits for your AWS // account. // -// For more information, see Limits for Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-limits.html) +// For more information, see Limits for Your Classic Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-limits.html) // in the Classic Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2037,7 +2037,7 @@ func (c *ELB) DisableAvailabilityZonesForLoadBalancerRequest(input *DisableAvail // the OutOfService state. Then, the load balancer attempts to equally balance // the traffic among its remaining Availability Zones. // -// For more information, see Add or Remove Availability Zones (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-az.html) +// For more information, see Add or Remove Availability Zones (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-az.html) // in the Classic Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2127,7 +2127,7 @@ func (c *ELB) EnableAvailabilityZonesForLoadBalancerRequest(input *EnableAvailab // // The load balancer evenly distributes requests across all its registered Availability // Zones that contain instances. For more information, see Add or Remove Availability -// Zones (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-az.html) +// Zones (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-az.html) // in the Classic Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2216,13 +2216,13 @@ func (c *ELB) ModifyLoadBalancerAttributesRequest(input *ModifyLoadBalancerAttri // // For more information, see the following in the Classic Load Balancers Guide: // -// * Cross-Zone Load Balancing (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html) +// * Cross-Zone Load Balancing (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html) // -// * Connection Draining (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html) +// * Connection Draining (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html) // -// * Access Logs (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/access-log-collection.html) +// * Access Logs (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/access-log-collection.html) // -// * Idle Connection Timeout (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html) +// * Idle Connection Timeout (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2328,7 +2328,7 @@ func (c *ELB) RegisterInstancesWithLoadBalancerRequest(input *RegisterInstancesW // // To deregister instances from a load balancer, use DeregisterInstancesFromLoadBalancer. // -// For more information, see Register or De-Register EC2 Instances (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-deregister-register-instances.html) +// For more information, see Register or De-Register EC2 Instances (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-deregister-register-instances.html) // in the Classic Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2497,7 +2497,7 @@ func (c *ELB) SetLoadBalancerListenerSSLCertificateRequest(input *SetLoadBalance // the same load balancer and port. // // For more information about updating your SSL certificate, see Replace the -// SSL Certificate for Your Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-update-ssl-cert.html) +// SSL Certificate for Your Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-update-ssl-cert.html) // in the Classic Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2605,9 +2605,9 @@ func (c *ELB) SetLoadBalancerPoliciesForBackendServerRequest(input *SetLoadBalan // that the policy is associated with the EC2 instance. // // For more information about enabling back-end instance authentication, see -// Configure Back-end Instance Authentication (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-create-https-ssl-load-balancer.html#configure_backendauth_clt) +// Configure Back-end Instance Authentication (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-create-https-ssl-load-balancer.html#configure_backendauth_clt) // in the Classic Load Balancers Guide. For more information about Proxy Protocol, -// see Configure Proxy Protocol Support (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-proxy-protocol.html) +// see Configure Proxy Protocol Support (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-proxy-protocol.html) // in the Classic Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2700,9 +2700,9 @@ func (c *ELB) SetLoadBalancerPoliciesOfListenerRequest(input *SetLoadBalancerPol // To enable back-end server authentication, use SetLoadBalancerPoliciesForBackendServer. // // For more information about setting policies, see Update the SSL Negotiation -// Configuration (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/ssl-config-update.html), -// Duration-Based Session Stickiness (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-duration), -// and Application-Controlled Session Stickiness (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-application) +// Configuration (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/ssl-config-update.html), +// Duration-Based Session Stickiness (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-duration), +// and Application-Controlled Session Stickiness (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-sticky-sessions.html#enable-sticky-sessions-application) // in the Classic Load Balancers Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2899,14 +2899,20 @@ func (s AddTagsOutput) GoString() string { return s.String() } -// This data type is reserved. +// Information about additional load balancer attributes. type AdditionalAttribute struct { _ struct{} `type:"structure"` - // This parameter is reserved. + // The name of the attribute. + // + // The following attribute is supported. + // + // * elb.http.desyncmitigationmode - Determines how the load balancer handles + // requests that might pose a security risk to your application. The possible + // values are monitor, defensive, and strictest. The default is defensive. Key *string `type:"string"` - // This parameter is reserved. + // This value of the attribute. Value *string `type:"string"` } @@ -3509,7 +3515,7 @@ type CreateLoadBalancerInput struct { // The listeners. // - // For more information, see Listeners for Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html) + // For more information, see Listeners for Your Classic Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html) // in the Classic Load Balancers Guide. // // Listeners is a required field @@ -3529,7 +3535,7 @@ type CreateLoadBalancerInput struct { // By default, Elastic Load Balancing creates an Internet-facing load balancer // with a DNS name that resolves to public IP addresses. For more information // about Internet-facing and Internal load balancers, see Load Balancer Scheme - // (http://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#load-balancer-scheme) + // (https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/how-elastic-load-balancing-works.html#load-balancer-scheme) // in the Elastic Load Balancing User Guide. // // Specify internal to create a load balancer with a DNS name that resolves @@ -3546,7 +3552,7 @@ type CreateLoadBalancerInput struct { // A list of tags to assign to the load balancer. // // For more information about tagging your load balancer, see Tag Your Classic - // Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html) + // Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/add-remove-tags.html) // in the Classic Load Balancers Guide. Tags []*Tag `min:"1" type:"list"` } @@ -5166,7 +5172,7 @@ func (s *Limit) SetName(v string) *Limit { // Information about a listener. // // For information about the protocols and the ports supported by Elastic Load -// Balancing, see Listeners for Your Classic Load Balancer (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html) +// Balancing, see Listeners for Your Classic Load Balancer (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-listener-config.html) // in the Classic Load Balancers Guide. type Listener struct { _ struct{} `type:"structure"` @@ -5179,8 +5185,9 @@ type Listener struct { // The protocol to use for routing traffic to instances: HTTP, HTTPS, TCP, or // SSL. // - // If the front-end protocol is HTTP, HTTPS, TCP, or SSL, InstanceProtocol must - // be at the same protocol. + // If the front-end protocol is TCP or SSL, the back-end protocol must be TCP + // or SSL. If the front-end protocol is HTTP or HTTPS, the back-end protocol + // must be HTTP or HTTPS. // // If there is another listener with the same InstancePort whose InstanceProtocol // is secure, (HTTPS or SSL), the listener's InstanceProtocol must also be secure. @@ -5308,17 +5315,17 @@ type LoadBalancerAttributes struct { // If enabled, the load balancer captures detailed information of all requests // and delivers the information to the Amazon S3 bucket that you specify. // - // For more information, see Enable Access Logs (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html) + // For more information, see Enable Access Logs (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html) // in the Classic Load Balancers Guide. AccessLog *AccessLog `type:"structure"` - // This parameter is reserved. + // Any additional attributes. AdditionalAttributes []*AdditionalAttribute `type:"list"` // If enabled, the load balancer allows existing requests to complete before // the load balancer shifts traffic away from a deregistered or unhealthy instance. // - // For more information, see Configure Connection Draining (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html) + // For more information, see Configure Connection Draining (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-conn-drain.html) // in the Classic Load Balancers Guide. ConnectionDraining *ConnectionDraining `type:"structure"` @@ -5327,14 +5334,14 @@ type LoadBalancerAttributes struct { // // By default, Elastic Load Balancing maintains a 60-second idle connection // timeout for both front-end and back-end connections of your load balancer. - // For more information, see Configure Idle Connection Timeout (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html) + // For more information, see Configure Idle Connection Timeout (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/config-idle-timeout.html) // in the Classic Load Balancers Guide. ConnectionSettings *ConnectionSettings `type:"structure"` // If enabled, the load balancer routes the request traffic evenly across all // instances regardless of the Availability Zones. // - // For more information, see Configure Cross-Zone Load Balancing (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html) + // For more information, see Configure Cross-Zone Load Balancing (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-disable-crosszone-lb.html) // in the Classic Load Balancers Guide. CrossZoneLoadBalancing *CrossZoneLoadBalancing `type:"structure"` } @@ -5421,7 +5428,7 @@ type LoadBalancerDescription struct { // The DNS name of the load balancer. // - // For more information, see Configure a Custom Domain Name (http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/using-domain-names-with-elb.html) + // For more information, see Configure a Custom Domain Name (https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/using-domain-names-with-elb.html) // in the Classic Load Balancers Guide. CanonicalHostedZoneName *string `type:"string"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/elb/doc.go b/vendor/github.com/aws/aws-sdk-go/service/elb/doc.go index 0b93ed4740be..5fa8e5154e58 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elb/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elb/doc.go @@ -15,7 +15,7 @@ // Elastic Load Balancing supports three types of load balancers: Application // Load Balancers, Network Load Balancers, and Classic Load Balancers. You can // select a load balancer based on your application needs. For more information, -// see the Elastic Load Balancing User Guide (http://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/). +// see the Elastic Load Balancing User Guide (https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/). // // This reference covers the 2012-06-01 API, which supports Classic Load Balancers. // The 2015-12-01 API supports Application Load Balancers and Network Load Balancers. diff --git a/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go b/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go index de56e7e95a88..2777c6362894 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/elbv2/api.go @@ -533,6 +533,7 @@ func (c *ELBV2) CreateRuleRequest(input *CreateRuleInput) (req *request.Request, // Creates a rule for the specified listener. The listener must be associated // with an Application Load Balancer. // +// Each rule consists of a priority, one or more actions, and one or more conditions. // Rules are evaluated in priority order, from the lowest value to the highest // value. When the conditions for a rule are met, its actions are performed. // If the conditions for no rules are met, the actions for the default rule @@ -947,6 +948,8 @@ func (c *ELBV2) DeleteRuleRequest(input *DeleteRuleInput) (req *request.Request, // // Deletes the specified rule. // +// You can't delete the default rule. +// // 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. @@ -3432,6 +3435,9 @@ func (c *ELBV2) SetSubnetsWithContext(ctx aws.Context, input *SetSubnetsInput, o } // Information about an action. +// +// Each rule must include exactly one of the following types of actions: forward, +// fixed-response, or redirect, and it must be the last action to be performed. type Action struct { _ struct{} `type:"structure"` @@ -3455,9 +3461,7 @@ type Action struct { ForwardConfig *ForwardActionConfig `type:"structure"` // The order for the action. This value is required for rules with multiple - // actions. The action with the lowest value for order is performed first. The - // last action to be performed must be one of the following types of actions: - // a forward, fixed-response, or redirect. + // actions. The action with the lowest value for order is performed first. Order *int64 `min:"1" type:"integer"` // [Application Load Balancer] Information for creating a redirect action. Specify @@ -4549,9 +4553,10 @@ type CreateRuleInput struct { // Actions is a required field Actions []*Action `type:"list" required:"true"` - // The conditions. Each rule can include zero or one of the following conditions: - // http-request-method, host-header, path-pattern, and source-ip, and zero or - // more of the following conditions: http-header and query-string. + // The conditions. Each rule can optionally include up to one of each of the + // following conditions: http-request-method, host-header, path-pattern, and + // source-ip. Each rule can also optionally include one or more of each of the + // following conditions: http-header and query-string. // // Conditions is a required field Conditions []*RuleCondition `type:"list" required:"true"` @@ -4734,8 +4739,7 @@ type CreateTargetGroupInput struct { // one target type. // // * instance - Targets are specified by instance ID. This is the default - // value. If the target group protocol is UDP or TCP_UDP, the target type - // must be instance. + // value. // // * ip - Targets are specified by IP address. You can specify IP addresses // from the subnets of the virtual private cloud (VPC) for the target group, @@ -6678,6 +6682,11 @@ type LoadBalancerAttribute struct { // * idle_timeout.timeout_seconds - The idle timeout value, in seconds. The // valid range is 1-4000 seconds. The default is 60 seconds. // + // * routing.http.desync_mitigation_mode - Determines how the load balancer + // handles requests that might pose a security risk to your application. + // The possible values are monitor, defensive, and strictest. The default + // is defensive. + // // * routing.http.drop_invalid_header_fields.enabled - Indicates whether // HTTP headers with invalid header fields are removed by the load balancer // (true) or routed to targets (false). The default is false. @@ -7286,7 +7295,9 @@ type ModifyTargetGroupInput struct { HealthyThresholdCount *int64 `min:"2" type:"integer"` // [HTTP/HTTPS health checks] The HTTP codes to use when checking for a successful - // response from a target. + // response from a target. The possible values are from 200 to 499. You can + // specify multiple values (for example, "200,202") or a range of values (for + // example, "200-299"). The default is 200. // // With Network Load Balancers, you can't modify this setting. Matcher *Matcher `type:"structure"` @@ -7925,6 +7936,11 @@ func (s *Rule) SetRuleArn(v string) *Rule { } // Information about a condition for a rule. +// +// Each rule can optionally include up to one of each of the following conditions: +// http-request-method, host-header, path-pattern, and source-ip. Each rule +// can also optionally include one or more of each of the following conditions: +// http-header and query-string. type RuleCondition struct { _ struct{} `type:"structure"` @@ -7961,13 +7977,14 @@ type RuleCondition struct { // Information for a source IP condition. Specify only when Field is source-ip. SourceIpConfig *SourceIpConditionConfig `type:"structure"` - // The condition value. You can use Values if the rule contains only host-header - // and path-pattern conditions. Otherwise, you can use HostHeaderConfig for - // host-header conditions and PathPatternConfig for path-pattern conditions. + // The condition value. Specify only when Field is host-header or path-pattern. + // Alternatively, to specify multiple host names or multiple path patterns, + // use HostHeaderConfig or PathPatternConfig. // - // If Field is host-header, you can specify a single host name (for example, - // my.example.com). A host name is case insensitive, can be up to 128 characters - // in length, and can contain any of the following characters. + // If Field is host-header and you are not using HostHeaderConfig, you can specify + // a single host name (for example, my.example.com) in Values. A host name is + // case insensitive, can be up to 128 characters in length, and can contain + // any of the following characters. // // * A-Z, a-z, 0-9 // @@ -7977,9 +7994,10 @@ type RuleCondition struct { // // * ? (matches exactly 1 character) // - // If Field is path-pattern, you can specify a single path pattern (for example, - // /img/*). A path pattern is case-sensitive, can be up to 128 characters in - // length, and can contain any of the following characters. + // If Field is path-pattern and you are not using PathPatternConfig, you can + // specify a single path pattern (for example, /img/*) in Values. A path pattern + // is case-sensitive, can be up to 128 characters in length, and can contain + // any of the following characters. // // * A-Z, a-z, 0-9 // @@ -8892,8 +8910,8 @@ type TargetGroupAttribute struct { // * slow_start.duration_seconds - The time period, in seconds, during which // a newly registered target receives an increasing share of the traffic // to the target group. After this time period ends, the target receives - // its full share of traffic. The range is 30-900 seconds (15 minutes). Slow - // start mode is disabled by default. + // its full share of traffic. The range is 30-900 seconds (15 minutes). The + // default is 0 seconds (disabled). // // * stickiness.lb_cookie.duration_seconds - The time period, in seconds, // during which requests from a client should be routed to the same target. diff --git a/vendor/github.com/aws/aws-sdk-go/service/fsx/api.go b/vendor/github.com/aws/aws-sdk-go/service/fsx/api.go index 12c80deb9fca..41919d1cd99c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/fsx/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/fsx/api.go @@ -167,7 +167,7 @@ func (c *FSx) CreateBackupRequest(input *CreateBackupInput) (req *request.Reques // // * a Persistent deployment type // -// * is not linked to an Amazon S3 data respository. +// * is not linked to a data respository. // // For more information about backing up Amazon FSx for Lustre file systems, // see Working with FSx for Lustre backups (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html). @@ -2026,13 +2026,23 @@ type Backup struct { // FileSystem is a required field FileSystem *FileSystem `type:"structure" required:"true"` - // The ID of the AWS Key Management Service (AWS KMS) key used to encrypt this - // backup of the Amazon FSx for Windows file system's data at rest. Amazon FSx - // for Lustre does not support KMS encryption. + // The ID of the AWS Key Management Service (AWS KMS) key used to encrypt the + // backup of the Amazon FSx file system's data at rest. KmsKeyId *string `min:"1" type:"string"` // The lifecycle status of the backup. // + // * AVAILABLE - The backup is fully available. + // + // * CREATING - FSx is creating the backup. + // + // * TRANSFERRING - For Lustre file systems only; FSx is transferring the + // backup to S3. + // + // * DELETED - The backup was deleted is no longer available. + // + // * FAILED - Amazon FSx could not complete the backup. + // // Lifecycle is a required field Lifecycle *string `type:"string" required:"true" enum:"BackupLifecycle"` @@ -2564,9 +2574,9 @@ func (s *CompletionReport) SetScope(v string) *CompletionReport { type CreateBackupInput struct { _ struct{} `type:"structure"` - // A string of up to 64 ASCII characters that Amazon FSx uses to ensure idempotent - // creation. This string is automatically filled on your behalf when you use - // the AWS Command Line Interface (AWS CLI) or an AWS SDK. + // (Optional) A string of up to 64 ASCII characters that Amazon FSx uses to + // ensure idempotent creation. This string is automatically filled on your behalf + // when you use the AWS Command Line Interface (AWS CLI) or an AWS SDK. ClientRequestToken *string `min:"1" type:"string" idempotencyToken:"true"` // The ID of the file system to back up. @@ -2574,10 +2584,10 @@ type CreateBackupInput struct { // FileSystemId is a required field FileSystemId *string `min:"11" type:"string" required:"true"` - // The tags to apply to the backup at backup creation. The key value of the - // Name tag appears in the console as the backup name. If you have set CopyTagsToBackups - // to true, and you specify one or more tags using the CreateBackup action, - // no existing tags on the file system are copied from the file system to the + // (Optional) The tags to apply to the backup at backup creation. The key value + // of the Name tag appears in the console as the backup name. If you have set + // CopyTagsToBackups to true, and you specify one or more tags using the CreateBackup + // action, no existing file system tags are copied from the file system to the // backup. Tags []*Tag `min:"1" type:"list"` } @@ -3041,11 +3051,15 @@ type CreateFileSystemInput struct { // // For Lustre file systems: // - // * For SCRATCH_2 and PERSISTENT_1 deployment types, valid values are 1.2, - // 2.4, and increments of 2.4 TiB. + // * For SCRATCH_2 and PERSISTENT_1 SSD deployment types, valid values are + // 1200 GiB, 2400 GiB, and increments of 2400 GiB. // - // * For SCRATCH_1 deployment type, valid values are 1.2, 2.4, and increments - // of 3.6 TiB. + // * For PERSISTENT HDD file systems, valid values are increments of 6000 + // GiB for 12 MB/s/TiB file systems and increments of 1800 GiB for 40 MB/s/TiB + // file systems. + // + // * For SCRATCH_1 deployment type, valid values are 1200 GiB, 2400 GiB, + // and increments of 3600 GiB. // // For Windows file systems: // @@ -3056,17 +3070,19 @@ type CreateFileSystemInput struct { // StorageCapacity is a required field StorageCapacity *int64 `type:"integer" required:"true"` - // Sets the storage type for the Amazon FSx for Windows file system you're creating. - // Valid values are SSD and HDD. + // Sets the storage type for the file system you're creating. Valid values are + // SSD and HDD. // // * Set to SSD to use solid state drive storage. SSD is supported on all - // Windows deployment types. + // Windows and Lustre deployment types. // // * Set to HDD to use hard disk drive storage. HDD is supported on SINGLE_AZ_2 - // and MULTI_AZ_1 Windows file system deployment types. + // and MULTI_AZ_1 Windows file system deployment types, and on PERSISTENT + // Lustre file system deployment types. // // Default value is SSD. For more information, see Storage Type Options (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/optimize-fsx-costs.html#storage-type-options) - // in the Amazon FSx for Windows User Guide. + // in the Amazon FSx for Windows User Guide and Multiple Storage Options (https://docs.aws.amazon.com/fsx/latest/LustreGuide/what-is.html#storage-options) + // in the Amazon FSx for Lustre User Guide. StorageType *string `type:"string" enum:"StorageType"` // Specifies the IDs of the subnets that the file system will be accessible @@ -3212,26 +3228,24 @@ func (s *CreateFileSystemInput) SetWindowsConfiguration(v *CreateFileSystemWindo type CreateFileSystemLustreConfiguration struct { _ struct{} `type:"structure"` - // (Optional) Use this property to configure the AutoImport feature on the file - // system's linked Amazon S3 data repository. You use AutoImport to update the - // contents of your FSx for Lustre file system automatically with changes that - // occur in the linked S3 data repository. AutoImportPolicy can have the following - // values: + // (Optional) When you create your file system, your existing S3 objects appear + // as file and directory listings. Use this property to choose how Amazon FSx + // keeps your file and directory listings up to date as you add or modify objects + // in your linked S3 bucket. AutoImportPolicy can have the following values: // - // * NONE - (Default) AutoImport is off. Changes in the linked data repository - // are not reflected on the FSx file system. + // * NONE - (Default) AutoImport is off. Amazon FSx only updates file and + // directory listings from the linked S3 bucket when the file system is created. + // FSx does not update file and directory listings for any new or changed + // objects after choosing this option. // - // * NEW - AutoImport is on. New files in the linked data repository that - // do not currently exist in the FSx file system are automatically imported. - // Updates to existing FSx files are not imported to the FSx file system. - // Files deleted from the linked data repository are not deleted from the - // FSx file system. + // * NEW - AutoImport is on. Amazon FSx automatically imports directory listings + // of any new objects added to the linked S3 bucket that do not currently + // exist in the FSx file system. // - // * NEW_CHANGED - AutoImport is on. New files in the linked S3 data repository - // that do not currently exist in the FSx file system are automatically imported. - // Changes to existing FSx files in the linked repository are also automatically - // imported to the FSx file system. Files deleted from the linked data repository - // are not deleted from the FSx file system. + // * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports file + // and directory listings of any new objects added to the S3 bucket and any + // existing objects that are changed in the S3 bucket after you choose this + // option. // // For more information, see Automatically import updates from your S3 bucket // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html). @@ -3242,13 +3256,14 @@ type CreateFileSystemLustreConfiguration struct { // The default is 0. AutomaticBackupRetentionDays *int64 `type:"integer"` - // A boolean flag indicating whether tags for the file system should be copied - // to backups. This value defaults to false. If it's set to true, all tags for - // the file system are copied to all automatic and user-initiated backups where - // the user doesn't specify tags. If this value is true, and you specify one - // or more tags, only the specified tags are copied to backups. If you specify - // one or more tags when creating a user-initiated backup, no tags are copied - // from the file system, regardless of this value. + // (Optional) Not available to use with file systems that are linked to a data + // repository. A boolean flag indicating whether tags for the file system should + // be copied to backups. The default value is false. If it's set to true, all + // file system tags are copied to all automatic and user-initiated backups when + // the user doesn't specify any backup-specific tags. If this value is true, + // and you specify one or more backup tags, only the specified tags are copied + // to backups. If you specify one or more tags when creating a user-initiated + // backup, no tags are copied from the file system, regardless of this value. // // For more information, see Working with backups (https://docs.aws.amazon.com/fsx/latest/LustreGuide/using-backups-fsx.html). CopyTagsToBackups *bool `type:"boolean"` @@ -3322,16 +3337,16 @@ type CreateFileSystemLustreConfiguration struct { // and write throughput for each 1 tebibyte of storage, in MB/s/TiB. File system // throughput capacity is calculated by multiplying file system storage capacity // (TiB) by the PerUnitStorageThroughput (MB/s/TiB). For a 2.4 TiB file system, - // provisioning 50 MB/s/TiB of PerUnitStorageThroughput yields 117 MB/s of file + // provisioning 50 MB/s/TiB of PerUnitStorageThroughput yields 120 MB/s of file // system throughput. You pay for the amount of throughput that you provision. // // Valid values for SSD storage: 50, 100, 200. Valid values for HDD storage: // 12, 40. PerUnitStorageThroughput *int64 `min:"12" type:"integer"` - // The preferred start time to perform weekly maintenance, formatted d:HH:MM - // in the UTC time zone, where d is the weekday number, from 1 through 7, beginning - // with Monday and ending with Sunday. + // (Optional) The preferred start time to perform weekly maintenance, formatted + // d:HH:MM in the UTC time zone, where d is the weekday number, from 1 through + // 7, beginning with Monday and ending with Sunday. WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } @@ -3635,24 +3650,23 @@ type DataRepositoryConfiguration struct { _ struct{} `type:"structure"` // Describes the file system's linked S3 data repository's AutoImportPolicy. - // The AutoImportPolicy configures how your FSx for Lustre file system automatically - // updates its contents with changes that occur in the linked S3 data repository. + // The AutoImportPolicy configures how Amazon FSx keeps your file and directory + // listings up to date as you add or modify objects in your linked S3 bucket. // AutoImportPolicy can have the following values: // - // * NONE - (Default) AutoImport is off. Changes in the linked data repository - // are not reflected on the FSx file system. + // * NONE - (Default) AutoImport is off. Amazon FSx only updates file and + // directory listings from the linked S3 bucket when the file system is created. + // FSx does not update file and directory listings for any new or changed + // objects after choosing this option. // - // * NEW - AutoImport is on. New files in the linked data repository that - // do not currently exist in the FSx file system are automatically imported. - // Updates to existing FSx files are not imported to the FSx file system. - // Files deleted from the linked data repository are not deleted from the - // FSx file system. + // * NEW - AutoImport is on. Amazon FSx automatically imports directory listings + // of any new objects added to the linked S3 bucket that do not currently + // exist in the FSx file system. // - // * NEW_CHANGED - AutoImport is on. New files in the linked S3 data repository - // that do not currently exist in the FSx file system are automatically imported. - // Changes to existing FSx files in the linked repository are also automatically - // imported to the FSx file system. Files deleted from the linked data repository - // are not deleted from the FSx file system. + // * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports file + // and directory listings of any new objects added to the S3 bucket and any + // existing objects that are changed in the S3 bucket after you choose this + // option. // // For more information, see Automatically import updates from your S3 bucket // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html). @@ -6908,26 +6922,24 @@ func (s *UpdateFileSystemInput) SetWindowsConfiguration(v *UpdateFileSystemWindo type UpdateFileSystemLustreConfiguration struct { _ struct{} `type:"structure"` - // (Optional) Use this property to configure the AutoImport feature on the file - // system's linked Amazon S3 data repository. You use AutoImport to update the - // contents of your FSx for Lustre file system automatically with changes that - // occur in the linked S3 data repository. AutoImportPolicy can have the following - // values: + // (Optional) When you create your file system, your existing S3 objects appear + // as file and directory listings. Use this property to choose how Amazon FSx + // keeps your file and directory listing up to date as you add or modify objects + // in your linked S3 bucket. AutoImportPolicy can have the following values: // - // * NONE - (Default) AutoImport is off. Changes in the linked data repository - // are not reflected on the FSx file system. + // * NONE - (Default) AutoImport is off. Amazon FSx only updates file and + // directory listings from the linked S3 bucket when the file system is created. + // FSx does not update the file and directory listing for any new or changed + // objects after choosing this option. // - // * NEW - AutoImport is on. New files in the linked data repository that - // do not currently exist in the FSx file system are automatically imported. - // Updates to existing FSx files are not imported to the FSx file system. - // Files deleted from the linked data repository are not deleted from the - // FSx file system. + // * NEW - AutoImport is on. Amazon FSx automatically imports directory listings + // of any new objects added to the linked S3 bucket that do not currently + // exist in the FSx file system. // - // * NEW_CHANGED - AutoImport is on. New files in the linked S3 data repository - // that do not currently exist in the FSx file system are automatically imported. - // Changes to existing FSx files in the linked repository are also automatically - // imported to the FSx file system. Files deleted from the linked data repository - // are not deleted from the FSx file system. + // * NEW_CHANGED - AutoImport is on. Amazon FSx automatically imports file + // and directory listings of any new objects added to the S3 bucket and any + // existing objects that are changed in the S3 bucket after you choose this + // option. // // For more information, see Automatically import updates from your S3 bucket // (https://docs.aws.amazon.com/fsx/latest/LustreGuide/autoimport-data-repo.html). @@ -6943,9 +6955,9 @@ type UpdateFileSystemLustreConfiguration struct { // 05:00 specifies 5 AM daily. DailyAutomaticBackupStartTime *string `min:"5" type:"string"` - // The preferred start time to perform weekly maintenance, formatted d:HH:MM - // in the UTC time zone. d is the weekday number, from 1 through 7, beginning - // with Monday and ending with Sunday. + // (Optional) The preferred start time to perform weekly maintenance, formatted + // d:HH:MM in the UTC time zone. d is the weekday number, from 1 through 7, + // beginning with Monday and ending with Sunday. WeeklyMaintenanceStartTime *string `min:"7" type:"string"` } @@ -7372,6 +7384,17 @@ func AutoImportPolicyType_Values() []string { } // The lifecycle status of the backup. +// +// * AVAILABLE - The backup is fully available. +// +// * CREATING - FSx is creating the new user-intiated backup +// +// * TRANSFERRING - For user-initiated backups on Lustre file systems only; +// FSx is backing up the file system. +// +// * DELETED - The backup was deleted is no longer available. +// +// * FAILED - Amazon FSx could not complete the backup. const ( // BackupLifecycleAvailable is a BackupLifecycle enum value BackupLifecycleAvailable = "AVAILABLE" diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go b/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go index c954dd111602..4a24daca99f3 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesis/api.go @@ -174,8 +174,8 @@ func (c *Kinesis) CreateStreamRequest(input *CreateStreamInput) (req *request.Re // // You specify and control the number of shards that a stream is composed of. // Each shard can support reads up to five transactions per second, up to a -// maximum data read total of 2 MB per second. Each shard can support writes -// up to 1,000 records per second, up to a maximum data write total of 1 MB +// maximum data read total of 2 MiB per second. Each shard can support writes +// up to 1,000 records per second, up to a maximum data write total of 1 MiB // per second. If the amount of data input increases or decreases, you can add // or remove shards. // @@ -198,9 +198,9 @@ func (c *Kinesis) CreateStreamRequest(input *CreateStreamInput) (req *request.Re // * Create more shards than are authorized for your account. // // For the default shard limit for an AWS account, see Amazon Kinesis Data Streams -// Limits (http://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) +// Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide. To increase this limit, -// contact AWS Support (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html). +// contact AWS Support (https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html). // // You can use DescribeStream to check the stream status, which is returned // in StreamStatus. @@ -510,7 +510,7 @@ func (c *Kinesis) DeregisterStreamConsumerRequest(input *DeregisterStreamConsume // with a given data stream. The description of a consumer contains its name // and ARN. // -// This operation has a limit of five transactions per second per account. +// This operation has a limit of five transactions per second per stream. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -700,7 +700,7 @@ func (c *Kinesis) DescribeStreamRequest(input *DescribeStreamInput) (req *reques // the record is put into the stream. // // You can limit the number of shards returned by each call. For more information, -// see Retrieving Shards from a Stream (http://docs.aws.amazon.com/kinesis/latest/dev/kinesis-using-sdk-java-retrieve-shards.html) +// see Retrieving Shards from a Stream (https://docs.aws.amazon.com/kinesis/latest/dev/kinesis-using-sdk-java-retrieve-shards.html) // in the Amazon Kinesis Data Streams Developer Guide. // // There are no guarantees about the chronological order shards returned. To @@ -851,7 +851,7 @@ func (c *Kinesis) DescribeStreamConsumerRequest(input *DescribeStreamConsumerInp // the ListStreamConsumers operation to get a list of the descriptions of all // the consumers that are currently registered with a given data stream. // -// This operation has a limit of 20 transactions per second per account. +// This operation has a limit of 20 transactions per second per stream. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -946,6 +946,8 @@ func (c *Kinesis) DescribeStreamSummaryRequest(input *DescribeStreamSummaryInput // status, record retention period, approximate creation time, monitoring, encryption // details, and open shard count. // +// DescribeStreamSummary has a limit of 20 transactions per second per account. +// // 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. @@ -1223,7 +1225,7 @@ func (c *Kinesis) GetRecordsRequest(input *GetRecordsInput) (req *request.Reques // // You can scale by provisioning multiple shards per stream while considering // service limits (for more information, see Amazon Kinesis Data Streams Limits -// (http://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) +// (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide). Your application should // have one thread per shard, each reading continuously from its stream. To // read from a stream continually, call GetRecords in a loop. Use GetShardIterator @@ -1254,7 +1256,7 @@ func (c *Kinesis) GetRecordsRequest(input *GetRecordsInput) (req *request.Reques // // To detect whether the application is falling behind in processing, you can // use the MillisBehindLatest response attribute. You can also monitor the stream -// using CloudWatch metrics and other mechanisms (see Monitoring (http://docs.aws.amazon.com/kinesis/latest/dev/monitoring.html) +// using CloudWatch metrics and other mechanisms (see Monitoring (https://docs.aws.amazon.com/kinesis/latest/dev/monitoring.html) // in the Amazon Kinesis Data Streams Developer Guide). // // Each Amazon Kinesis record includes a value, ApproximateArrivalTimestamp, @@ -1267,7 +1269,7 @@ func (c *Kinesis) GetRecordsRequest(input *GetRecordsInput) (req *request.Reques // always increasing. For example, records in a shard or across a stream might // have time stamps that are out of order. // -// This operation has a limit of five transactions per second per account. +// This operation has a limit of five transactions per second per shard. // // 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 @@ -1288,9 +1290,9 @@ func (c *Kinesis) GetRecordsRequest(input *GetRecordsInput) (req *request.Reques // * ProvisionedThroughputExceededException // The request rate for the stream is too high, or the requested data is too // large for the available throughput. Reduce the frequency or size of your -// requests. For more information, see Streams Limits (http://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) +// requests. For more information, see Streams Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide, and Error Retries and -// Exponential Backoff in AWS (http://docs.aws.amazon.com/general/latest/gr/api-retries.html) +// Exponential Backoff in AWS (https://docs.aws.amazon.com/general/latest/gr/api-retries.html) // in the AWS General Reference. // // * ExpiredIteratorException @@ -1303,7 +1305,7 @@ func (c *Kinesis) GetRecordsRequest(input *GetRecordsInput) (req *request.Reques // * KMSInvalidStateException // The request was rejected because the state of the specified resource isn't // valid for this request. For more information, see How Key State Affects Use -// of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // * KMSAccessDeniedException @@ -1319,7 +1321,7 @@ func (c *Kinesis) GetRecordsRequest(input *GetRecordsInput) (req *request.Reques // // * KMSThrottlingException // The request was denied due to request throttling. For more information about -// throttling, see Limits (http://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) +// throttling, see Limits (https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) // in the AWS Key Management Service Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/GetRecords @@ -1418,7 +1420,7 @@ func (c *Kinesis) GetShardIteratorRequest(input *GetShardIteratorInput) (req *re // // If a GetShardIterator request is made too often, you receive a ProvisionedThroughputExceededException. // For more information about throughput limits, see GetRecords, and Streams -// Limits (http://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) +// Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide. // // If the shard is closed, GetShardIterator returns a valid iterator for the @@ -1447,9 +1449,9 @@ func (c *Kinesis) GetShardIteratorRequest(input *GetShardIteratorInput) (req *re // * ProvisionedThroughputExceededException // The request rate for the stream is too high, or the requested data is too // large for the available throughput. Reduce the frequency or size of your -// requests. For more information, see Streams Limits (http://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) +// requests. For more information, see Streams Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide, and Error Retries and -// Exponential Backoff in AWS (http://docs.aws.amazon.com/general/latest/gr/api-retries.html) +// Exponential Backoff in AWS (https://docs.aws.amazon.com/general/latest/gr/api-retries.html) // in the AWS General Reference. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/GetShardIterator @@ -1732,7 +1734,7 @@ func (c *Kinesis) ListStreamConsumersRequest(input *ListStreamConsumersInput) (r // Lists the consumers registered to receive data from a stream using enhanced // fan-out, and provides information about each consumer. // -// This operation has a limit of 10 transactions per second per account. +// This operation has a limit of 5 transactions per second per stream. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2135,7 +2137,7 @@ func (c *Kinesis) MergeShardsRequest(input *MergeShardsInput) (req *request.Requ // MergeShards is called when there is a need to reduce the overall capacity // of a stream because of excess capacity that is not being used. You must specify // the shard to be merged and the adjacent shard for a stream. For more information -// about merging shards, see Merge Two Shards (http://docs.aws.amazon.com/kinesis/latest/dev/kinesis-using-sdk-java-resharding-merge.html) +// about merging shards, see Merge Two Shards (https://docs.aws.amazon.com/kinesis/latest/dev/kinesis-using-sdk-java-resharding-merge.html) // in the Amazon Kinesis Data Streams Developer Guide. // // If the stream is in the ACTIVE state, you can call MergeShards. If a stream @@ -2252,7 +2254,7 @@ func (c *Kinesis) PutRecordRequest(input *PutRecordInput) (req *request.Request, // Writes a single data record into an Amazon Kinesis data stream. Call PutRecord // to send data into the stream for real-time ingestion and subsequent processing, // one record at a time. Each shard can support writes up to 1,000 records per -// second, up to a maximum data write total of 1 MB per second. +// second, up to a maximum data write total of 1 MiB per second. // // You must specify the name of the stream that captures, stores, and transports // the data; a partition key; and the data blob itself. @@ -2270,7 +2272,7 @@ func (c *Kinesis) PutRecordRequest(input *PutRecordInput) (req *request.Request, // integer values and to map associated data records to shards using the hash // key ranges of the shards. You can override hashing the partition key to determine // the shard by explicitly specifying a hash value using the ExplicitHashKey -// parameter. For more information, see Adding Data to a Stream (http://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-sdk.html#kinesis-using-sdk-java-add-data-to-stream) +// parameter. For more information, see Adding Data to a Stream (https://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-sdk.html#kinesis-using-sdk-java-add-data-to-stream) // in the Amazon Kinesis Data Streams Developer Guide. // // PutRecord returns the shard ID of where the data record was placed and the @@ -2279,9 +2281,12 @@ func (c *Kinesis) PutRecordRequest(input *PutRecordInput) (req *request.Request, // Sequence numbers increase over time and are specific to a shard within a // stream, not across all shards within a stream. To guarantee strictly increasing // ordering, write serially to a shard and use the SequenceNumberForOrdering -// parameter. For more information, see Adding Data to a Stream (http://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-sdk.html#kinesis-using-sdk-java-add-data-to-stream) +// parameter. For more information, see Adding Data to a Stream (https://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-sdk.html#kinesis-using-sdk-java-add-data-to-stream) // in the Amazon Kinesis Data Streams Developer Guide. // +// After you write a record to a stream, you cannot modify that record or its +// order within the stream. +// // If a PutRecord request cannot be processed because of insufficient provisioned // throughput on the shard involved in the request, PutRecord throws ProvisionedThroughputExceededException. // @@ -2308,9 +2313,9 @@ func (c *Kinesis) PutRecordRequest(input *PutRecordInput) (req *request.Request, // * ProvisionedThroughputExceededException // The request rate for the stream is too high, or the requested data is too // large for the available throughput. Reduce the frequency or size of your -// requests. For more information, see Streams Limits (http://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) +// requests. For more information, see Streams Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide, and Error Retries and -// Exponential Backoff in AWS (http://docs.aws.amazon.com/general/latest/gr/api-retries.html) +// Exponential Backoff in AWS (https://docs.aws.amazon.com/general/latest/gr/api-retries.html) // in the AWS General Reference. // // * KMSDisabledException @@ -2320,7 +2325,7 @@ func (c *Kinesis) PutRecordRequest(input *PutRecordInput) (req *request.Request, // * KMSInvalidStateException // The request was rejected because the state of the specified resource isn't // valid for this request. For more information, see How Key State Affects Use -// of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // * KMSAccessDeniedException @@ -2336,7 +2341,7 @@ func (c *Kinesis) PutRecordRequest(input *PutRecordInput) (req *request.Request, // // * KMSThrottlingException // The request was denied due to request throttling. For more information about -// throttling, see Limits (http://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) +// throttling, see Limits (https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) // in the AWS Key Management Service Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/PutRecord @@ -2410,9 +2415,9 @@ func (c *Kinesis) PutRecordsRequest(input *PutRecordsInput) (req *request.Reques // into the stream for data ingestion and processing. // // Each PutRecords request can support up to 500 records. Each record in the -// request can be as large as 1 MB, up to a limit of 5 MB for the entire request, +// request can be as large as 1 MiB, up to a limit of 5 MiB for the entire request, // including partition keys. Each shard can support writes up to 1,000 records -// per second, up to a maximum data write total of 1 MB per second. +// per second, up to a maximum data write total of 1 MiB per second. // // You must specify the name of the stream that captures, stores, and transports // the data; and an array of request Records, with each record in the array @@ -2427,13 +2432,13 @@ func (c *Kinesis) PutRecordsRequest(input *PutRecordsInput) (req *request.Reques // hash function is used to map partition keys to 128-bit integer values and // to map associated data records to shards. As a result of this hashing mechanism, // all data records with the same partition key map to the same shard within -// the stream. For more information, see Adding Data to a Stream (http://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-sdk.html#kinesis-using-sdk-java-add-data-to-stream) +// the stream. For more information, see Adding Data to a Stream (https://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-sdk.html#kinesis-using-sdk-java-add-data-to-stream) // in the Amazon Kinesis Data Streams Developer Guide. // // Each record in the Records array may include an optional parameter, ExplicitHashKey, // which overrides the partition key to shard mapping. This parameter allows // a data producer to determine explicitly the shard where the record is stored. -// For more information, see Adding Multiple Records with PutRecords (http://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-sdk.html#kinesis-using-sdk-java-putrecords) +// For more information, see Adding Multiple Records with PutRecords (https://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-sdk.html#kinesis-using-sdk-java-putrecords) // in the Amazon Kinesis Data Streams Developer Guide. // // The PutRecords response includes an array of response Records. Each record @@ -2445,7 +2450,10 @@ func (c *Kinesis) PutRecordsRequest(input *PutRecordsInput) (req *request.Reques // The response Records array includes both successfully and unsuccessfully // processed records. Kinesis Data Streams attempts to process all records in // each PutRecords request. A single record failure does not stop the processing -// of subsequent records. +// of subsequent records. As a result, PutRecords doesn't guarantee the ordering +// of records. If you need to read records in the same order they are written +// to the stream, use PutRecord instead of PutRecords, and write to the same +// shard. // // A successfully processed record includes ShardId and SequenceNumber values. // The ShardId parameter identifies the shard in the stream where the record @@ -2458,9 +2466,12 @@ func (c *Kinesis) PutRecordsRequest(input *PutRecordsInput) (req *request.Reques // more detailed information about the ProvisionedThroughputExceededException // exception including the account ID, stream name, and shard ID of the record // that was throttled. For more information about partially successful responses, -// see Adding Multiple Records with PutRecords (http://docs.aws.amazon.com/kinesis/latest/dev/kinesis-using-sdk-java-add-data-to-stream.html#kinesis-using-sdk-java-putrecords) +// see Adding Multiple Records with PutRecords (https://docs.aws.amazon.com/kinesis/latest/dev/kinesis-using-sdk-java-add-data-to-stream.html#kinesis-using-sdk-java-putrecords) // in the Amazon Kinesis Data Streams Developer Guide. // +// After you write a record to a stream, you cannot modify that record or its +// order within the stream. +// // By default, data records are accessible for 24 hours from the time that they // are added to a stream. You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod // to modify this retention period. @@ -2484,9 +2495,9 @@ func (c *Kinesis) PutRecordsRequest(input *PutRecordsInput) (req *request.Reques // * ProvisionedThroughputExceededException // The request rate for the stream is too high, or the requested data is too // large for the available throughput. Reduce the frequency or size of your -// requests. For more information, see Streams Limits (http://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) +// requests. For more information, see Streams Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide, and Error Retries and -// Exponential Backoff in AWS (http://docs.aws.amazon.com/general/latest/gr/api-retries.html) +// Exponential Backoff in AWS (https://docs.aws.amazon.com/general/latest/gr/api-retries.html) // in the AWS General Reference. // // * KMSDisabledException @@ -2496,7 +2507,7 @@ func (c *Kinesis) PutRecordsRequest(input *PutRecordsInput) (req *request.Reques // * KMSInvalidStateException // The request was rejected because the state of the specified resource isn't // valid for this request. For more information, see How Key State Affects Use -// of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // * KMSAccessDeniedException @@ -2512,7 +2523,7 @@ func (c *Kinesis) PutRecordsRequest(input *PutRecordsInput) (req *request.Reques // // * KMSThrottlingException // The request was denied due to request throttling. For more information about -// throttling, see Limits (http://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) +// throttling, see Limits (https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) // in the AWS Key Management Service Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/PutRecords @@ -2582,14 +2593,22 @@ func (c *Kinesis) RegisterStreamConsumerRequest(input *RegisterStreamConsumerInp // RegisterStreamConsumer API operation for Amazon Kinesis. // // Registers a consumer with a Kinesis data stream. When you use this operation, -// the consumer you register can read data from the stream at a rate of up to -// 2 MiB per second. This rate is unaffected by the total number of consumers -// that read from the same stream. +// the consumer you register can then call SubscribeToShard to receive data +// from the stream using enhanced fan-out, at a rate of up to 2 MiB per second +// for every shard you subscribe to. This rate is unaffected by the total number +// of consumers that read from the same stream. +// +// You can register up to 20 consumers per stream. A given consumer can only +// be registered with one stream at a time. // -// You can register up to 5 consumers per stream. A given consumer can only -// be registered with one stream. +// For an example of how to use this operations, see Enhanced Fan-Out Using +// the Kinesis Data Streams API (/streams/latest/dev/building-enhanced-consumers-api.html). // -// This operation has a limit of five transactions per second per account. +// The use of this operation has a limit of five transactions per second per +// account. Also, only 5 consumers can be created simultaneously. In other words, +// you cannot have more than 5 consumers in a CREATING status at the same time. +// Registering a 6th consumer while there are 5 in a CREATING status results +// in a LimitExceededException. // // 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 @@ -2795,7 +2814,7 @@ func (c *Kinesis) SplitShardRequest(input *SplitShardInput) (req *request.Reques // position in the shard where the shard gets split in two. In many cases, the // new hash key might be the average of the beginning and ending hash key, but // it can be any hash key value in the range being mapped into the shard. For -// more information, see Split a Shard (http://docs.aws.amazon.com/kinesis/latest/dev/kinesis-using-sdk-java-resharding-split.html) +// more information, see Split a Shard (https://docs.aws.amazon.com/kinesis/latest/dev/kinesis-using-sdk-java-resharding-split.html) // in the Amazon Kinesis Data Streams Developer Guide. // // You can use DescribeStream to determine the shard ID and hash key values @@ -2818,9 +2837,9 @@ func (c *Kinesis) SplitShardRequest(input *SplitShardInput) (req *request.Reques // receive a LimitExceededException. // // For the default shard limit for an AWS account, see Kinesis Data Streams -// Limits (http://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) +// Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide. To increase this limit, -// contact AWS Support (http://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html). +// contact AWS Support (https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html). // // If you try to operate on too many streams simultaneously using CreateStream, // DeleteStream, MergeShards, and/or SplitShard, you receive a LimitExceededException. @@ -2969,7 +2988,7 @@ func (c *Kinesis) StartStreamEncryptionRequest(input *StartStreamEncryptionInput // * KMSInvalidStateException // The request was rejected because the state of the specified resource isn't // valid for this request. For more information, see How Key State Affects Use -// of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. // // * KMSAccessDeniedException @@ -2985,7 +3004,7 @@ func (c *Kinesis) StartStreamEncryptionRequest(input *StartStreamEncryptionInput // // * KMSThrottlingException // The request was denied due to request throttling. For more information about -// throttling, see Limits (http://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) +// throttling, see Limits (https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) // in the AWS Key Management Service Developer Guide. // // See also, https://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/StartStreamEncryption @@ -3175,17 +3194,31 @@ func (c *Kinesis) SubscribeToShardRequest(input *SubscribeToShardInput) (req *re // SubscribeToShard API operation for Amazon Kinesis. // -// Call this operation from your consumer after you call RegisterStreamConsumer -// to register the consumer with Kinesis Data Streams. If the call succeeds, -// your consumer starts receiving events of type SubscribeToShardEvent for up -// to 5 minutes, after which time you need to call SubscribeToShard again to -// renew the subscription if you want to continue to receive records. +// This operation establishes an HTTP/2 connection between the consumer you +// specify in the ConsumerARN parameter and the shard you specify in the ShardId +// parameter. After the connection is successfully established, Kinesis Data +// Streams pushes records from the shard to the consumer over this connection. +// Before you call this operation, call RegisterStreamConsumer to register the +// consumer with Kinesis Data Streams. // -// You can make one call to SubscribeToShard per second per ConsumerARN. If -// your call succeeds, and then you call the operation again less than 5 seconds -// later, the second call generates a ResourceInUseException. If you call the -// operation a second time more than 5 seconds after the first call succeeds, -// the second call succeeds and the first connection gets shut down. +// When the SubscribeToShard call succeeds, your consumer starts receiving events +// of type SubscribeToShardEvent over the HTTP/2 connection for up to 5 minutes, +// after which time you need to call SubscribeToShard again to renew the subscription +// if you want to continue to receive records. +// +// You can make one call to SubscribeToShard per second per registered consumer +// per shard. For example, if you have a 4000 shard stream and two registered +// stream consumers, you can make one SubscribeToShard request per second for +// each combination of shard and registered consumer, allowing you to subscribe +// both consumers to all 4000 shards in one second. +// +// If you call SubscribeToShard again with the same ConsumerARN and ShardId +// within 5 seconds of a successful call, you'll get a ResourceInUseException. +// If you call SubscribeToShard 5 seconds or more after a successful call, the +// first connection will expire and the second call will take over the subscription. +// +// For an example of how to use this operations, see Enhanced Fan-Out Using +// the Kinesis Data Streams API (/streams/latest/dev/building-enhanced-consumers-api.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -3494,13 +3527,18 @@ func (c *Kinesis) UpdateShardCountRequest(input *UpdateShardCountInput) (req *re // // To update the shard count, Kinesis Data Streams performs splits or merges // on individual shards. This can cause short-lived shards to be created, in -// addition to the final shards. We recommend that you double or halve the shard -// count, as this results in the fewest number of splits or merges. +// addition to the final shards. These short-lived shards count towards your +// total shard limit for your account in the Region. +// +// When using this operation, we recommend that you specify a target shard count +// that is a multiple of 25% (25%, 50%, 75%, 100%). You can specify any target +// value within your shard limit. However, if you specify a target that isn't +// a multiple of 25%, the scaling action might take longer to complete. // // This operation has the following default limits. By default, you cannot do // the following: // -// * Scale more than twice per rolling 24-hour period per stream +// * Scale more than ten times per rolling 24-hour period per stream // // * Scale up to more than double your current shard count for a stream // @@ -3513,7 +3551,7 @@ func (c *Kinesis) UpdateShardCountRequest(input *UpdateShardCountInput) (req *re // // * Scale up to more than the shard limit for your account // -// For the default limits for an AWS account, see Streams Limits (http://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) +// For the default limits for an AWS account, see Streams Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide. To request an increase // in the call rate limit, the shard limit for this API, or your overall shard // limit, use the limits form (https://console.aws.amazon.com/support/v1#/case/create?issueType=service-limit-increase&limitType=service-code-kinesis). @@ -3637,7 +3675,52 @@ func (s AddTagsToStreamOutput) GoString() string { return s.String() } -// An object that represents the details of the consumer you registered. +type ChildShard struct { + _ struct{} `type:"structure"` + + // The range of possible hash key values for the shard, which is a set of ordered + // contiguous positive integers. + // + // HashKeyRange is a required field + HashKeyRange *HashKeyRange `type:"structure" required:"true"` + + // ParentShards is a required field + ParentShards []*string `type:"list" required:"true"` + + // ShardId is a required field + ShardId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s ChildShard) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ChildShard) GoString() string { + return s.String() +} + +// SetHashKeyRange sets the HashKeyRange field's value. +func (s *ChildShard) SetHashKeyRange(v *HashKeyRange) *ChildShard { + s.HashKeyRange = v + return s +} + +// SetParentShards sets the ParentShards field's value. +func (s *ChildShard) SetParentShards(v []*string) *ChildShard { + s.ParentShards = v + return s +} + +// SetShardId sets the ShardId field's value. +func (s *ChildShard) SetShardId(v string) *ChildShard { + s.ShardId = &v + return s +} + +// An object that represents the details of the consumer you registered. This +// type of object is returned by RegisterStreamConsumer. type Consumer struct { _ struct{} `type:"structure"` @@ -3700,7 +3783,8 @@ func (s *Consumer) SetConsumerStatus(v string) *Consumer { return s } -// An object that represents the details of a registered consumer. +// An object that represents the details of a registered consumer. This type +// of object is returned by DescribeStreamConsumer. type ConsumerDescription struct { _ struct{} `type:"structure"` @@ -3782,8 +3866,6 @@ type CreateStreamInput struct { // is a function of the number of shards; more shards are required for greater // provisioned throughput. // - // DefaultShardLimit; - // // ShardCount is a required field ShardCount *int64 `min:"1" type:"integer" required:"true"` @@ -3863,7 +3945,7 @@ type DecreaseStreamRetentionPeriodInput struct { // retention period. // // RetentionPeriodHours is a required field - RetentionPeriodHours *int64 `min:"1" type:"integer" required:"true"` + RetentionPeriodHours *int64 `type:"integer" required:"true"` // The name of the stream to modify. // @@ -3887,9 +3969,6 @@ func (s *DecreaseStreamRetentionPeriodInput) Validate() error { if s.RetentionPeriodHours == nil { invalidParams.Add(request.NewErrParamRequired("RetentionPeriodHours")) } - if s.RetentionPeriodHours != nil && *s.RetentionPeriodHours < 1 { - invalidParams.Add(request.NewErrParamMinValue("RetentionPeriodHours", 1)) - } if s.StreamName == nil { invalidParams.Add(request.NewErrParamRequired("StreamName")) } @@ -4399,7 +4478,7 @@ type DisableEnhancedMonitoringInput struct { // * ALL // // For more information, see Monitoring the Amazon Kinesis Data Streams Service - // with Amazon CloudWatch (http://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html) + // with Amazon CloudWatch (https://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html) // in the Amazon Kinesis Data Streams Developer Guide. // // ShardLevelMetrics is a required field @@ -4481,7 +4560,7 @@ type EnableEnhancedMonitoringInput struct { // * ALL // // For more information, see Monitoring the Amazon Kinesis Data Streams Service - // with Amazon CloudWatch (http://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html) + // with Amazon CloudWatch (https://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html) // in the Amazon Kinesis Data Streams Developer Guide. // // ShardLevelMetrics is a required field @@ -4563,7 +4642,7 @@ type EnhancedMetrics struct { // * ALL // // For more information, see Monitoring the Amazon Kinesis Data Streams Service - // with Amazon CloudWatch (http://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html) + // with Amazon CloudWatch (https://docs.aws.amazon.com/kinesis/latest/dev/monitoring-with-cloudwatch.html) // in the Amazon Kinesis Data Streams Developer Guide. ShardLevelMetrics []*string `min:"1" type:"list"` } @@ -4747,6 +4826,7 @@ type GetRecordsInput struct { // The maximum number of records to return. Specify a value of up to 10,000. // If you specify a value that is greater than 10,000, GetRecords throws InvalidArgumentException. + // The default value is 10,000. Limit *int64 `min:"1" type:"integer"` // The position in the shard from which you want to start sequentially reading @@ -4802,6 +4882,8 @@ func (s *GetRecordsInput) SetShardIterator(v string) *GetRecordsInput { type GetRecordsOutput struct { _ struct{} `type:"structure"` + ChildShards []*ChildShard `type:"list"` + // The number of milliseconds the GetRecords response is from the tip of the // stream, indicating how far behind current time the consumer is. A value of // zero indicates that record processing is caught up, and there are no new @@ -4829,6 +4911,12 @@ func (s GetRecordsOutput) GoString() string { return s.String() } +// SetChildShards sets the ChildShards field's value. +func (s *GetRecordsOutput) SetChildShards(v []*ChildShard) *GetRecordsOutput { + s.ChildShards = v + return s +} + // SetMillisBehindLatest sets the MillisBehindLatest field's value. func (s *GetRecordsOutput) SetMillisBehindLatest(v int64) *GetRecordsOutput { s.MillisBehindLatest = &v @@ -5035,7 +5123,7 @@ type IncreaseStreamRetentionPeriodInput struct { // retention period. // // RetentionPeriodHours is a required field - RetentionPeriodHours *int64 `min:"1" type:"integer" required:"true"` + RetentionPeriodHours *int64 `type:"integer" required:"true"` // The name of the stream to modify. // @@ -5059,9 +5147,6 @@ func (s *IncreaseStreamRetentionPeriodInput) Validate() error { if s.RetentionPeriodHours == nil { invalidParams.Add(request.NewErrParamRequired("RetentionPeriodHours")) } - if s.RetentionPeriodHours != nil && *s.RetentionPeriodHours < 1 { - invalidParams.Add(request.NewErrParamMinValue("RetentionPeriodHours", 1)) - } if s.StreamName == nil { invalidParams.Add(request.NewErrParamRequired("StreamName")) } @@ -5101,6 +5186,8 @@ func (s IncreaseStreamRetentionPeriodOutput) GoString() string { return s.String() } +// The processing of the request failed because of an unknown error, exception, +// or failure. type InternalFailureException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -5419,7 +5506,7 @@ func (s *KMSDisabledException) RequestID() string { // The request was rejected because the state of the specified resource isn't // valid for this request. For more information, see How Key State Affects Use -// of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) +// of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. type KMSInvalidStateException struct { _ struct{} `type:"structure"` @@ -5680,7 +5767,7 @@ func (s *KMSOptInRequired) RequestID() string { } // The request was denied due to request throttling. For more information about -// throttling, see Limits (http://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) +// throttling, see Limits (https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) // in the AWS Key Management Service Developer Guide. type KMSThrottlingException struct { _ struct{} `type:"structure"` @@ -5839,7 +5926,7 @@ type ListShardsInput struct { // The maximum number of shards to return in a single call to ListShards. The // minimum value you can specify for this parameter is 1, and the maximum is - // 1,000, which is also the default. + // 10,000, which is also the default. // // When the number of shards to be listed is greater than the value of MaxResults, // the response contains a NextToken value that you can use in a subsequent @@ -5867,6 +5954,8 @@ type ListShardsInput struct { // If you specify an expired token in a call to ListShards, you get ExpiredNextTokenException. NextToken *string `min:"1" type:"string"` + ShardFilter *ShardFilter `type:"structure"` + // Specify this input parameter to distinguish data streams that have the same // name. For example, if you create a data stream and then delete it, and you // later create another data stream with the same name, you can use this input @@ -5907,6 +5996,11 @@ func (s *ListShardsInput) Validate() error { if s.StreamName != nil && len(*s.StreamName) < 1 { invalidParams.Add(request.NewErrParamMinLen("StreamName", 1)) } + if s.ShardFilter != nil { + if err := s.ShardFilter.Validate(); err != nil { + invalidParams.AddNested("ShardFilter", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -5932,6 +6026,12 @@ func (s *ListShardsInput) SetNextToken(v string) *ListShardsInput { return s } +// SetShardFilter sets the ShardFilter field's value. +func (s *ListShardsInput) SetShardFilter(v *ShardFilter) *ListShardsInput { + s.ShardFilter = v + return s +} + // SetStreamCreationTimestamp sets the StreamCreationTimestamp field's value. func (s *ListShardsInput) SetStreamCreationTimestamp(v time.Time) *ListShardsInput { s.StreamCreationTimestamp = &v @@ -6423,9 +6523,9 @@ func (s MergeShardsOutput) GoString() string { // The request rate for the stream is too high, or the requested data is too // large for the available throughput. Reduce the frequency or size of your -// requests. For more information, see Streams Limits (http://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) +// requests. For more information, see Streams Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide, and Error Retries and -// Exponential Backoff in AWS (http://docs.aws.amazon.com/general/latest/gr/api-retries.html) +// Exponential Backoff in AWS (https://docs.aws.amazon.com/general/latest/gr/api-retries.html) // in the AWS General Reference. type ProvisionedThroughputExceededException struct { _ struct{} `type:"structure"` @@ -6490,7 +6590,7 @@ type PutRecordInput struct { // The data blob to put into the record, which is base64-encoded when the blob // is serialized. When the data blob (the payload before base64-encoding) is // added to the partition key size, the total size must not exceed the maximum - // record size (1 MB). + // record size (1 MiB). // // Data is automatically base64 encoded/decoded by the SDK. // @@ -6776,7 +6876,7 @@ type PutRecordsRequestEntry struct { // The data blob to put into the record, which is base64-encoded when the blob // is serialized. When the data blob (the payload before base64-encoding) is // added to the partition key size, the total size must not exceed the maximum - // record size (1 MB). + // record size (1 MiB). // // Data is automatically base64 encoded/decoded by the SDK. // @@ -6917,7 +7017,7 @@ type Record struct { // Data Streams, which does not inspect, interpret, or change the data in the // blob in any way. When the data blob (the payload before base64-encoding) // is added to the partition key size, the total size must not exceed the maximum - // record size (1 MB). + // record size (1 MiB). // // Data is automatically base64 encoded/decoded by the SDK. // @@ -7422,6 +7522,61 @@ func (s *Shard) SetShardId(v string) *Shard { return s } +type ShardFilter struct { + _ struct{} `type:"structure"` + + ShardId *string `min:"1" type:"string"` + + Timestamp *time.Time `type:"timestamp"` + + // Type is a required field + Type *string `type:"string" required:"true" enum:"ShardFilterType"` +} + +// String returns the string representation +func (s ShardFilter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ShardFilter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ShardFilter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ShardFilter"} + if s.ShardId != nil && len(*s.ShardId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ShardId", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetShardId sets the ShardId field's value. +func (s *ShardFilter) SetShardId(v string) *ShardFilter { + s.ShardId = &v + return s +} + +// SetTimestamp sets the Timestamp field's value. +func (s *ShardFilter) SetTimestamp(v time.Time) *ShardFilter { + s.Timestamp = &v + return s +} + +// SetType sets the Type field's value. +func (s *ShardFilter) SetType(v string) *ShardFilter { + s.Type = &v + return s +} + // Represents the input for SplitShard. type SplitShardInput struct { _ struct{} `type:"structure"` @@ -7618,10 +7773,37 @@ func (s StartStreamEncryptionOutput) GoString() string { type StartingPosition struct { _ struct{} `type:"structure"` + // The sequence number of the data record in the shard from which to start streaming. + // To specify a sequence number, set StartingPosition to AT_SEQUENCE_NUMBER + // or AFTER_SEQUENCE_NUMBER. SequenceNumber *string `type:"string"` + // The time stamp of the data record from which to start reading. To specify + // a time stamp, set StartingPosition to Type AT_TIMESTAMP. A time stamp is + // the Unix epoch date with precision in milliseconds. For example, 2016-04-04T19:58:46.480-00:00 + // or 1459799926.480. If a record with this exact time stamp does not exist, + // records will be streamed from the next (later) record. If the time stamp + // is older than the current trim horizon, records will be streamed from the + // oldest untrimmed data record (TRIM_HORIZON). Timestamp *time.Time `type:"timestamp"` + // You can set the starting position to one of the following values: + // + // AT_SEQUENCE_NUMBER: Start streaming from the position denoted by the sequence + // number specified in the SequenceNumber field. + // + // AFTER_SEQUENCE_NUMBER: Start streaming right after the position denoted by + // the sequence number specified in the SequenceNumber field. + // + // AT_TIMESTAMP: Start streaming from the position denoted by the time stamp + // specified in the Timestamp field. + // + // TRIM_HORIZON: Start streaming at the last untrimmed record in the shard, + // which is the oldest data record in the shard. + // + // LATEST: Start streaming just after the most recent record in the shard, so + // that you always read the most recent data in the shard. + // // Type is a required field Type *string `type:"string" required:"true" enum:"ShardIteratorType"` } @@ -7806,10 +7988,11 @@ type StreamDescription struct { // * Master key owned by Kinesis Data Streams: alias/aws/kinesis KeyId *string `min:"1" type:"string"` - // The current retention period, in hours. + // The current retention period, in hours. Minimum value of 24. Maximum value + // of 168. // // RetentionPeriodHours is a required field - RetentionPeriodHours *int64 `min:"1" type:"integer" required:"true"` + RetentionPeriodHours *int64 `type:"integer" required:"true"` // The shards that comprise the stream. // @@ -7965,7 +8148,7 @@ type StreamDescriptionSummary struct { // The current retention period, in hours. // // RetentionPeriodHours is a required field - RetentionPeriodHours *int64 `min:"1" type:"integer" required:"true"` + RetentionPeriodHours *int64 `type:"integer" required:"true"` // The Amazon Resource Name (ARN) for the stream being described. // @@ -8074,11 +8257,16 @@ func (s *StreamDescriptionSummary) SetStreamStatus(v string) *StreamDescriptionS } // After you call SubscribeToShard, Kinesis Data Streams sends events of this -// type to your consumer. +// type over an HTTP/2 connection to your consumer. type SubscribeToShardEvent struct { _ struct{} `type:"structure"` - // Use this as StartingSequenceNumber in the next call to SubscribeToShard. + ChildShards []*ChildShard `type:"list"` + + // Use this as SequenceNumber in the next call to SubscribeToShard, with StartingPosition + // set to AT_SEQUENCE_NUMBER or AFTER_SEQUENCE_NUMBER. Use ContinuationSequenceNumber + // for checkpointing because it captures your shard progress even when no data + // is written to the shard. // // ContinuationSequenceNumber is a required field ContinuationSequenceNumber *string `type:"string" required:"true"` @@ -8105,6 +8293,12 @@ func (s SubscribeToShardEvent) GoString() string { return s.String() } +// SetChildShards sets the ChildShards field's value. +func (s *SubscribeToShardEvent) SetChildShards(v []*ChildShard) *SubscribeToShardEvent { + s.ChildShards = v + return s +} + // SetContinuationSequenceNumber sets the ContinuationSequenceNumber field's value. func (s *SubscribeToShardEvent) SetContinuationSequenceNumber(v string) *SubscribeToShardEvent { s.ContinuationSequenceNumber = &v @@ -8507,7 +8701,19 @@ type UpdateShardCountInput struct { // StreamName is a required field StreamName *string `min:"1" type:"string" required:"true"` - // The new number of shards. + // The new number of shards. This value has the following default limits. By + // default, you cannot do the following: + // + // * Set this value to more than double your current shard count for a stream. + // + // * Set this value below half your current shard count for a stream. + // + // * Set this value to more than 500 shards in a stream (the default limit + // for shard count per stream is 500 per account per region), unless you + // request a limit increase. + // + // * Scale a stream with more than 500 shards down unless you set this value + // to less than 500 shards. // // TargetShardCount is a required field TargetShardCount *int64 `min:"1" type:"integer" required:"true"` @@ -8695,6 +8901,38 @@ func ScalingType_Values() []string { } } +const ( + // ShardFilterTypeAfterShardId is a ShardFilterType enum value + ShardFilterTypeAfterShardId = "AFTER_SHARD_ID" + + // ShardFilterTypeAtTrimHorizon is a ShardFilterType enum value + ShardFilterTypeAtTrimHorizon = "AT_TRIM_HORIZON" + + // ShardFilterTypeFromTrimHorizon is a ShardFilterType enum value + ShardFilterTypeFromTrimHorizon = "FROM_TRIM_HORIZON" + + // ShardFilterTypeAtLatest is a ShardFilterType enum value + ShardFilterTypeAtLatest = "AT_LATEST" + + // ShardFilterTypeAtTimestamp is a ShardFilterType enum value + ShardFilterTypeAtTimestamp = "AT_TIMESTAMP" + + // ShardFilterTypeFromTimestamp is a ShardFilterType enum value + ShardFilterTypeFromTimestamp = "FROM_TIMESTAMP" +) + +// ShardFilterType_Values returns all elements of the ShardFilterType enum +func ShardFilterType_Values() []string { + return []string{ + ShardFilterTypeAfterShardId, + ShardFilterTypeAtTrimHorizon, + ShardFilterTypeFromTrimHorizon, + ShardFilterTypeAtLatest, + ShardFilterTypeAtTimestamp, + ShardFilterTypeFromTimestamp, + } +} + const ( // ShardIteratorTypeAtSequenceNumber is a ShardIteratorType enum value ShardIteratorTypeAtSequenceNumber = "AT_SEQUENCE_NUMBER" diff --git a/vendor/github.com/aws/aws-sdk-go/service/kinesis/errors.go b/vendor/github.com/aws/aws-sdk-go/service/kinesis/errors.go index ba7c89dbaeef..da7880ee586c 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/kinesis/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/kinesis/errors.go @@ -22,6 +22,9 @@ const ( // ErrCodeInternalFailureException for service response error code // "InternalFailureException". + // + // The processing of the request failed because of an unknown error, exception, + // or failure. ErrCodeInternalFailureException = "InternalFailureException" // ErrCodeInvalidArgumentException for service response error code @@ -50,7 +53,7 @@ const ( // // The request was rejected because the state of the specified resource isn't // valid for this request. For more information, see How Key State Affects Use - // of a Customer Master Key (http://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) + // of a Customer Master Key (https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) // in the AWS Key Management Service Developer Guide. ErrCodeKMSInvalidStateException = "KMSInvalidStateException" @@ -71,7 +74,7 @@ const ( // "KMSThrottlingException". // // The request was denied due to request throttling. For more information about - // throttling, see Limits (http://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) + // throttling, see Limits (https://docs.aws.amazon.com/kms/latest/developerguide/limits.html#requests-per-second) // in the AWS Key Management Service Developer Guide. ErrCodeKMSThrottlingException = "KMSThrottlingException" @@ -87,9 +90,9 @@ const ( // // The request rate for the stream is too high, or the requested data is too // large for the available throughput. Reduce the frequency or size of your - // requests. For more information, see Streams Limits (http://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) + // requests. For more information, see Streams Limits (https://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide, and Error Retries and - // Exponential Backoff in AWS (http://docs.aws.amazon.com/general/latest/gr/api-retries.html) + // Exponential Backoff in AWS (https://docs.aws.amazon.com/general/latest/gr/api-retries.html) // in the AWS General Reference. ErrCodeProvisionedThroughputExceededException = "ProvisionedThroughputExceededException" diff --git a/vendor/github.com/aws/aws-sdk-go/service/lakeformation/api.go b/vendor/github.com/aws/aws-sdk-go/service/lakeformation/api.go index 2f21037627f2..b40ecb54eb12 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/lakeformation/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/lakeformation/api.go @@ -2157,6 +2157,35 @@ func (s *DescribeResourceOutput) SetResourceInfo(v *ResourceInfo) *DescribeResou return s } +// A structure containing the additional details to be returned in the AdditionalDetails +// attribute of PrincipalResourcePermissions. +// +// If a catalog resource is shared through AWS Resource Access Manager (AWS +// RAM), then there will exist a corresponding RAM share resource ARN. +type DetailsMap struct { + _ struct{} `type:"structure"` + + // A share resource ARN for a catalog resource shared through AWS Resource Access + // Manager (AWS RAM). + ResourceShare []*string `type:"list"` +} + +// String returns the string representation +func (s DetailsMap) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DetailsMap) GoString() string { + return s.String() +} + +// SetResourceShare sets the ResourceShare field's value. +func (s *DetailsMap) SetResourceShare(v []*string) *DetailsMap { + s.ResourceShare = v + return s +} + // A specified entity does not exist type EntityNotFoundException struct { _ struct{} `type:"structure"` @@ -3035,6 +3064,10 @@ func (s *PrincipalPermissions) SetPrincipal(v *DataLakePrincipal) *PrincipalPerm type PrincipalResourcePermissions struct { _ struct{} `type:"structure"` + // This attribute can be used to return any additional details of PrincipalResourcePermissions. + // Currently returns only as a RAM share resource ARN. + AdditionalDetails *DetailsMap `type:"structure"` + // The permissions to be granted or revoked on the resource. Permissions []*string `type:"list"` @@ -3059,6 +3092,12 @@ func (s PrincipalResourcePermissions) GoString() string { return s.String() } +// SetAdditionalDetails sets the AdditionalDetails field's value. +func (s *PrincipalResourcePermissions) SetAdditionalDetails(v *DetailsMap) *PrincipalResourcePermissions { + s.AdditionalDetails = v + return s +} + // SetPermissions sets the Permissions field's value. func (s *PrincipalResourcePermissions) SetPermissions(v []*string) *PrincipalResourcePermissions { s.Permissions = v diff --git a/vendor/github.com/aws/aws-sdk-go/service/licensemanager/api.go b/vendor/github.com/aws/aws-sdk-go/service/licensemanager/api.go index be0f32c7a10a..97c9641d409f 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/licensemanager/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/licensemanager/api.go @@ -63,8 +63,8 @@ func (c *LicenseManager) CreateLicenseConfigurationRequest(input *CreateLicenseC // that can be consumed and enforced by License Manager. Components include // specifications for the license type (licensing by instance, socket, CPU, // or vCPU), allowed tenancy (shared tenancy, Dedicated Instance, Dedicated -// Host, or all of these), host affinity (how long a VM must be associated with -// a host), and the number of licenses purchased and used. +// Host, or all of these), license affinity to host (how long a license must +// be associated with a host), and the number of licenses purchased and used. // // 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 @@ -1289,13 +1289,6 @@ func (c *LicenseManager) UpdateLicenseConfigurationRequest(input *UpdateLicenseC // // Modifies the attributes of an existing license configuration. // -// A license configuration is an abstraction of a customer license agreement -// that can be consumed and enforced by License Manager. Components include -// specifications for the license type (licensing by instance, socket, CPU, -// or vCPU), allowed tenancy (shared tenancy, Dedicated Instance, Dedicated -// Host, or all of these), host affinity (how long a VM must be associated with -// a host), and the number of licenses purchased and used. -// // 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. @@ -1732,17 +1725,24 @@ type CreateLicenseConfigurationInput struct { LicenseCountingType *string `type:"string" required:"true" enum:"LicenseCountingType"` // License rules. The syntax is #name=value (for example, #allowedTenancy=EC2-DedicatedHost). - // Available rules vary by dimension. + // The available rules vary by dimension, as follows. // - // * Cores dimension: allowedTenancy | maximumCores | minimumCores + // * Cores dimension: allowedTenancy | licenseAffinityToHost | maximumCores + // | minimumCores // // * Instances dimension: allowedTenancy | maximumCores | minimumCores | // maximumSockets | minimumSockets | maximumVcpus | minimumVcpus // - // * Sockets dimension: allowedTenancy | maximumSockets | minimumSockets + // * Sockets dimension: allowedTenancy | licenseAffinityToHost | maximumSockets + // | minimumSockets // // * vCPUs dimension: allowedTenancy | honorVcpuOptimization | maximumVcpus // | minimumVcpus + // + // The unit for licenseAffinityToHost is days and the range is 1 to 180. The + // possible values for allowedTenancy are EC2-Default, EC2-DedicatedHost, and + // EC2-DedicatedInstance. The possible values for honorVcpuOptimization are + // True and False. LicenseRules []*string `type:"list"` // Name of the license configuration. @@ -3151,8 +3151,9 @@ type ListLicenseConfigurationsInput struct { // Filters to scope the results. The following filters and logical operators // are supported: // - // * licenseCountingType - The dimension on which licenses are counted (vCPU). - // Logical operators are EQUALS | NOT_EQUALS. + // * licenseCountingType - The dimension on which licenses are counted. Possible + // values are vCPU | Instance | Core | Socket. Logical operators are EQUALS + // | NOT_EQUALS. // // * enforceLicenseCount - A Boolean value that indicates whether hard license // enforcement is used. Logical operators are EQUALS | NOT_EQUALS. @@ -3712,8 +3713,10 @@ func (s *OrganizationConfiguration) SetEnableIntegration(v bool) *OrganizationCo type ProductInformation struct { _ struct{} `type:"structure"` - // Product information filters. The following filters and logical operators - // are supported: + // Product information filters. + // + // The following filters and logical operators are supported when the resource + // type is SSM_MANAGED: // // * Application Name - The name of the application. Logical operator is // EQUALS. @@ -3729,13 +3732,23 @@ type ProductInformation struct { // * Platform Type - The platform type. Logical operator is EQUALS. // // * License Included - The type of license included. Logical operators are - // EQUALS and NOT_EQUALS. Possible values are sql-server-enterprise | sql-server-standard + // EQUALS and NOT_EQUALS. Possible values are: sql-server-enterprise | sql-server-standard // | sql-server-web | windows-server-datacenter. // + // The following filters and logical operators are supported when the resource + // type is RDS: + // + // * Engine Edition - The edition of the database engine. Logical operator + // is EQUALS. Possible values are: oracle-ee | oracle-se | oracle-se1 | oracle-se2. + // + // * License Pack - The license pack. Logical operator is EQUALS. Possible + // values are: data guard | diagnostic pack sqlt | tuning pack sqlt | ols + // | olap. + // // ProductInformationFilterList is a required field ProductInformationFilterList []*ProductInformationFilter `type:"list" required:"true"` - // Resource type. The value is SSM_MANAGED. + // Resource type. The possible values are SSM_MANAGED | RDS. // // ResourceType is a required field ResourceType *string `type:"string" required:"true"` @@ -4278,7 +4291,8 @@ type UpdateLicenseConfigurationInput struct { // New hard limit of the number of available licenses. LicenseCountHardLimit *bool `type:"boolean"` - // New license rules. + // New license rule. The only rule that you can add after you create a license + // configuration is licenseAffinityToHost. LicenseRules []*string `type:"list"` // New name of the license configuration. diff --git a/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go b/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go index d58292ed2f1e..c9c961fd9c55 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/organizations/api.go @@ -7121,13 +7121,13 @@ func (c *Organizations) LeaveOrganizationRequest(input *LeaveOrganizationInput) // account. When you create an account in an organization using the AWS Organizations // console, API, or CLI commands, the information required of standalone // accounts is not automatically collected. For each account that you want -// to make standalone, you must do the following steps: Accept the end user -// license agreement (EULA) Choose a support plan Provide and verify the -// required contact information Provide a current payment method AWS uses -// the payment method to charge for any billable (not free tier) AWS activity -// that occurs while the account isn't attached to an organization. Follow -// the steps at To leave an organization when all required account information -// has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// to make standalone, you must perform the following steps. If any of the +// steps are already completed for this account, that step doesn't appear. +// Choose a support plan Provide and verify the required contact information +// Provide a current payment method AWS uses the payment method to charge +// for any billable (not free tier) AWS activity that occurs while the account +// isn't attached to an organization. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) // in the AWS Organizations User Guide. // // * You can leave an organization only after you enable IAM user access @@ -12141,14 +12141,13 @@ func (c *Organizations) RemoveAccountFromOrganizationRequest(input *RemoveAccoun // create an account in an organization using the AWS Organizations console, // API, or CLI commands, the information required of standalone accounts is // not automatically collected. For an account that you want to make standalone, -// you must accept the end user license agreement (EULA), choose a support plan, -// provide and verify the required contact information, and provide a current -// payment method. AWS uses the payment method to charge for any billable (not -// free tier) AWS activity that occurs while the account isn't attached to an -// organization. To remove an account that doesn't yet have this information, -// you must sign in as the member account and follow the steps at To leave an -// organization when all required account information has not yet been provided -// (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// you must choose a support plan, provide and verify the required contact information, +// and provide a current payment method. AWS uses the payment method to charge +// for any billable (not free tier) AWS activity that occurs while the account +// isn't attached to an organization. To remove an account that doesn't yet +// have this information, you must sign in as the member account and follow +// the steps at To leave an organization when all required account information +// has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) // in the AWS Organizations User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions diff --git a/vendor/github.com/aws/aws-sdk-go/service/quicksight/api.go b/vendor/github.com/aws/aws-sdk-go/service/quicksight/api.go index ff3d6ef6af28..e2bb9a77257d 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/quicksight/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/quicksight/api.go @@ -154,8 +154,22 @@ func (c *QuickSight) CreateAccountCustomizationRequest(input *CreateAccountCusto // CreateAccountCustomization API operation for Amazon QuickSight. // -// Creates a customization for the Amazon QuickSight subscription associated -// with your AWS account. +// Creates Amazon QuickSight customizations the current AWS Region. Currently, +// you can add a custom default theme by using the CreateAccountCustomization +// or UpdateAccountCustomization API operation. To further customize QuickSight +// by removing QuickSight sample assets and videos for all new users, see Customizing +// QuickSight (https://docs.aws.amazon.com/quicksight/latest/user/customizing-quicksight.html) +// in the Amazon QuickSight User Guide. +// +// You can create customizations for your AWS account or, if you specify a namespace, +// for a QuickSight namespace instead. Customizations that apply to a namespace +// always override customizations that apply to an AWS account. To find out +// which customizations apply, use the DescribeAccountCustomization API operation. +// +// Before you add a theme as the namespace default, make sure that you first +// share the theme with the namespace. If you don't share it with the namespace, +// the theme won't be visible to your users even if you use this API operation +// to make it the default theme. // // 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 @@ -212,6 +226,106 @@ func (c *QuickSight) CreateAccountCustomizationWithContext(ctx aws.Context, inpu return out, req.Send() } +const opCreateAnalysis = "CreateAnalysis" + +// CreateAnalysisRequest generates a "aws/request.Request" representing the +// client's request for the CreateAnalysis 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 CreateAnalysis for more information on using the CreateAnalysis +// 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 CreateAnalysisRequest method. +// req, resp := client.CreateAnalysisRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateAnalysis +func (c *QuickSight) CreateAnalysisRequest(input *CreateAnalysisInput) (req *request.Request, output *CreateAnalysisOutput) { + op := &request.Operation{ + Name: opCreateAnalysis, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/analyses/{AnalysisId}", + } + + if input == nil { + input = &CreateAnalysisInput{} + } + + output = &CreateAnalysisOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateAnalysis API operation for Amazon QuickSight. +// +// Creates an analysis in Amazon QuickSight. +// +// 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 QuickSight's +// API operation CreateAnalysis for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ThrottlingException +// Access is throttled. +// +// * ResourceExistsException +// The resource specified already exists. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/CreateAnalysis +func (c *QuickSight) CreateAnalysis(input *CreateAnalysisInput) (*CreateAnalysisOutput, error) { + req, out := c.CreateAnalysisRequest(input) + return out, req.Send() +} + +// CreateAnalysisWithContext is the same as CreateAnalysis with the addition of +// the ability to pass a context and additional request options. +// +// See CreateAnalysis 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 *QuickSight) CreateAnalysisWithContext(ctx aws.Context, input *CreateAnalysisInput, opts ...request.Option) (*CreateAnalysisOutput, error) { + req, out := c.CreateAnalysisRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateDashboard = "CreateDashboard" // CreateDashboardRequest generates a "aws/request.Request" representing the @@ -261,10 +375,9 @@ func (c *QuickSight) CreateDashboardRequest(input *CreateDashboardInput) (req *r // // A dashboard is an entity in QuickSight that identifies QuickSight reports, // created from analyses. You can share QuickSight dashboards. With the right -// permissions, you can create scheduled email reports from them. The CreateDashboard, -// DescribeDashboard, and ListDashboardsByUser API operations act on the dashboard -// entity. If you have the correct permissions, you can create a dashboard from -// a template that exists in a different AWS account. +// permissions, you can create scheduled email reports from them. If you have +// the correct permissions, you can create a dashboard from a template that +// exists in a different AWS account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -822,8 +935,8 @@ func (c *QuickSight) CreateIAMPolicyAssignmentRequest(input *CreateIAMPolicyAssi // Access is throttled. // // * ConcurrentUpdatingException -// A resource is already in a state that indicates an action is happening that -// must complete before a new update can be applied. +// A resource is already in a state that indicates an operation is happening +// that must complete before a new update can be applied. // // * InternalFailureException // An internal failure occurred. @@ -1556,7 +1669,8 @@ func (c *QuickSight) DeleteAccountCustomizationRequest(input *DeleteAccountCusto // DeleteAccountCustomization API operation for Amazon QuickSight. // -// Deletes customizations for the QuickSight subscription on your AWS account. +// Deletes all Amazon QuickSight customizations in this AWS Region for the specified +// AWS Account and QuickSight namespace. // // 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 @@ -1610,6 +1724,117 @@ func (c *QuickSight) DeleteAccountCustomizationWithContext(ctx aws.Context, inpu return out, req.Send() } +const opDeleteAnalysis = "DeleteAnalysis" + +// DeleteAnalysisRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAnalysis 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 DeleteAnalysis for more information on using the DeleteAnalysis +// 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 DeleteAnalysisRequest method. +// req, resp := client.DeleteAnalysisRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteAnalysis +func (c *QuickSight) DeleteAnalysisRequest(input *DeleteAnalysisInput) (req *request.Request, output *DeleteAnalysisOutput) { + op := &request.Operation{ + Name: opDeleteAnalysis, + HTTPMethod: "DELETE", + HTTPPath: "/accounts/{AwsAccountId}/analyses/{AnalysisId}", + } + + if input == nil { + input = &DeleteAnalysisInput{} + } + + output = &DeleteAnalysisOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteAnalysis API operation for Amazon QuickSight. +// +// Deletes an analysis from Amazon QuickSight. You can optionally include a +// recovery window during which you can restore the analysis. If you don't specify +// a recovery window value, the operation defaults to 30 days. QuickSight attaches +// a DeletionTime stamp to the response that specifies the end of the recovery +// window. At the end of the recovery window, QuickSight deletes the analysis +// permanently. +// +// At any time before recovery window ends, you can use the RestoreAnalysis +// API operation to remove the DeletionTime stamp and cancel the deletion of +// the analysis. The analysis remains visible in the API until it's deleted, +// so you can describe it but you can't make a template from it. +// +// An analysis that's scheduled for deletion isn't accessible in the QuickSight +// console. To access it in the console, restore it. Deleting an analysis doesn't +// delete the dashboards that you publish from it. +// +// 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 QuickSight's +// API operation DeleteAnalysis for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// Access is throttled. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DeleteAnalysis +func (c *QuickSight) DeleteAnalysis(input *DeleteAnalysisInput) (*DeleteAnalysisOutput, error) { + req, out := c.DeleteAnalysisRequest(input) + return out, req.Send() +} + +// DeleteAnalysisWithContext is the same as DeleteAnalysis with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteAnalysis 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 *QuickSight) DeleteAnalysisWithContext(ctx aws.Context, input *DeleteAnalysisInput, opts ...request.Option) (*DeleteAnalysisOutput, error) { + req, out := c.DeleteAnalysisRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteDashboard = "DeleteDashboard" // DeleteDashboardRequest generates a "aws/request.Request" representing the @@ -1846,7 +2071,7 @@ func (c *QuickSight) DeleteDataSourceRequest(input *DeleteDataSourceInput) (req // DeleteDataSource API operation for Amazon QuickSight. // -// Deletes the data source permanently. This action breaks all the datasets +// Deletes the data source permanently. This operation breaks all the datasets // that reference the deleted data source. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2175,8 +2400,8 @@ func (c *QuickSight) DeleteIAMPolicyAssignmentRequest(input *DeleteIAMPolicyAssi // Access is throttled. // // * ConcurrentUpdatingException -// A resource is already in a state that indicates an action is happening that -// must complete before a new update can be applied. +// A resource is already in a state that indicates an operation is happening +// that must complete before a new update can be applied. // // * InternalFailureException // An internal failure occurred. @@ -2250,7 +2475,7 @@ func (c *QuickSight) DeleteNamespaceRequest(input *DeleteNamespaceInput) (req *r // Deletes a namespace and the users and groups that are associated with the // namespace. This is an asynchronous process. Assets including dashboards, // analyses, datasets and data sources are not deleted. To delete these assets, -// you use the APIs for the relevant asset. +// you use the API operations for the relevant asset. // // 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 @@ -2954,7 +3179,46 @@ func (c *QuickSight) DescribeAccountCustomizationRequest(input *DescribeAccountC // DescribeAccountCustomization API operation for Amazon QuickSight. // -// Describes the customizations associated with your AWS account. +// Describes the customizations associated with the provided AWS account and +// Amazon QuickSight namespace in an AWS Region. The QuickSight console evaluates +// which customizations to apply by running this API operation with the Resolved +// flag included. +// +// To determine what customizations display when you run this command, it can +// help to visualize the relationship of the entities involved. +// +// * AWS Account - The AWS account exists at the top of the hierarchy. It +// has the potential to use all of the AWS Regions and AWS Services. When +// you subscribe to QuickSight, you choose one AWS Region to use as your +// home region. That's where your free SPICE capacity is located. You can +// use QuickSight in any supported AWS Region. +// +// * AWS Region - In each AWS Region where you sign in to QuickSight at least +// once, QuickSight acts as a separate instance of the same service. If you +// have a user directory, it resides in us-east-1, which is the US East (N. +// Virginia). Generally speaking, these users have access to QuickSight in +// any AWS Region, unless they are constrained to a namespace. To run the +// command in a different AWS Region, you change your region settings. If +// you're using the AWS CLI, you can use one of the following options: Use +// command line options (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-options.html). +// Use named profiles (https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html). +// Run aws configure to change your default AWS Region. Use Enter to key +// the same settings for your keys. For more information, see Configuring +// the AWS CLI (https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html). +// +// * Namespace - A QuickSight namespace is a partition that contains users +// and assets (data sources, datasets, dashboards, and so on). To access +// assets that are in a specific namespace, users and groups must also be +// part of the same namespace. People who share a namespace are completely +// isolated from users and assets in other namespaces, even if they are in +// the same AWS account and AWS Region. +// +// * Applied customizations - Within an AWS Region, a set of QuickSight customizations +// can apply to an AWS account or to a namespace. Settings that you apply +// to a namespace override settings that you apply to an AWS Account. All +// settings are isolated to a single AWS Region. To apply them in other AWS +// Regions, run the CreateAccountCustomization command in each AWS Region +// where you want to apply the same customizations. // // 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 @@ -3107,58 +3371,58 @@ func (c *QuickSight) DescribeAccountSettingsWithContext(ctx aws.Context, input * return out, req.Send() } -const opDescribeDashboard = "DescribeDashboard" +const opDescribeAnalysis = "DescribeAnalysis" -// DescribeDashboardRequest generates a "aws/request.Request" representing the -// client's request for the DescribeDashboard operation. The "output" return +// DescribeAnalysisRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAnalysis 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 DescribeDashboard for more information on using the DescribeDashboard +// See DescribeAnalysis for more information on using the DescribeAnalysis // 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 DescribeDashboardRequest method. -// req, resp := client.DescribeDashboardRequest(params) +// // Example sending a request using the DescribeAnalysisRequest method. +// req, resp := client.DescribeAnalysisRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDashboard -func (c *QuickSight) DescribeDashboardRequest(input *DescribeDashboardInput) (req *request.Request, output *DescribeDashboardOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeAnalysis +func (c *QuickSight) DescribeAnalysisRequest(input *DescribeAnalysisInput) (req *request.Request, output *DescribeAnalysisOutput) { op := &request.Operation{ - Name: opDescribeDashboard, + Name: opDescribeAnalysis, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}", + HTTPPath: "/accounts/{AwsAccountId}/analyses/{AnalysisId}", } if input == nil { - input = &DescribeDashboardInput{} + input = &DescribeAnalysisInput{} } - output = &DescribeDashboardOutput{} + output = &DescribeAnalysisOutput{} req = c.newRequest(op, input, output) return } -// DescribeDashboard API operation for Amazon QuickSight. +// DescribeAnalysis API operation for Amazon QuickSight. // -// Provides a summary for a dashboard. +// Provides a summary of the metadata for an analysis. // // 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 QuickSight's -// API operation DescribeDashboard for usage and error information. +// API operation DescribeAnalysis for usage and error information. // // Returned Error Types: // * InvalidParameterValueException @@ -3186,80 +3450,80 @@ func (c *QuickSight) DescribeDashboardRequest(input *DescribeDashboardInput) (re // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDashboard -func (c *QuickSight) DescribeDashboard(input *DescribeDashboardInput) (*DescribeDashboardOutput, error) { - req, out := c.DescribeDashboardRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeAnalysis +func (c *QuickSight) DescribeAnalysis(input *DescribeAnalysisInput) (*DescribeAnalysisOutput, error) { + req, out := c.DescribeAnalysisRequest(input) return out, req.Send() } -// DescribeDashboardWithContext is the same as DescribeDashboard with the addition of +// DescribeAnalysisWithContext is the same as DescribeAnalysis with the addition of // the ability to pass a context and additional request options. // -// See DescribeDashboard for details on how to use this API operation. +// See DescribeAnalysis 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 *QuickSight) DescribeDashboardWithContext(ctx aws.Context, input *DescribeDashboardInput, opts ...request.Option) (*DescribeDashboardOutput, error) { - req, out := c.DescribeDashboardRequest(input) +func (c *QuickSight) DescribeAnalysisWithContext(ctx aws.Context, input *DescribeAnalysisInput, opts ...request.Option) (*DescribeAnalysisOutput, error) { + req, out := c.DescribeAnalysisRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeDashboardPermissions = "DescribeDashboardPermissions" +const opDescribeAnalysisPermissions = "DescribeAnalysisPermissions" -// DescribeDashboardPermissionsRequest generates a "aws/request.Request" representing the -// client's request for the DescribeDashboardPermissions operation. The "output" return +// DescribeAnalysisPermissionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeAnalysisPermissions 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 DescribeDashboardPermissions for more information on using the DescribeDashboardPermissions +// See DescribeAnalysisPermissions for more information on using the DescribeAnalysisPermissions // 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 DescribeDashboardPermissionsRequest method. -// req, resp := client.DescribeDashboardPermissionsRequest(params) +// // Example sending a request using the DescribeAnalysisPermissionsRequest method. +// req, resp := client.DescribeAnalysisPermissionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDashboardPermissions -func (c *QuickSight) DescribeDashboardPermissionsRequest(input *DescribeDashboardPermissionsInput) (req *request.Request, output *DescribeDashboardPermissionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeAnalysisPermissions +func (c *QuickSight) DescribeAnalysisPermissionsRequest(input *DescribeAnalysisPermissionsInput) (req *request.Request, output *DescribeAnalysisPermissionsOutput) { op := &request.Operation{ - Name: opDescribeDashboardPermissions, + Name: opDescribeAnalysisPermissions, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/permissions", + HTTPPath: "/accounts/{AwsAccountId}/analyses/{AnalysisId}/permissions", } if input == nil { - input = &DescribeDashboardPermissionsInput{} + input = &DescribeAnalysisPermissionsInput{} } - output = &DescribeDashboardPermissionsOutput{} + output = &DescribeAnalysisPermissionsOutput{} req = c.newRequest(op, input, output) return } -// DescribeDashboardPermissions API operation for Amazon QuickSight. +// DescribeAnalysisPermissions API operation for Amazon QuickSight. // -// Describes read and write permissions for a dashboard. +// Provides the read and write permissions for an analysis. // // 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 QuickSight's -// API operation DescribeDashboardPermissions for usage and error information. +// API operation DescribeAnalysisPermissions for usage and error information. // // Returned Error Types: // * InvalidParameterValueException @@ -3280,82 +3544,88 @@ func (c *QuickSight) DescribeDashboardPermissionsRequest(input *DescribeDashboar // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDashboardPermissions -func (c *QuickSight) DescribeDashboardPermissions(input *DescribeDashboardPermissionsInput) (*DescribeDashboardPermissionsOutput, error) { - req, out := c.DescribeDashboardPermissionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeAnalysisPermissions +func (c *QuickSight) DescribeAnalysisPermissions(input *DescribeAnalysisPermissionsInput) (*DescribeAnalysisPermissionsOutput, error) { + req, out := c.DescribeAnalysisPermissionsRequest(input) return out, req.Send() } -// DescribeDashboardPermissionsWithContext is the same as DescribeDashboardPermissions with the addition of +// DescribeAnalysisPermissionsWithContext is the same as DescribeAnalysisPermissions with the addition of // the ability to pass a context and additional request options. // -// See DescribeDashboardPermissions for details on how to use this API operation. +// See DescribeAnalysisPermissions 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 *QuickSight) DescribeDashboardPermissionsWithContext(ctx aws.Context, input *DescribeDashboardPermissionsInput, opts ...request.Option) (*DescribeDashboardPermissionsOutput, error) { - req, out := c.DescribeDashboardPermissionsRequest(input) +func (c *QuickSight) DescribeAnalysisPermissionsWithContext(ctx aws.Context, input *DescribeAnalysisPermissionsInput, opts ...request.Option) (*DescribeAnalysisPermissionsOutput, error) { + req, out := c.DescribeAnalysisPermissionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opDescribeDataSet = "DescribeDataSet" +const opDescribeDashboard = "DescribeDashboard" -// DescribeDataSetRequest generates a "aws/request.Request" representing the -// client's request for the DescribeDataSet operation. The "output" return +// DescribeDashboardRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDashboard 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 DescribeDataSet for more information on using the DescribeDataSet +// See DescribeDashboard for more information on using the DescribeDashboard // 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 DescribeDataSetRequest method. -// req, resp := client.DescribeDataSetRequest(params) +// // Example sending a request using the DescribeDashboardRequest method. +// req, resp := client.DescribeDashboardRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSet -func (c *QuickSight) DescribeDataSetRequest(input *DescribeDataSetInput) (req *request.Request, output *DescribeDataSetOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDashboard +func (c *QuickSight) DescribeDashboardRequest(input *DescribeDashboardInput) (req *request.Request, output *DescribeDashboardOutput) { op := &request.Operation{ - Name: opDescribeDataSet, + Name: opDescribeDashboard, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}", } if input == nil { - input = &DescribeDataSetInput{} + input = &DescribeDashboardInput{} } - output = &DescribeDataSetOutput{} + output = &DescribeDashboardOutput{} req = c.newRequest(op, input, output) return } -// DescribeDataSet API operation for Amazon QuickSight. +// DescribeDashboard API operation for Amazon QuickSight. // -// Describes a dataset. +// Provides a summary for a dashboard. // // 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 QuickSight's -// API operation DescribeDataSet for usage and error information. +// API operation DescribeDashboard for usage and error information. // // Returned Error Types: +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// // * AccessDeniedException // You don't have access to this item. The provided credentials couldn't be // validated. You might not be authorized to carry out the request. Make sure @@ -3363,25 +3633,214 @@ func (c *QuickSight) DescribeDataSetRequest(input *DescribeDataSetInput) (req *r // your policies have the correct permissions, and that you are using the correct // access keys. // -// * InvalidParameterValueException -// One or more parameters has a value that isn't valid. -// // * ThrottlingException // Access is throttled. // -// * ResourceNotFoundException -// One or more resources can't be found. +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. // // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSet -func (c *QuickSight) DescribeDataSet(input *DescribeDataSetInput) (*DescribeDataSetOutput, error) { - req, out := c.DescribeDataSetRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDashboard +func (c *QuickSight) DescribeDashboard(input *DescribeDashboardInput) (*DescribeDashboardOutput, error) { + req, out := c.DescribeDashboardRequest(input) return out, req.Send() } -// DescribeDataSetWithContext is the same as DescribeDataSet with the addition of +// DescribeDashboardWithContext is the same as DescribeDashboard with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDashboard 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 *QuickSight) DescribeDashboardWithContext(ctx aws.Context, input *DescribeDashboardInput, opts ...request.Option) (*DescribeDashboardOutput, error) { + req, out := c.DescribeDashboardRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDashboardPermissions = "DescribeDashboardPermissions" + +// DescribeDashboardPermissionsRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDashboardPermissions 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 DescribeDashboardPermissions for more information on using the DescribeDashboardPermissions +// 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 DescribeDashboardPermissionsRequest method. +// req, resp := client.DescribeDashboardPermissionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDashboardPermissions +func (c *QuickSight) DescribeDashboardPermissionsRequest(input *DescribeDashboardPermissionsInput) (req *request.Request, output *DescribeDashboardPermissionsOutput) { + op := &request.Operation{ + Name: opDescribeDashboardPermissions, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/permissions", + } + + if input == nil { + input = &DescribeDashboardPermissionsInput{} + } + + output = &DescribeDashboardPermissionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDashboardPermissions API operation for Amazon QuickSight. +// +// Describes read and write permissions for a dashboard. +// +// 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 QuickSight's +// API operation DescribeDashboardPermissions for usage and error information. +// +// Returned Error Types: +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDashboardPermissions +func (c *QuickSight) DescribeDashboardPermissions(input *DescribeDashboardPermissionsInput) (*DescribeDashboardPermissionsOutput, error) { + req, out := c.DescribeDashboardPermissionsRequest(input) + return out, req.Send() +} + +// DescribeDashboardPermissionsWithContext is the same as DescribeDashboardPermissions with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeDashboardPermissions 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 *QuickSight) DescribeDashboardPermissionsWithContext(ctx aws.Context, input *DescribeDashboardPermissionsInput, opts ...request.Option) (*DescribeDashboardPermissionsOutput, error) { + req, out := c.DescribeDashboardPermissionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeDataSet = "DescribeDataSet" + +// DescribeDataSetRequest generates a "aws/request.Request" representing the +// client's request for the DescribeDataSet 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 DescribeDataSet for more information on using the DescribeDataSet +// 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 DescribeDataSetRequest method. +// req, resp := client.DescribeDataSetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSet +func (c *QuickSight) DescribeDataSetRequest(input *DescribeDataSetInput) (req *request.Request, output *DescribeDataSetOutput) { + op := &request.Operation{ + Name: opDescribeDataSet, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/data-sets/{DataSetId}", + } + + if input == nil { + input = &DescribeDataSetInput{} + } + + output = &DescribeDataSetOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeDataSet API operation for Amazon QuickSight. +// +// Describes a dataset. +// +// 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 QuickSight's +// API operation DescribeDataSet for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ThrottlingException +// Access is throttled. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/DescribeDataSet +func (c *QuickSight) DescribeDataSet(input *DescribeDataSetInput) (*DescribeDataSetOutput, error) { + req, out := c.DescribeDataSetRequest(input) + return out, req.Send() +} + +// DescribeDataSetWithContext is the same as DescribeDataSet with the addition of // the ability to pass a context and additional request options. // // See DescribeDataSet for details on how to use this API operation. @@ -4823,9 +5282,10 @@ func (c *QuickSight) GetDashboardEmbedUrlRequest(input *GetDashboardEmbedUrlInpu // GetDashboardEmbedUrl API operation for Amazon QuickSight. // -// Generates a URL and authorization code that you can embed in your web server -// code. Before you use this command, make sure that you have configured the -// dashboards and permissions. +// Generates a session URL and authorization code that you can use to embed +// an Amazon QuickSight read-only dashboard in your web server code. Before +// you use this command, make sure that you have configured the dashboards and +// permissions. // // Currently, you can use GetDashboardEmbedURL only from the server, not from // the user's browser. The following rules apply to the combination of URL and @@ -4839,10 +5299,8 @@ func (c *QuickSight) GetDashboardEmbedUrlRequest(input *GetDashboardEmbedUrlInpu // // * The resulting user session is valid for 10 hours. // -// For more information, see Embedding Amazon QuickSight Dashboards (https://docs.aws.amazon.com/quicksight/latest/user/embedding-dashboards.html) -// in the Amazon QuickSight User Guide or Embedding Amazon QuickSight Dashboards -// (https://docs.aws.amazon.com/quicksight/latest/APIReference/qs-dev-embedded-dashboards.html) -// in the Amazon QuickSight API Reference. +// For more information, see Embedding Amazon QuickSight (https://docs.aws.amazon.com/quicksight/latest/user/embedding-dashboards.html) +// in the Amazon QuickSight User Guide . // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4963,8 +5421,20 @@ func (c *QuickSight) GetSessionEmbedUrlRequest(input *GetSessionEmbedUrlInput) ( // GetSessionEmbedUrl API operation for Amazon QuickSight. // -// Generates a session URL and authorization code that you can embed in your -// web server code. +// Generates a session URL and authorization code that you can use to embed +// the Amazon QuickSight console in your web server code. Use GetSessionEmbedUrl +// where you want to provide an authoring portal that allows users to create +// data sources, datasets, analyses, and dashboards. The users who access an +// embedded QuickSight console need belong to the author or admin security cohort. +// If you want to restrict permissions to some of these features, add a custom +// permissions profile to the user with the UpdateUser API operation. Use RegisterUser +// API operation to add a new user with a custom permission profile attached. +// For more information, see the following sections in the Amazon QuickSight +// User Guide: +// +// * Embedding the Amazon QuickSight Console (https://docs.aws.amazon.com/quicksight/latest/user/embedding-the-quicksight-console.html) +// +// * Customizing Access to the Amazon QuickSight Console (https://docs.aws.amazon.com/quicksight/latest/user/customizing-permissions-to-the-quicksight-console.html) // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -5033,37 +5503,37 @@ func (c *QuickSight) GetSessionEmbedUrlWithContext(ctx aws.Context, input *GetSe return out, req.Send() } -const opListDashboardVersions = "ListDashboardVersions" +const opListAnalyses = "ListAnalyses" -// ListDashboardVersionsRequest generates a "aws/request.Request" representing the -// client's request for the ListDashboardVersions operation. The "output" return +// ListAnalysesRequest generates a "aws/request.Request" representing the +// client's request for the ListAnalyses 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 ListDashboardVersions for more information on using the ListDashboardVersions +// See ListAnalyses for more information on using the ListAnalyses // 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 ListDashboardVersionsRequest method. -// req, resp := client.ListDashboardVersionsRequest(params) +// // Example sending a request using the ListAnalysesRequest method. +// req, resp := client.ListAnalysesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDashboardVersions -func (c *QuickSight) ListDashboardVersionsRequest(input *ListDashboardVersionsInput) (req *request.Request, output *ListDashboardVersionsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListAnalyses +func (c *QuickSight) ListAnalysesRequest(input *ListAnalysesInput) (req *request.Request, output *ListAnalysesOutput) { op := &request.Operation{ - Name: opListDashboardVersions, + Name: opListAnalyses, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/versions", + HTTPPath: "/accounts/{AwsAccountId}/analyses", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, @@ -5073,32 +5543,26 @@ func (c *QuickSight) ListDashboardVersionsRequest(input *ListDashboardVersionsIn } if input == nil { - input = &ListDashboardVersionsInput{} + input = &ListAnalysesInput{} } - output = &ListDashboardVersionsOutput{} + output = &ListAnalysesOutput{} req = c.newRequest(op, input, output) return } -// ListDashboardVersions API operation for Amazon QuickSight. +// ListAnalyses API operation for Amazon QuickSight. // -// Lists all the versions of the dashboards in the QuickSight subscription. +// Lists Amazon QuickSight analyses that exist in the specified AWS account. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for Amazon QuickSight's -// API operation ListDashboardVersions for usage and error information. +// API operation ListAnalyses for usage and error information. // // Returned Error Types: -// * InvalidParameterValueException -// One or more parameters has a value that isn't valid. -// -// * ResourceNotFoundException -// One or more resources can't be found. -// // * ThrottlingException // Access is throttled. // @@ -5114,65 +5578,65 @@ func (c *QuickSight) ListDashboardVersionsRequest(input *ListDashboardVersionsIn // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDashboardVersions -func (c *QuickSight) ListDashboardVersions(input *ListDashboardVersionsInput) (*ListDashboardVersionsOutput, error) { - req, out := c.ListDashboardVersionsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListAnalyses +func (c *QuickSight) ListAnalyses(input *ListAnalysesInput) (*ListAnalysesOutput, error) { + req, out := c.ListAnalysesRequest(input) return out, req.Send() } -// ListDashboardVersionsWithContext is the same as ListDashboardVersions with the addition of +// ListAnalysesWithContext is the same as ListAnalyses with the addition of // the ability to pass a context and additional request options. // -// See ListDashboardVersions for details on how to use this API operation. +// See ListAnalyses 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 *QuickSight) ListDashboardVersionsWithContext(ctx aws.Context, input *ListDashboardVersionsInput, opts ...request.Option) (*ListDashboardVersionsOutput, error) { - req, out := c.ListDashboardVersionsRequest(input) +func (c *QuickSight) ListAnalysesWithContext(ctx aws.Context, input *ListAnalysesInput, opts ...request.Option) (*ListAnalysesOutput, error) { + req, out := c.ListAnalysesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListDashboardVersionsPages iterates over the pages of a ListDashboardVersions operation, +// ListAnalysesPages iterates over the pages of a ListAnalyses operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListDashboardVersions method for more information on how to use this operation. +// See ListAnalyses 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 ListDashboardVersions operation. +// // Example iterating over at most 3 pages of a ListAnalyses operation. // pageNum := 0 -// err := client.ListDashboardVersionsPages(params, -// func(page *quicksight.ListDashboardVersionsOutput, lastPage bool) bool { +// err := client.ListAnalysesPages(params, +// func(page *quicksight.ListAnalysesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) // -func (c *QuickSight) ListDashboardVersionsPages(input *ListDashboardVersionsInput, fn func(*ListDashboardVersionsOutput, bool) bool) error { - return c.ListDashboardVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *QuickSight) ListAnalysesPages(input *ListAnalysesInput, fn func(*ListAnalysesOutput, bool) bool) error { + return c.ListAnalysesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListDashboardVersionsPagesWithContext same as ListDashboardVersionsPages except +// ListAnalysesPagesWithContext same as ListAnalysesPages 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 *QuickSight) ListDashboardVersionsPagesWithContext(ctx aws.Context, input *ListDashboardVersionsInput, fn func(*ListDashboardVersionsOutput, bool) bool, opts ...request.Option) error { +func (c *QuickSight) ListAnalysesPagesWithContext(ctx aws.Context, input *ListAnalysesInput, fn func(*ListAnalysesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListDashboardVersionsInput + var inCpy *ListAnalysesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListDashboardVersionsRequest(inCpy) + req, _ := c.ListAnalysesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -5180,7 +5644,7 @@ func (c *QuickSight) ListDashboardVersionsPagesWithContext(ctx aws.Context, inpu } for p.Next() { - if !fn(p.Page().(*ListDashboardVersionsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListAnalysesOutput), !p.HasNextPage()) { break } } @@ -5188,37 +5652,37 @@ func (c *QuickSight) ListDashboardVersionsPagesWithContext(ctx aws.Context, inpu return p.Err() } -const opListDashboards = "ListDashboards" +const opListDashboardVersions = "ListDashboardVersions" -// ListDashboardsRequest generates a "aws/request.Request" representing the -// client's request for the ListDashboards operation. The "output" return +// ListDashboardVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListDashboardVersions 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 ListDashboards for more information on using the ListDashboards +// See ListDashboardVersions for more information on using the ListDashboardVersions // 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 ListDashboardsRequest method. -// req, resp := client.ListDashboardsRequest(params) +// // Example sending a request using the ListDashboardVersionsRequest method. +// req, resp := client.ListDashboardVersionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDashboards -func (c *QuickSight) ListDashboardsRequest(input *ListDashboardsInput) (req *request.Request, output *ListDashboardsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDashboardVersions +func (c *QuickSight) ListDashboardVersionsRequest(input *ListDashboardVersionsInput) (req *request.Request, output *ListDashboardVersionsOutput) { op := &request.Operation{ - Name: opListDashboards, + Name: opListDashboardVersions, HTTPMethod: "GET", - HTTPPath: "/accounts/{AwsAccountId}/dashboards", + HTTPPath: "/accounts/{AwsAccountId}/dashboards/{DashboardId}/versions", Paginator: &request.Paginator{ InputTokens: []string{"NextToken"}, OutputTokens: []string{"NextToken"}, @@ -5228,15 +5692,170 @@ func (c *QuickSight) ListDashboardsRequest(input *ListDashboardsInput) (req *req } if input == nil { - input = &ListDashboardsInput{} + input = &ListDashboardVersionsInput{} } - output = &ListDashboardsOutput{} + output = &ListDashboardVersionsOutput{} req = c.newRequest(op, input, output) return } -// ListDashboards API operation for Amazon QuickSight. +// ListDashboardVersions API operation for Amazon QuickSight. +// +// Lists all the versions of the dashboards in the QuickSight subscription. +// +// 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 QuickSight's +// API operation ListDashboardVersions for usage and error information. +// +// Returned Error Types: +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * InvalidNextTokenException +// The NextToken value isn't valid. +// +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDashboardVersions +func (c *QuickSight) ListDashboardVersions(input *ListDashboardVersionsInput) (*ListDashboardVersionsOutput, error) { + req, out := c.ListDashboardVersionsRequest(input) + return out, req.Send() +} + +// ListDashboardVersionsWithContext is the same as ListDashboardVersions with the addition of +// the ability to pass a context and additional request options. +// +// See ListDashboardVersions 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 *QuickSight) ListDashboardVersionsWithContext(ctx aws.Context, input *ListDashboardVersionsInput, opts ...request.Option) (*ListDashboardVersionsOutput, error) { + req, out := c.ListDashboardVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListDashboardVersionsPages iterates over the pages of a ListDashboardVersions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListDashboardVersions 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 ListDashboardVersions operation. +// pageNum := 0 +// err := client.ListDashboardVersionsPages(params, +// func(page *quicksight.ListDashboardVersionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QuickSight) ListDashboardVersionsPages(input *ListDashboardVersionsInput, fn func(*ListDashboardVersionsOutput, bool) bool) error { + return c.ListDashboardVersionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListDashboardVersionsPagesWithContext same as ListDashboardVersionsPages 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 *QuickSight) ListDashboardVersionsPagesWithContext(ctx aws.Context, input *ListDashboardVersionsInput, fn func(*ListDashboardVersionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListDashboardVersionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListDashboardVersionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListDashboardVersionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListDashboards = "ListDashboards" + +// ListDashboardsRequest generates a "aws/request.Request" representing the +// client's request for the ListDashboards 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 ListDashboards for more information on using the ListDashboards +// 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 ListDashboardsRequest method. +// req, resp := client.ListDashboardsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/ListDashboards +func (c *QuickSight) ListDashboardsRequest(input *ListDashboardsInput) (req *request.Request, output *ListDashboardsOutput) { + op := &request.Operation{ + Name: opListDashboards, + HTTPMethod: "GET", + HTTPPath: "/accounts/{AwsAccountId}/dashboards", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListDashboardsInput{} + } + + output = &ListDashboardsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDashboards API operation for Amazon QuickSight. // // Lists dashboards in an AWS account. // @@ -6028,8 +6647,8 @@ func (c *QuickSight) ListIAMPolicyAssignmentsForUserRequest(input *ListIAMPolicy // Access is throttled. // // * ConcurrentUpdatingException -// A resource is already in a state that indicates an action is happening that -// must complete before a new update can be applied. +// A resource is already in a state that indicates an operation is happening +// that must complete before a new update can be applied. // // * InternalFailureException // An internal failure occurred. @@ -7558,190 +8177,442 @@ func (c *QuickSight) RegisterUserWithContext(ctx aws.Context, input *RegisterUse return out, req.Send() } -const opSearchDashboards = "SearchDashboards" +const opRestoreAnalysis = "RestoreAnalysis" -// SearchDashboardsRequest generates a "aws/request.Request" representing the -// client's request for the SearchDashboards operation. The "output" return +// RestoreAnalysisRequest generates a "aws/request.Request" representing the +// client's request for the RestoreAnalysis 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 SearchDashboards for more information on using the SearchDashboards +// See RestoreAnalysis for more information on using the RestoreAnalysis // 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 SearchDashboardsRequest method. -// req, resp := client.SearchDashboardsRequest(params) +// // Example sending a request using the RestoreAnalysisRequest method. +// req, resp := client.RestoreAnalysisRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/SearchDashboards -func (c *QuickSight) SearchDashboardsRequest(input *SearchDashboardsInput) (req *request.Request, output *SearchDashboardsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/RestoreAnalysis +func (c *QuickSight) RestoreAnalysisRequest(input *RestoreAnalysisInput) (req *request.Request, output *RestoreAnalysisOutput) { op := &request.Operation{ - Name: opSearchDashboards, + Name: opRestoreAnalysis, HTTPMethod: "POST", - HTTPPath: "/accounts/{AwsAccountId}/search/dashboards", - Paginator: &request.Paginator{ - InputTokens: []string{"NextToken"}, - OutputTokens: []string{"NextToken"}, - LimitToken: "MaxResults", - TruncationToken: "", - }, + HTTPPath: "/accounts/{AwsAccountId}/restore/analyses/{AnalysisId}", } if input == nil { - input = &SearchDashboardsInput{} + input = &RestoreAnalysisInput{} } - output = &SearchDashboardsOutput{} + output = &RestoreAnalysisOutput{} req = c.newRequest(op, input, output) return } -// SearchDashboards API operation for Amazon QuickSight. +// RestoreAnalysis API operation for Amazon QuickSight. // -// Searchs for dashboards that belong to a user. +// Restores an analysis. // // 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 QuickSight's -// API operation SearchDashboards for usage and error information. +// API operation RestoreAnalysis for usage and error information. // // Returned Error Types: // * ThrottlingException // Access is throttled. // -// * ResourceNotFoundException -// One or more resources can't be found. -// // * InvalidParameterValueException // One or more parameters has a value that isn't valid. // +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// // * UnsupportedUserEditionException // This error indicates that you are calling an operation on an Amazon QuickSight // subscription where the edition doesn't include support for that operation. // Amazon QuickSight currently has Standard Edition and Enterprise Edition. // Not every operation and capability is available in every edition. // -// * InvalidNextTokenException -// The NextToken value isn't valid. -// // * InternalFailureException // An internal failure occurred. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/SearchDashboards -func (c *QuickSight) SearchDashboards(input *SearchDashboardsInput) (*SearchDashboardsOutput, error) { - req, out := c.SearchDashboardsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/RestoreAnalysis +func (c *QuickSight) RestoreAnalysis(input *RestoreAnalysisInput) (*RestoreAnalysisOutput, error) { + req, out := c.RestoreAnalysisRequest(input) return out, req.Send() } -// SearchDashboardsWithContext is the same as SearchDashboards with the addition of +// RestoreAnalysisWithContext is the same as RestoreAnalysis with the addition of // the ability to pass a context and additional request options. // -// See SearchDashboards for details on how to use this API operation. +// See RestoreAnalysis 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 *QuickSight) SearchDashboardsWithContext(ctx aws.Context, input *SearchDashboardsInput, opts ...request.Option) (*SearchDashboardsOutput, error) { - req, out := c.SearchDashboardsRequest(input) +func (c *QuickSight) RestoreAnalysisWithContext(ctx aws.Context, input *RestoreAnalysisInput, opts ...request.Option) (*RestoreAnalysisOutput, error) { + req, out := c.RestoreAnalysisRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// SearchDashboardsPages iterates over the pages of a SearchDashboards operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See SearchDashboards 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 SearchDashboards operation. -// pageNum := 0 -// err := client.SearchDashboardsPages(params, -// func(page *quicksight.SearchDashboardsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -// -func (c *QuickSight) SearchDashboardsPages(input *SearchDashboardsInput, fn func(*SearchDashboardsOutput, bool) bool) error { - return c.SearchDashboardsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// SearchDashboardsPagesWithContext same as SearchDashboardsPages 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 *QuickSight) SearchDashboardsPagesWithContext(ctx aws.Context, input *SearchDashboardsInput, fn func(*SearchDashboardsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *SearchDashboardsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.SearchDashboardsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*SearchDashboardsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opTagResource = "TagResource" +const opSearchAnalyses = "SearchAnalyses" -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// SearchAnalysesRequest generates a "aws/request.Request" representing the +// client's request for the SearchAnalyses operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See TagResource for more information on using the TagResource +// See SearchAnalyses for more information on using the SearchAnalyses // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // // -// // Example sending a request using the TagResourceRequest method. -// req, resp := client.TagResourceRequest(params) +// // Example sending a request using the SearchAnalysesRequest method. +// req, resp := client.SearchAnalysesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/TagResource -func (c *QuickSight) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/SearchAnalyses +func (c *QuickSight) SearchAnalysesRequest(input *SearchAnalysesInput) (req *request.Request, output *SearchAnalysesOutput) { op := &request.Operation{ - Name: opTagResource, + Name: opSearchAnalyses, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/search/analyses", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &SearchAnalysesInput{} + } + + output = &SearchAnalysesOutput{} + req = c.newRequest(op, input, output) + return +} + +// SearchAnalyses API operation for Amazon QuickSight. +// +// Searches for analyses that belong to the user specified in the filter. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation SearchAnalyses for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// Access is throttled. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * InvalidNextTokenException +// The NextToken value isn't valid. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/SearchAnalyses +func (c *QuickSight) SearchAnalyses(input *SearchAnalysesInput) (*SearchAnalysesOutput, error) { + req, out := c.SearchAnalysesRequest(input) + return out, req.Send() +} + +// SearchAnalysesWithContext is the same as SearchAnalyses with the addition of +// the ability to pass a context and additional request options. +// +// See SearchAnalyses 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 *QuickSight) SearchAnalysesWithContext(ctx aws.Context, input *SearchAnalysesInput, opts ...request.Option) (*SearchAnalysesOutput, error) { + req, out := c.SearchAnalysesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// SearchAnalysesPages iterates over the pages of a SearchAnalyses operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SearchAnalyses 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 SearchAnalyses operation. +// pageNum := 0 +// err := client.SearchAnalysesPages(params, +// func(page *quicksight.SearchAnalysesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QuickSight) SearchAnalysesPages(input *SearchAnalysesInput, fn func(*SearchAnalysesOutput, bool) bool) error { + return c.SearchAnalysesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// SearchAnalysesPagesWithContext same as SearchAnalysesPages 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 *QuickSight) SearchAnalysesPagesWithContext(ctx aws.Context, input *SearchAnalysesInput, fn func(*SearchAnalysesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *SearchAnalysesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.SearchAnalysesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*SearchAnalysesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opSearchDashboards = "SearchDashboards" + +// SearchDashboardsRequest generates a "aws/request.Request" representing the +// client's request for the SearchDashboards 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 SearchDashboards for more information on using the SearchDashboards +// 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 SearchDashboardsRequest method. +// req, resp := client.SearchDashboardsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/SearchDashboards +func (c *QuickSight) SearchDashboardsRequest(input *SearchDashboardsInput) (req *request.Request, output *SearchDashboardsOutput) { + op := &request.Operation{ + Name: opSearchDashboards, + HTTPMethod: "POST", + HTTPPath: "/accounts/{AwsAccountId}/search/dashboards", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &SearchDashboardsInput{} + } + + output = &SearchDashboardsOutput{} + req = c.newRequest(op, input, output) + return +} + +// SearchDashboards API operation for Amazon QuickSight. +// +// Searches for dashboards that belong to a user. +// +// 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 QuickSight's +// API operation SearchDashboards for usage and error information. +// +// Returned Error Types: +// * ThrottlingException +// Access is throttled. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * InvalidNextTokenException +// The NextToken value isn't valid. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/SearchDashboards +func (c *QuickSight) SearchDashboards(input *SearchDashboardsInput) (*SearchDashboardsOutput, error) { + req, out := c.SearchDashboardsRequest(input) + return out, req.Send() +} + +// SearchDashboardsWithContext is the same as SearchDashboards with the addition of +// the ability to pass a context and additional request options. +// +// See SearchDashboards 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 *QuickSight) SearchDashboardsWithContext(ctx aws.Context, input *SearchDashboardsInput, opts ...request.Option) (*SearchDashboardsOutput, error) { + req, out := c.SearchDashboardsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// SearchDashboardsPages iterates over the pages of a SearchDashboards operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See SearchDashboards 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 SearchDashboards operation. +// pageNum := 0 +// err := client.SearchDashboardsPages(params, +// func(page *quicksight.SearchDashboardsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *QuickSight) SearchDashboardsPages(input *SearchDashboardsInput, fn func(*SearchDashboardsOutput, bool) bool) error { + return c.SearchDashboardsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// SearchDashboardsPagesWithContext same as SearchDashboardsPages 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 *QuickSight) SearchDashboardsPagesWithContext(ctx aws.Context, input *SearchDashboardsInput, fn func(*SearchDashboardsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *SearchDashboardsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.SearchDashboardsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*SearchDashboardsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See TagResource for more information on using the TagResource +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/TagResource +func (c *QuickSight) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, HTTPMethod: "POST", HTTPPath: "/resources/{ResourceArn}/tags", } @@ -7972,8 +8843,13 @@ func (c *QuickSight) UpdateAccountCustomizationRequest(input *UpdateAccountCusto // UpdateAccountCustomization API operation for Amazon QuickSight. // -// Updates customizations associated with the QuickSight subscription on your -// AWS account. +// Updates Amazon QuickSight customizations the current AWS Region. Currently, +// the only customization you can use is a theme. +// +// You can use customizations for your AWS account or, if you specify a namespace, +// for a QuickSight namespace instead. Customizations that apply to a namespace +// override customizations that apply to an AWS account. To find out which customizations +// apply, use the DescribeAccountCustomization API operation. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -8002,91 +8878,285 @@ func (c *QuickSight) UpdateAccountCustomizationRequest(input *UpdateAccountCusto // * InternalFailureException // An internal failure occurred. // -// * ResourceUnavailableException -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateAccountCustomization -func (c *QuickSight) UpdateAccountCustomization(input *UpdateAccountCustomizationInput) (*UpdateAccountCustomizationOutput, error) { - req, out := c.UpdateAccountCustomizationRequest(input) +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateAccountCustomization +func (c *QuickSight) UpdateAccountCustomization(input *UpdateAccountCustomizationInput) (*UpdateAccountCustomizationOutput, error) { + req, out := c.UpdateAccountCustomizationRequest(input) + return out, req.Send() +} + +// UpdateAccountCustomizationWithContext is the same as UpdateAccountCustomization with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAccountCustomization 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 *QuickSight) UpdateAccountCustomizationWithContext(ctx aws.Context, input *UpdateAccountCustomizationInput, opts ...request.Option) (*UpdateAccountCustomizationOutput, error) { + req, out := c.UpdateAccountCustomizationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateAccountSettings = "UpdateAccountSettings" + +// UpdateAccountSettingsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAccountSettings 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 UpdateAccountSettings for more information on using the UpdateAccountSettings +// 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 UpdateAccountSettingsRequest method. +// req, resp := client.UpdateAccountSettingsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateAccountSettings +func (c *QuickSight) UpdateAccountSettingsRequest(input *UpdateAccountSettingsInput) (req *request.Request, output *UpdateAccountSettingsOutput) { + op := &request.Operation{ + Name: opUpdateAccountSettings, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/settings", + } + + if input == nil { + input = &UpdateAccountSettingsInput{} + } + + output = &UpdateAccountSettingsOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateAccountSettings API operation for Amazon QuickSight. +// +// Updates the Amazon QuickSight settings in your AWS Account. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon QuickSight's +// API operation UpdateAccountSettings for usage and error information. +// +// Returned Error Types: +// * AccessDeniedException +// You don't have access to this item. The provided credentials couldn't be +// validated. You might not be authorized to carry out the request. Make sure +// that your account is authorized to use the Amazon QuickSight service, that +// your policies have the correct permissions, and that you are using the correct +// access keys. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * ThrottlingException +// Access is throttled. +// +// * InternalFailureException +// An internal failure occurred. +// +// * ResourceUnavailableException +// This resource is currently unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateAccountSettings +func (c *QuickSight) UpdateAccountSettings(input *UpdateAccountSettingsInput) (*UpdateAccountSettingsOutput, error) { + req, out := c.UpdateAccountSettingsRequest(input) + return out, req.Send() +} + +// UpdateAccountSettingsWithContext is the same as UpdateAccountSettings with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAccountSettings 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 *QuickSight) UpdateAccountSettingsWithContext(ctx aws.Context, input *UpdateAccountSettingsInput, opts ...request.Option) (*UpdateAccountSettingsOutput, error) { + req, out := c.UpdateAccountSettingsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateAnalysis = "UpdateAnalysis" + +// UpdateAnalysisRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAnalysis 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 UpdateAnalysis for more information on using the UpdateAnalysis +// 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 UpdateAnalysisRequest method. +// req, resp := client.UpdateAnalysisRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateAnalysis +func (c *QuickSight) UpdateAnalysisRequest(input *UpdateAnalysisInput) (req *request.Request, output *UpdateAnalysisOutput) { + op := &request.Operation{ + Name: opUpdateAnalysis, + HTTPMethod: "PUT", + HTTPPath: "/accounts/{AwsAccountId}/analyses/{AnalysisId}", + } + + if input == nil { + input = &UpdateAnalysisInput{} + } + + output = &UpdateAnalysisOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateAnalysis API operation for Amazon QuickSight. +// +// Updates an analysis in Amazon QuickSight +// +// 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 QuickSight's +// API operation UpdateAnalysis for usage and error information. +// +// Returned Error Types: +// * ResourceNotFoundException +// One or more resources can't be found. +// +// * InvalidParameterValueException +// One or more parameters has a value that isn't valid. +// +// * ThrottlingException +// Access is throttled. +// +// * ResourceExistsException +// The resource specified already exists. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * InternalFailureException +// An internal failure occurred. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateAnalysis +func (c *QuickSight) UpdateAnalysis(input *UpdateAnalysisInput) (*UpdateAnalysisOutput, error) { + req, out := c.UpdateAnalysisRequest(input) return out, req.Send() } -// UpdateAccountCustomizationWithContext is the same as UpdateAccountCustomization with the addition of +// UpdateAnalysisWithContext is the same as UpdateAnalysis with the addition of // the ability to pass a context and additional request options. // -// See UpdateAccountCustomization for details on how to use this API operation. +// See UpdateAnalysis 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 *QuickSight) UpdateAccountCustomizationWithContext(ctx aws.Context, input *UpdateAccountCustomizationInput, opts ...request.Option) (*UpdateAccountCustomizationOutput, error) { - req, out := c.UpdateAccountCustomizationRequest(input) +func (c *QuickSight) UpdateAnalysisWithContext(ctx aws.Context, input *UpdateAnalysisInput, opts ...request.Option) (*UpdateAnalysisOutput, error) { + req, out := c.UpdateAnalysisRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateAccountSettings = "UpdateAccountSettings" +const opUpdateAnalysisPermissions = "UpdateAnalysisPermissions" -// UpdateAccountSettingsRequest generates a "aws/request.Request" representing the -// client's request for the UpdateAccountSettings operation. The "output" return +// UpdateAnalysisPermissionsRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAnalysisPermissions 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 UpdateAccountSettings for more information on using the UpdateAccountSettings +// See UpdateAnalysisPermissions for more information on using the UpdateAnalysisPermissions // 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 UpdateAccountSettingsRequest method. -// req, resp := client.UpdateAccountSettingsRequest(params) +// // Example sending a request using the UpdateAnalysisPermissionsRequest method. +// req, resp := client.UpdateAnalysisPermissionsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateAccountSettings -func (c *QuickSight) UpdateAccountSettingsRequest(input *UpdateAccountSettingsInput) (req *request.Request, output *UpdateAccountSettingsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateAnalysisPermissions +func (c *QuickSight) UpdateAnalysisPermissionsRequest(input *UpdateAnalysisPermissionsInput) (req *request.Request, output *UpdateAnalysisPermissionsOutput) { op := &request.Operation{ - Name: opUpdateAccountSettings, + Name: opUpdateAnalysisPermissions, HTTPMethod: "PUT", - HTTPPath: "/accounts/{AwsAccountId}/settings", + HTTPPath: "/accounts/{AwsAccountId}/analyses/{AnalysisId}/permissions", } if input == nil { - input = &UpdateAccountSettingsInput{} + input = &UpdateAnalysisPermissionsInput{} } - output = &UpdateAccountSettingsOutput{} + output = &UpdateAnalysisPermissionsOutput{} req = c.newRequest(op, input, output) return } -// UpdateAccountSettings API operation for Amazon QuickSight. +// UpdateAnalysisPermissions API operation for Amazon QuickSight. // -// Updates the settings for the Amazon QuickSight subscription in your AWS Account. +// Updates the read and write permissions for an analysis. // // 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 QuickSight's -// API operation UpdateAccountSettings for usage and error information. +// API operation UpdateAnalysisPermissions for usage and error information. // // Returned Error Types: -// * AccessDeniedException -// You don't have access to this item. The provided credentials couldn't be -// validated. You might not be authorized to carry out the request. Make sure -// that your account is authorized to use the Amazon QuickSight service, that -// your policies have the correct permissions, and that you are using the correct -// access keys. +// * ThrottlingException +// Access is throttled. // // * InvalidParameterValueException // One or more parameters has a value that isn't valid. @@ -8094,32 +9164,35 @@ func (c *QuickSight) UpdateAccountSettingsRequest(input *UpdateAccountSettingsIn // * ResourceNotFoundException // One or more resources can't be found. // -// * ThrottlingException -// Access is throttled. +// * UnsupportedUserEditionException +// This error indicates that you are calling an operation on an Amazon QuickSight +// subscription where the edition doesn't include support for that operation. +// Amazon QuickSight currently has Standard Edition and Enterprise Edition. +// Not every operation and capability is available in every edition. +// +// * ConflictException +// Updating or deleting a resource can cause an inconsistent state. // // * InternalFailureException // An internal failure occurred. // -// * ResourceUnavailableException -// This resource is currently unavailable. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateAccountSettings -func (c *QuickSight) UpdateAccountSettings(input *UpdateAccountSettingsInput) (*UpdateAccountSettingsOutput, error) { - req, out := c.UpdateAccountSettingsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/quicksight-2018-04-01/UpdateAnalysisPermissions +func (c *QuickSight) UpdateAnalysisPermissions(input *UpdateAnalysisPermissionsInput) (*UpdateAnalysisPermissionsOutput, error) { + req, out := c.UpdateAnalysisPermissionsRequest(input) return out, req.Send() } -// UpdateAccountSettingsWithContext is the same as UpdateAccountSettings with the addition of +// UpdateAnalysisPermissionsWithContext is the same as UpdateAnalysisPermissions with the addition of // the ability to pass a context and additional request options. // -// See UpdateAccountSettings for details on how to use this API operation. +// See UpdateAnalysisPermissions 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 *QuickSight) UpdateAccountSettingsWithContext(ctx aws.Context, input *UpdateAccountSettingsInput, opts ...request.Option) (*UpdateAccountSettingsOutput, error) { - req, out := c.UpdateAccountSettingsRequest(input) +func (c *QuickSight) UpdateAnalysisPermissionsWithContext(ctx aws.Context, input *UpdateAnalysisPermissionsInput, opts ...request.Option) (*UpdateAnalysisPermissionsOutput, error) { + req, out := c.UpdateAnalysisPermissionsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() @@ -8998,8 +10071,8 @@ func (c *QuickSight) UpdateIAMPolicyAssignmentRequest(input *UpdateIAMPolicyAssi // Access is throttled. // // * ConcurrentUpdatingException -// A resource is already in a state that indicates an action is happening that -// must complete before a new update can be applied. +// A resource is already in a state that indicates an operation is happening +// that must complete before a new update can be applied. // // * InternalFailureException // An internal failure occurred. @@ -9810,7 +10883,8 @@ func (s *AccessDeniedException) RequestID() string { return s.RespMetadata.RequestID } -// The customizations associated with your AWS account for QuickSight. +// The Amazon QuickSight customizations associated with your AWS account or +// a QuickSight namespace in a specific AWS Region. type AccountCustomization struct { _ struct{} `type:"structure"` @@ -9838,13 +10912,16 @@ func (s *AccountCustomization) SetDefaultTheme(v string) *AccountCustomization { type AccountSettings struct { _ struct{} `type:"structure"` - // The name associated with the QuickSight subscription in your AWS account. + // The "account name" you provided for the QuickSight subscription in your AWS + // account. You create this name when you sign up for QuickSight. It is unique + // in all of AWS and it appears only in the console when users sign in. AccountName *string `type:"string"` // The default QuickSight namespace for your AWS account. DefaultNamespace *string `type:"string"` - // The edition of QuickSight that you're currently subscribed to. + // The edition of QuickSight that you're currently subscribed to: Enterprise + // edition or Standard edition. Edition *string `type:"string" enum:"Edition"` // The main notification email for your QuickSight subscription. @@ -9897,79 +10974,352 @@ type ActiveIAMPolicyAssignment struct { } // String returns the string representation -func (s ActiveIAMPolicyAssignment) String() string { +func (s ActiveIAMPolicyAssignment) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ActiveIAMPolicyAssignment) GoString() string { + return s.String() +} + +// SetAssignmentName sets the AssignmentName field's value. +func (s *ActiveIAMPolicyAssignment) SetAssignmentName(v string) *ActiveIAMPolicyAssignment { + s.AssignmentName = &v + return s +} + +// SetPolicyArn sets the PolicyArn field's value. +func (s *ActiveIAMPolicyAssignment) SetPolicyArn(v string) *ActiveIAMPolicyAssignment { + s.PolicyArn = &v + return s +} + +// Ad hoc (one-time) filtering option. +type AdHocFilteringOption struct { + _ struct{} `type:"structure"` + + // Availability status. + AvailabilityStatus *string `type:"string" enum:"DashboardBehavior"` +} + +// String returns the string representation +func (s AdHocFilteringOption) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AdHocFilteringOption) GoString() string { + return s.String() +} + +// SetAvailabilityStatus sets the AvailabilityStatus field's value. +func (s *AdHocFilteringOption) SetAvailabilityStatus(v string) *AdHocFilteringOption { + s.AvailabilityStatus = &v + return s +} + +// Amazon Elasticsearch Service parameters. +type AmazonElasticsearchParameters struct { + _ struct{} `type:"structure"` + + // The Amazon Elasticsearch Service domain. + // + // Domain is a required field + Domain *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s AmazonElasticsearchParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AmazonElasticsearchParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AmazonElasticsearchParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AmazonElasticsearchParameters"} + if s.Domain == nil { + invalidParams.Add(request.NewErrParamRequired("Domain")) + } + if s.Domain != nil && len(*s.Domain) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Domain", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomain sets the Domain field's value. +func (s *AmazonElasticsearchParameters) SetDomain(v string) *AmazonElasticsearchParameters { + s.Domain = &v + return s +} + +// Metadata structure for an analysis in Amazon QuickSight +type Analysis struct { + _ struct{} `type:"structure"` + + // The ID of the analysis. + AnalysisId *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the analysis. + Arn *string `type:"string"` + + // The time that the analysis was created. + CreatedTime *time.Time `type:"timestamp"` + + // The ARNs of the datasets of the analysis. + DataSetArns []*string `type:"list"` + + // Errors associated with the analysis. + Errors []*AnalysisError `min:"1" type:"list"` + + // The time that the analysis was last updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // The descriptive name of the analysis. + Name *string `min:"1" type:"string"` + + // Status associated with the analysis. + Status *string `type:"string" enum:"ResourceStatus"` + + // The ARN of the theme of the analysis. + ThemeArn *string `type:"string"` +} + +// String returns the string representation +func (s Analysis) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Analysis) GoString() string { + return s.String() +} + +// SetAnalysisId sets the AnalysisId field's value. +func (s *Analysis) SetAnalysisId(v string) *Analysis { + s.AnalysisId = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *Analysis) SetArn(v string) *Analysis { + s.Arn = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *Analysis) SetCreatedTime(v time.Time) *Analysis { + s.CreatedTime = &v + return s +} + +// SetDataSetArns sets the DataSetArns field's value. +func (s *Analysis) SetDataSetArns(v []*string) *Analysis { + s.DataSetArns = v + return s +} + +// SetErrors sets the Errors field's value. +func (s *Analysis) SetErrors(v []*AnalysisError) *Analysis { + s.Errors = v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *Analysis) SetLastUpdatedTime(v time.Time) *Analysis { + s.LastUpdatedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *Analysis) SetName(v string) *Analysis { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *Analysis) SetStatus(v string) *Analysis { + s.Status = &v + return s +} + +// SetThemeArn sets the ThemeArn field's value. +func (s *Analysis) SetThemeArn(v string) *Analysis { + s.ThemeArn = &v + return s +} + +// A metadata error structure for an analysis. +type AnalysisError struct { + _ struct{} `type:"structure"` + + // The message associated with the analysis error. + Message *string `type:"string"` + + // The type of the analysis error. + Type *string `type:"string" enum:"AnalysisErrorType"` +} + +// String returns the string representation +func (s AnalysisError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AnalysisError) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *AnalysisError) SetMessage(v string) *AnalysisError { + s.Message = &v + return s +} + +// SetType sets the Type field's value. +func (s *AnalysisError) SetType(v string) *AnalysisError { + s.Type = &v + return s +} + +// A filter that you apply when searching for one or more analyses. +type AnalysisSearchFilter struct { + _ struct{} `type:"structure"` + + // The name of the value that you want to use as a filter, for example "Name": + // "QUICKSIGHT_USER". + Name *string `type:"string" enum:"AnalysisFilterAttribute"` + + // The comparison operator that you want to use as a filter, for example "Operator": + // "StringEquals". + Operator *string `type:"string" enum:"FilterOperator"` + + // The value of the named item, in this case QUICKSIGHT_USER, that you want + // to use as a filter, for example "Value". An example is "arn:aws:quicksight:us-east-1:1:user/default/UserName1". + Value *string `type:"string"` +} + +// String returns the string representation +func (s AnalysisSearchFilter) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s ActiveIAMPolicyAssignment) GoString() string { +func (s AnalysisSearchFilter) GoString() string { return s.String() } -// SetAssignmentName sets the AssignmentName field's value. -func (s *ActiveIAMPolicyAssignment) SetAssignmentName(v string) *ActiveIAMPolicyAssignment { - s.AssignmentName = &v +// SetName sets the Name field's value. +func (s *AnalysisSearchFilter) SetName(v string) *AnalysisSearchFilter { + s.Name = &v return s } -// SetPolicyArn sets the PolicyArn field's value. -func (s *ActiveIAMPolicyAssignment) SetPolicyArn(v string) *ActiveIAMPolicyAssignment { - s.PolicyArn = &v +// SetOperator sets the Operator field's value. +func (s *AnalysisSearchFilter) SetOperator(v string) *AnalysisSearchFilter { + s.Operator = &v return s } -// Ad hoc (one-time) filtering option. -type AdHocFilteringOption struct { +// SetValue sets the Value field's value. +func (s *AnalysisSearchFilter) SetValue(v string) *AnalysisSearchFilter { + s.Value = &v + return s +} + +// The source entity of an analysis. +type AnalysisSourceEntity struct { _ struct{} `type:"structure"` - // Availability status. - AvailabilityStatus *string `type:"string" enum:"DashboardBehavior"` + // The source template for the source entity of the analysis. + SourceTemplate *AnalysisSourceTemplate `type:"structure"` } // String returns the string representation -func (s AdHocFilteringOption) String() string { +func (s AnalysisSourceEntity) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AdHocFilteringOption) GoString() string { +func (s AnalysisSourceEntity) GoString() string { return s.String() } -// SetAvailabilityStatus sets the AvailabilityStatus field's value. -func (s *AdHocFilteringOption) SetAvailabilityStatus(v string) *AdHocFilteringOption { - s.AvailabilityStatus = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *AnalysisSourceEntity) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AnalysisSourceEntity"} + if s.SourceTemplate != nil { + if err := s.SourceTemplate.Validate(); err != nil { + invalidParams.AddNested("SourceTemplate", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSourceTemplate sets the SourceTemplate field's value. +func (s *AnalysisSourceEntity) SetSourceTemplate(v *AnalysisSourceTemplate) *AnalysisSourceEntity { + s.SourceTemplate = v return s } -// Amazon Elasticsearch Service parameters. -type AmazonElasticsearchParameters struct { +// The source template of an analysis. +type AnalysisSourceTemplate struct { _ struct{} `type:"structure"` - // The Amazon Elasticsearch Service domain. + // The Amazon Resource Name (ARN) of the source template of an analysis. // - // Domain is a required field - Domain *string `min:"1" type:"string" required:"true"` + // Arn is a required field + Arn *string `type:"string" required:"true"` + + // The dataset references of the source template of an analysis. + // + // DataSetReferences is a required field + DataSetReferences []*DataSetReference `min:"1" type:"list" required:"true"` } // String returns the string representation -func (s AmazonElasticsearchParameters) String() string { +func (s AnalysisSourceTemplate) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s AmazonElasticsearchParameters) GoString() string { +func (s AnalysisSourceTemplate) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AmazonElasticsearchParameters) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AmazonElasticsearchParameters"} - if s.Domain == nil { - invalidParams.Add(request.NewErrParamRequired("Domain")) +func (s *AnalysisSourceTemplate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AnalysisSourceTemplate"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) } - if s.Domain != nil && len(*s.Domain) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Domain", 1)) + if s.DataSetReferences == nil { + invalidParams.Add(request.NewErrParamRequired("DataSetReferences")) + } + if s.DataSetReferences != nil && len(s.DataSetReferences) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DataSetReferences", 1)) + } + if s.DataSetReferences != nil { + for i, v := range s.DataSetReferences { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DataSetReferences", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -9978,9 +11328,84 @@ func (s *AmazonElasticsearchParameters) Validate() error { return nil } -// SetDomain sets the Domain field's value. -func (s *AmazonElasticsearchParameters) SetDomain(v string) *AmazonElasticsearchParameters { - s.Domain = &v +// SetArn sets the Arn field's value. +func (s *AnalysisSourceTemplate) SetArn(v string) *AnalysisSourceTemplate { + s.Arn = &v + return s +} + +// SetDataSetReferences sets the DataSetReferences field's value. +func (s *AnalysisSourceTemplate) SetDataSetReferences(v []*DataSetReference) *AnalysisSourceTemplate { + s.DataSetReferences = v + return s +} + +// The summary metadata that describes an analysis. +type AnalysisSummary struct { + _ struct{} `type:"structure"` + + // The ID of the analysis. This ID displays in the URL. + AnalysisId *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) for the analysis. + Arn *string `type:"string"` + + // The time that the analysis was created. + CreatedTime *time.Time `type:"timestamp"` + + // The time that the analysis was last updated. + LastUpdatedTime *time.Time `type:"timestamp"` + + // The name of the analysis. This name is displayed in the QuickSight console. + Name *string `min:"1" type:"string"` + + // The last known status for the analysis. + Status *string `type:"string" enum:"ResourceStatus"` +} + +// String returns the string representation +func (s AnalysisSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AnalysisSummary) GoString() string { + return s.String() +} + +// SetAnalysisId sets the AnalysisId field's value. +func (s *AnalysisSummary) SetAnalysisId(v string) *AnalysisSummary { + s.AnalysisId = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *AnalysisSummary) SetArn(v string) *AnalysisSummary { + s.Arn = &v + return s +} + +// SetCreatedTime sets the CreatedTime field's value. +func (s *AnalysisSummary) SetCreatedTime(v time.Time) *AnalysisSummary { + s.CreatedTime = &v + return s +} + +// SetLastUpdatedTime sets the LastUpdatedTime field's value. +func (s *AnalysisSummary) SetLastUpdatedTime(v time.Time) *AnalysisSummary { + s.LastUpdatedTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *AnalysisSummary) SetName(v string) *AnalysisSummary { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AnalysisSummary) SetStatus(v string) *AnalysisSummary { + s.Status = &v return s } @@ -10674,8 +12099,8 @@ func (s *ColumnTag) SetColumnGeographicRole(v string) *ColumnTag { return s } -// A resource is already in a state that indicates an action is happening that -// must complete before a new update can be applied. +// A resource is already in a state that indicates an operation is happening +// that must complete before a new update can be applied. type ConcurrentUpdatingException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -10765,68 +12190,229 @@ func (s *ConflictException) Code() string { return "ConflictException" } -// Message returns the exception's message. -func (s *ConflictException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateAccountCustomizationInput struct { + _ struct{} `type:"structure"` + + // The QuickSight customizations you're adding in the current AWS Region. You + // can add these to an AWS account and a QuickSight namespace. + // + // For example, you could add a default theme by setting AccountCustomization + // to the midnight theme: "AccountCustomization": { "DefaultTheme": "arn:aws:quicksight::aws:theme/MIDNIGHT" + // }. . Or, you could add a custom theme by specifying "AccountCustomization": + // { "DefaultTheme": "arn:aws:quicksight:us-west-2:111122223333:theme/bdb844d0-0fe9-4d9d-b520-0fe602d93639" + // }. + // + // AccountCustomization is a required field + AccountCustomization *AccountCustomization `type:"structure" required:"true"` + + // The ID for the AWS account that you want to customize QuickSight for. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The QuickSight namespace that you want to add customizations to. + Namespace *string `location:"querystring" locationName:"namespace" type:"string"` +} + +// String returns the string representation +func (s CreateAccountCustomizationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAccountCustomizationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAccountCustomizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAccountCustomizationInput"} + if s.AccountCustomization == nil { + invalidParams.Add(request.NewErrParamRequired("AccountCustomization")) + } + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountCustomization sets the AccountCustomization field's value. +func (s *CreateAccountCustomizationInput) SetAccountCustomization(v *AccountCustomization) *CreateAccountCustomizationInput { + s.AccountCustomization = v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateAccountCustomizationInput) SetAwsAccountId(v string) *CreateAccountCustomizationInput { + s.AwsAccountId = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *CreateAccountCustomizationInput) SetNamespace(v string) *CreateAccountCustomizationInput { + s.Namespace = &v + return s +} + +type CreateAccountCustomizationOutput struct { + _ struct{} `type:"structure"` + + // The QuickSight customizations you're adding in the current AWS Region. + AccountCustomization *AccountCustomization `type:"structure"` + + // The ID for the AWS account that you want to customize QuickSight for. + AwsAccountId *string `min:"12" type:"string"` + + // The namespace associated with the customization you're creating. + Namespace *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s CreateAccountCustomizationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateAccountCustomizationOutput) GoString() string { + return s.String() +} + +// SetAccountCustomization sets the AccountCustomization field's value. +func (s *CreateAccountCustomizationOutput) SetAccountCustomization(v *AccountCustomization) *CreateAccountCustomizationOutput { + s.AccountCustomization = v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ConflictException) OrigErr() error { - return nil +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *CreateAccountCustomizationOutput) SetAwsAccountId(v string) *CreateAccountCustomizationOutput { + s.AwsAccountId = &v + return s } -func (s *ConflictException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetNamespace sets the Namespace field's value. +func (s *CreateAccountCustomizationOutput) SetNamespace(v string) *CreateAccountCustomizationOutput { + s.Namespace = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *ConflictException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetRequestId sets the RequestId field's value. +func (s *CreateAccountCustomizationOutput) SetRequestId(v string) *CreateAccountCustomizationOutput { + s.RequestId = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ConflictException) RequestID() string { - return s.RespMetadata.RequestID +// SetStatus sets the Status field's value. +func (s *CreateAccountCustomizationOutput) SetStatus(v int64) *CreateAccountCustomizationOutput { + s.Status = &v + return s } -type CreateAccountCustomizationInput struct { +type CreateAnalysisInput struct { _ struct{} `type:"structure"` - // The customizations you're adding to the QuickSight subscription for the AWS - // account. For example, you could add a default theme by setting AccountCustomization - // to the midnight theme (DefaultTheme="arn:aws:quicksight::aws:theme/MIDNIGHT") - // or to a custom theme (DefaultTheme="arn:aws:quicksight:us-west-2:111122223333:theme/bdb844d0-0fe9-4d9d-b520-0fe602d93639"). + // The ID for the analysis that you're creating. This ID displays in the URL + // of the analysis. // - // AccountCustomization is a required field - AccountCustomization *AccountCustomization `type:"structure" required:"true"` + // AnalysisId is a required field + AnalysisId *string `location:"uri" locationName:"AnalysisId" min:"1" type:"string" required:"true"` - // The ID for the AWS account that you want to customize QuickSight for. + // The ID of the AWS account where you are creating an analysis. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The namespace associated with the customization that you're creating. - Namespace *string `location:"querystring" locationName:"namespace" type:"string"` + // A descriptive name for the analysis that you're creating. This name displays + // for the analysis in the QuickSight console. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The parameter names and override values that you want to use. An analysis + // can have any parameter type, and some parameters might accept multiple values. + Parameters *Parameters `type:"structure"` + + // A structure that describes the principals and the resource-level permissions + // on an analysis. You can use the Permissions structure to grant permissions + // by providing a list of AWS Identity and Access Management (IAM) action information + // for each principal listed by Amazon Resource Name (ARN). + // + // To specify no permissions, omit Permissions. + Permissions []*ResourcePermission `min:"1" type:"list"` + + // A source entity to use for the analysis that you're creating. This metadata + // structure contains details that describe a source template and one or more + // datasets. + // + // SourceEntity is a required field + SourceEntity *AnalysisSourceEntity `type:"structure" required:"true"` + + // Contains a map of the key-value pairs for the resource tag or tags assigned + // to the analysis. + Tags []*Tag `min:"1" type:"list"` + + // The ARN for the theme to apply to the analysis that you're creating. To see + // the theme in the QuickSight console, make sure that you have access to it. + ThemeArn *string `type:"string"` } // String returns the string representation -func (s CreateAccountCustomizationInput) String() string { +func (s CreateAnalysisInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateAccountCustomizationInput) GoString() string { +func (s CreateAnalysisInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateAccountCustomizationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateAccountCustomizationInput"} - if s.AccountCustomization == nil { - invalidParams.Add(request.NewErrParamRequired("AccountCustomization")) +func (s *CreateAnalysisInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAnalysisInput"} + if s.AnalysisId == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisId")) + } + if s.AnalysisId != nil && len(*s.AnalysisId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisId", 1)) } if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) @@ -10834,6 +12420,51 @@ func (s *CreateAccountCustomizationInput) Validate() error { if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Permissions != nil && len(s.Permissions) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Permissions", 1)) + } + if s.SourceEntity == nil { + invalidParams.Add(request.NewErrParamRequired("SourceEntity")) + } + if s.Tags != nil && len(s.Tags) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) + } + if s.Parameters != nil { + if err := s.Parameters.Validate(); err != nil { + invalidParams.AddNested("Parameters", err.(request.ErrInvalidParams)) + } + } + if s.Permissions != nil { + for i, v := range s.Permissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Permissions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.SourceEntity != nil { + if err := s.SourceEntity.Validate(); err != nil { + invalidParams.AddNested("SourceEntity", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -10841,36 +12472,65 @@ func (s *CreateAccountCustomizationInput) Validate() error { return nil } -// SetAccountCustomization sets the AccountCustomization field's value. -func (s *CreateAccountCustomizationInput) SetAccountCustomization(v *AccountCustomization) *CreateAccountCustomizationInput { - s.AccountCustomization = v +// SetAnalysisId sets the AnalysisId field's value. +func (s *CreateAnalysisInput) SetAnalysisId(v string) *CreateAnalysisInput { + s.AnalysisId = &v return s } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *CreateAccountCustomizationInput) SetAwsAccountId(v string) *CreateAccountCustomizationInput { +func (s *CreateAnalysisInput) SetAwsAccountId(v string) *CreateAnalysisInput { s.AwsAccountId = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *CreateAccountCustomizationInput) SetNamespace(v string) *CreateAccountCustomizationInput { - s.Namespace = &v +// SetName sets the Name field's value. +func (s *CreateAnalysisInput) SetName(v string) *CreateAnalysisInput { + s.Name = &v return s } -type CreateAccountCustomizationOutput struct { +// SetParameters sets the Parameters field's value. +func (s *CreateAnalysisInput) SetParameters(v *Parameters) *CreateAnalysisInput { + s.Parameters = v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *CreateAnalysisInput) SetPermissions(v []*ResourcePermission) *CreateAnalysisInput { + s.Permissions = v + return s +} + +// SetSourceEntity sets the SourceEntity field's value. +func (s *CreateAnalysisInput) SetSourceEntity(v *AnalysisSourceEntity) *CreateAnalysisInput { + s.SourceEntity = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateAnalysisInput) SetTags(v []*Tag) *CreateAnalysisInput { + s.Tags = v + return s +} + +// SetThemeArn sets the ThemeArn field's value. +func (s *CreateAnalysisInput) SetThemeArn(v string) *CreateAnalysisInput { + s.ThemeArn = &v + return s +} + +type CreateAnalysisOutput struct { _ struct{} `type:"structure"` - // The customizations you're adding to the QuickSight subscription for the AWS - // account. - AccountCustomization *AccountCustomization `type:"structure"` + // The ID of the analysis. + AnalysisId *string `min:"1" type:"string"` - // The ID for the AWS account that you want to customize QuickSight for. - AwsAccountId *string `min:"12" type:"string"` + // The ARN for the analysis. + Arn *string `type:"string"` - // The namespace associated with the customization you're creating. - Namespace *string `type:"string"` + // The status of the creation of the analysis. + CreationStatus *string `type:"string" enum:"ResourceStatus"` // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -10880,41 +12540,41 @@ type CreateAccountCustomizationOutput struct { } // String returns the string representation -func (s CreateAccountCustomizationOutput) String() string { +func (s CreateAnalysisOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s CreateAccountCustomizationOutput) GoString() string { +func (s CreateAnalysisOutput) GoString() string { return s.String() } -// SetAccountCustomization sets the AccountCustomization field's value. -func (s *CreateAccountCustomizationOutput) SetAccountCustomization(v *AccountCustomization) *CreateAccountCustomizationOutput { - s.AccountCustomization = v +// SetAnalysisId sets the AnalysisId field's value. +func (s *CreateAnalysisOutput) SetAnalysisId(v string) *CreateAnalysisOutput { + s.AnalysisId = &v return s } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *CreateAccountCustomizationOutput) SetAwsAccountId(v string) *CreateAccountCustomizationOutput { - s.AwsAccountId = &v +// SetArn sets the Arn field's value. +func (s *CreateAnalysisOutput) SetArn(v string) *CreateAnalysisOutput { + s.Arn = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *CreateAccountCustomizationOutput) SetNamespace(v string) *CreateAccountCustomizationOutput { - s.Namespace = &v +// SetCreationStatus sets the CreationStatus field's value. +func (s *CreateAnalysisOutput) SetCreationStatus(v string) *CreateAnalysisOutput { + s.CreationStatus = &v return s } // SetRequestId sets the RequestId field's value. -func (s *CreateAccountCustomizationOutput) SetRequestId(v string) *CreateAccountCustomizationOutput { +func (s *CreateAnalysisOutput) SetRequestId(v string) *CreateAnalysisOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *CreateAccountCustomizationOutput) SetStatus(v int64) *CreateAccountCustomizationOutput { +func (s *CreateAnalysisOutput) SetStatus(v int64) *CreateAnalysisOutput { s.Status = &v return s } @@ -10993,7 +12653,7 @@ type CreateDashboardInput struct { // ad hoc (one-time) filtering. This option is ENABLED by default. // // * AvailabilityStatus for ExportToCSVOption - This status can be either - // ENABLED or DISABLED. The visual option to export data to .csv format isn't + // ENABLED or DISABLED. The visual option to export data to .CSV format isn't // enabled when this is set to DISABLED. This option is ENABLED by default. // // * VisibilityState for SheetControlsOption - This visibility state can @@ -11011,7 +12671,10 @@ type CreateDashboardInput struct { Parameters *Parameters `type:"structure"` // A structure that contains the permissions of the dashboard. You can use this - // structure for granting permissions with principal and action information. + // structure for granting permissions by providing a list of IAM action information + // for each principal ARN. + // + // To specify no permissions, omit the permissions list. Permissions []*ResourcePermission `min:"1" type:"list"` // The entity that you are using as a source when you create the dashboard. @@ -12501,7 +14164,7 @@ type CreateNamespaceOutput struct { // The status of the creation of the namespace. This is an asynchronous process. // A status of CREATED means that your namespace is ready to use. If an error // occurs, it indicates if the process is retryable or non-retryable. In the - // case of a non-retryable error, refer to the error message for follow-up actions. + // case of a non-retryable error, refer to the error message for follow-up tasks. CreationStatus *string `type:"string" enum:"NamespaceStatus"` // Specifies the type of your user identity directory. Currently, this supports @@ -13315,12 +14978,12 @@ type CredentialPair struct { // A set of alternate data source parameters that you want to share for these // credentials. The credentials are applied in tandem with the data source parameters // when you copy a data source by using a create or update request. The API - // compares the DataSourceParameters structure that's in the request with the - // structures in the AlternateDataSourceParameters allowlist. If the structures - // are an exact match, the request is allowed to use the new data source with - // the existing credentials. If the AlternateDataSourceParameters list is null, - // the DataSourceParameters originally used with these Credentials is automatically - // allowed. + // operation compares the DataSourceParameters structure that's in the request + // with the structures in the AlternateDataSourceParameters allowlist. If the + // structures are an exact match, the request is allowed to use the new data + // source with the existing credentials. If the AlternateDataSourceParameters + // list is null, the DataSourceParameters originally used with these Credentials + // is automatically allowed. AlternateDataSourceParameters []*DataSourceParameters `min:"1" type:"list"` // Password. @@ -13899,13 +15562,13 @@ type DashboardVersion struct { CreatedTime *time.Time `type:"timestamp"` // The Amazon Resource Numbers (ARNs) for the datasets that are associated with - // a version of the dashboard. + // this version of the dashboard. DataSetArns []*string `type:"list"` // Description. Description *string `min:"1" type:"string"` - // Errors. + // Errors associated with this dashboard version. Errors []*DashboardError `min:"1" type:"list"` // Source entity ARN. @@ -13914,7 +15577,10 @@ type DashboardVersion struct { // The HTTP status of the request. Status *string `type:"string" enum:"ResourceStatus"` - // Version number. + // The ARN of the theme associated with a version of the dashboard. + ThemeArn *string `type:"string"` + + // Version number for this version of the dashboard. VersionNumber *int64 `min:"1" type:"long"` } @@ -13970,6 +15636,12 @@ func (s *DashboardVersion) SetStatus(v string) *DashboardVersion { return s } +// SetThemeArn sets the ThemeArn field's value. +func (s *DashboardVersion) SetThemeArn(v string) *DashboardVersion { + s.ThemeArn = &v + return s +} + // SetVersionNumber sets the VersionNumber field's value. func (s *DashboardVersion) SetVersionNumber(v int64) *DashboardVersion { s.VersionNumber = &v @@ -14421,8 +16093,8 @@ type DataSource struct { // A set of alternate data source parameters that you want to share for the // credentials stored with this data source. The credentials are applied in // tandem with the data source parameters when you copy a data source by using - // a create or update request. The API compares the DataSourceParameters structure - // that's in the request with the structures in the AlternateDataSourceParameters + // a create or update request. The API operation compares the DataSourceParameters + // structure that's in the request with the structures in the AlternateDataSourceParameters // allowlist. If the structures are an exact match, the request is allowed to // use the credentials from this existing data source. If the AlternateDataSourceParameters // list is null, the Credentials originally used with this DataSourceParameters @@ -14930,16 +16602,16 @@ func (s *DataSourceParameters) SetTwitterParameters(v *TwitterParameters) *DataS return s } -// Date time parameter. +// A date-time parameter. type DateTimeParameter struct { _ struct{} `type:"structure"` - // A display name for the dataset. + // A display name for the date-time parameter. // // Name is a required field Name *string `type:"string" required:"true"` - // Values. + // The values for the date-time parameter. // // Values is a required field Values []*time.Time `type:"list" required:"true"` @@ -14983,16 +16655,16 @@ func (s *DateTimeParameter) SetValues(v []*time.Time) *DateTimeParameter { return s } -// Decimal parameter. +// A decimal parameter. type DecimalParameter struct { _ struct{} `type:"structure"` - // A display name for the dataset. + // A display name for the decimal parameter. // // Name is a required field Name *string `type:"string" required:"true"` - // Values. + // The values for the decimal parameter. // // Values is a required field Values []*float64 `type:"list" required:"true"` @@ -15018,56 +16690,159 @@ func (s *DecimalParameter) Validate() error { invalidParams.Add(request.NewErrParamRequired("Values")) } - if invalidParams.Len() > 0 { - return invalidParams - } - return nil + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *DecimalParameter) SetName(v string) *DecimalParameter { + s.Name = &v + return s +} + +// SetValues sets the Values field's value. +func (s *DecimalParameter) SetValues(v []*float64) *DecimalParameter { + s.Values = v + return s +} + +type DeleteAccountCustomizationInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that you want to delete QuickSight customizations + // from in this AWS Region. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The QuickSight namespace that you're deleting the customizations from. + Namespace *string `location:"querystring" locationName:"namespace" type:"string"` +} + +// String returns the string representation +func (s DeleteAccountCustomizationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteAccountCustomizationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAccountCustomizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAccountCustomizationInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DeleteAccountCustomizationInput) SetAwsAccountId(v string) *DeleteAccountCustomizationInput { + s.AwsAccountId = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *DeleteAccountCustomizationInput) SetNamespace(v string) *DeleteAccountCustomizationInput { + s.Namespace = &v + return s +} + +type DeleteAccountCustomizationOutput struct { + _ struct{} `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DeleteAccountCustomizationOutput) String() string { + return awsutil.Prettify(s) } -// SetName sets the Name field's value. -func (s *DecimalParameter) SetName(v string) *DecimalParameter { - s.Name = &v +// GoString returns the string representation +func (s DeleteAccountCustomizationOutput) GoString() string { + return s.String() +} + +// SetRequestId sets the RequestId field's value. +func (s *DeleteAccountCustomizationOutput) SetRequestId(v string) *DeleteAccountCustomizationOutput { + s.RequestId = &v return s } -// SetValues sets the Values field's value. -func (s *DecimalParameter) SetValues(v []*float64) *DecimalParameter { - s.Values = v +// SetStatus sets the Status field's value. +func (s *DeleteAccountCustomizationOutput) SetStatus(v int64) *DeleteAccountCustomizationOutput { + s.Status = &v return s } -type DeleteAccountCustomizationInput struct { +type DeleteAnalysisInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that you want to delete QuickSight customizations - // from. + // The ID of the analysis that you're deleting. + // + // AnalysisId is a required field + AnalysisId *string `location:"uri" locationName:"AnalysisId" min:"1" type:"string" required:"true"` + + // The ID of the AWS account where you want to delete an analysis. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The namespace associated with the customization that you're deleting. - Namespace *string `location:"querystring" locationName:"namespace" type:"string"` + // This option defaults to the value NoForceDeleteWithoutRecovery. To immediately + // delete the analysis, add the ForceDeleteWithoutRecovery option. You can't + // restore an analysis after it's deleted. + ForceDeleteWithoutRecovery *bool `location:"querystring" locationName:"force-delete-without-recovery" type:"boolean"` + + // A value that specifies the number of days that QuickSight waits before it + // deletes the analysis. You can't use this parameter with the ForceDeleteWithoutRecovery + // option in the same API call. The default value is 30. + RecoveryWindowInDays *int64 `location:"querystring" locationName:"recovery-window-in-days" min:"7" type:"long"` } // String returns the string representation -func (s DeleteAccountCustomizationInput) String() string { +func (s DeleteAnalysisInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteAccountCustomizationInput) GoString() string { +func (s DeleteAnalysisInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteAccountCustomizationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteAccountCustomizationInput"} +func (s *DeleteAnalysisInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAnalysisInput"} + if s.AnalysisId == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisId")) + } + if s.AnalysisId != nil && len(*s.AnalysisId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisId", 1)) + } if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } + if s.RecoveryWindowInDays != nil && *s.RecoveryWindowInDays < 7 { + invalidParams.Add(request.NewErrParamMinValue("RecoveryWindowInDays", 7)) + } if invalidParams.Len() > 0 { return invalidParams @@ -15075,21 +16850,42 @@ func (s *DeleteAccountCustomizationInput) Validate() error { return nil } +// SetAnalysisId sets the AnalysisId field's value. +func (s *DeleteAnalysisInput) SetAnalysisId(v string) *DeleteAnalysisInput { + s.AnalysisId = &v + return s +} + // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DeleteAccountCustomizationInput) SetAwsAccountId(v string) *DeleteAccountCustomizationInput { +func (s *DeleteAnalysisInput) SetAwsAccountId(v string) *DeleteAnalysisInput { s.AwsAccountId = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *DeleteAccountCustomizationInput) SetNamespace(v string) *DeleteAccountCustomizationInput { - s.Namespace = &v +// SetForceDeleteWithoutRecovery sets the ForceDeleteWithoutRecovery field's value. +func (s *DeleteAnalysisInput) SetForceDeleteWithoutRecovery(v bool) *DeleteAnalysisInput { + s.ForceDeleteWithoutRecovery = &v return s } -type DeleteAccountCustomizationOutput struct { +// SetRecoveryWindowInDays sets the RecoveryWindowInDays field's value. +func (s *DeleteAnalysisInput) SetRecoveryWindowInDays(v int64) *DeleteAnalysisInput { + s.RecoveryWindowInDays = &v + return s +} + +type DeleteAnalysisOutput struct { _ struct{} `type:"structure"` + // The ID of the deleted analysis. + AnalysisId *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the deleted analysis. + Arn *string `type:"string"` + + // The date and time that the analysis is scheduled to be deleted. + DeletionTime *time.Time `type:"timestamp"` + // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -15098,23 +16894,41 @@ type DeleteAccountCustomizationOutput struct { } // String returns the string representation -func (s DeleteAccountCustomizationOutput) String() string { +func (s DeleteAnalysisOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteAccountCustomizationOutput) GoString() string { +func (s DeleteAnalysisOutput) GoString() string { return s.String() } +// SetAnalysisId sets the AnalysisId field's value. +func (s *DeleteAnalysisOutput) SetAnalysisId(v string) *DeleteAnalysisOutput { + s.AnalysisId = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *DeleteAnalysisOutput) SetArn(v string) *DeleteAnalysisOutput { + s.Arn = &v + return s +} + +// SetDeletionTime sets the DeletionTime field's value. +func (s *DeleteAnalysisOutput) SetDeletionTime(v time.Time) *DeleteAnalysisOutput { + s.DeletionTime = &v + return s +} + // SetRequestId sets the RequestId field's value. -func (s *DeleteAccountCustomizationOutput) SetRequestId(v string) *DeleteAccountCustomizationOutput { +func (s *DeleteAnalysisOutput) SetRequestId(v string) *DeleteAnalysisOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DeleteAccountCustomizationOutput) SetStatus(v int64) *DeleteAccountCustomizationOutput { +func (s *DeleteAnalysisOutput) SetStatus(v int64) *DeleteAnalysisOutput { s.Status = &v return s } @@ -16593,15 +18407,222 @@ func (s *DeleteUserInput) SetNamespace(v string) *DeleteUserInput { return s } -// SetUserName sets the UserName field's value. -func (s *DeleteUserInput) SetUserName(v string) *DeleteUserInput { - s.UserName = &v +// SetUserName sets the UserName field's value. +func (s *DeleteUserInput) SetUserName(v string) *DeleteUserInput { + s.UserName = &v + return s +} + +type DeleteUserOutput struct { + _ struct{} `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DeleteUserOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteUserOutput) GoString() string { + return s.String() +} + +// SetRequestId sets the RequestId field's value. +func (s *DeleteUserOutput) SetRequestId(v string) *DeleteUserOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DeleteUserOutput) SetStatus(v int64) *DeleteUserOutput { + s.Status = &v + return s +} + +type DescribeAccountCustomizationInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that you want to describe QuickSight customizations + // for. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The QuickSight namespace that you want to describe QuickSight customizations + // for. + Namespace *string `location:"querystring" locationName:"namespace" type:"string"` + + // The Resolved flag works with the other parameters to determine which view + // of QuickSight customizations is returned. You can add this flag to your command + // to use the same view that QuickSight uses to identify which customizations + // to apply to the console. Omit this flag, or set it to no-resolved, to reveal + // customizations that are configured at different levels. + Resolved *bool `location:"querystring" locationName:"resolved" type:"boolean"` +} + +// String returns the string representation +func (s DescribeAccountCustomizationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAccountCustomizationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAccountCustomizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAccountCustomizationInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeAccountCustomizationInput) SetAwsAccountId(v string) *DescribeAccountCustomizationInput { + s.AwsAccountId = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *DescribeAccountCustomizationInput) SetNamespace(v string) *DescribeAccountCustomizationInput { + s.Namespace = &v + return s +} + +// SetResolved sets the Resolved field's value. +func (s *DescribeAccountCustomizationInput) SetResolved(v bool) *DescribeAccountCustomizationInput { + s.Resolved = &v + return s +} + +type DescribeAccountCustomizationOutput struct { + _ struct{} `type:"structure"` + + // The QuickSight customizations that exist in the current AWS Region. + AccountCustomization *AccountCustomization `type:"structure"` + + // The ID for the AWS account that you're describing. + AwsAccountId *string `min:"12" type:"string"` + + // The QuickSight namespace that you're describing. + Namespace *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s DescribeAccountCustomizationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAccountCustomizationOutput) GoString() string { + return s.String() +} + +// SetAccountCustomization sets the AccountCustomization field's value. +func (s *DescribeAccountCustomizationOutput) SetAccountCustomization(v *AccountCustomization) *DescribeAccountCustomizationOutput { + s.AccountCustomization = v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeAccountCustomizationOutput) SetAwsAccountId(v string) *DescribeAccountCustomizationOutput { + s.AwsAccountId = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *DescribeAccountCustomizationOutput) SetNamespace(v string) *DescribeAccountCustomizationOutput { + s.Namespace = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *DescribeAccountCustomizationOutput) SetRequestId(v string) *DescribeAccountCustomizationOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *DescribeAccountCustomizationOutput) SetStatus(v int64) *DescribeAccountCustomizationOutput { + s.Status = &v + return s +} + +type DescribeAccountSettingsInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that contains the settings that you want to list. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` +} + +// String returns the string representation +func (s DescribeAccountSettingsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DescribeAccountSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeAccountSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAccountSettingsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeAccountSettingsInput) SetAwsAccountId(v string) *DescribeAccountSettingsInput { + s.AwsAccountId = &v return s } -type DeleteUserOutput struct { +type DescribeAccountSettingsOutput struct { _ struct{} `type:"structure"` + // The QuickSight settings for this AWS account. This information includes the + // edition of Amazon QuickSight that you subscribed to (Standard or Enterprise) + // and the notification email for the QuickSight subscription. The QuickSight + // console, the QuickSight subscription is sometimes referred to as a QuickSight + // "account" even though it's technically not an account by itself. Instead, + // it's a subscription to the QuickSight service for your AWS account. The edition + // that you subscribe to applies to QuickSight in every AWS Region where you + // use it. + AccountSettings *AccountSettings `type:"structure"` + // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -16610,57 +18631,68 @@ type DeleteUserOutput struct { } // String returns the string representation -func (s DeleteUserOutput) String() string { +func (s DescribeAccountSettingsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteUserOutput) GoString() string { +func (s DescribeAccountSettingsOutput) GoString() string { return s.String() } +// SetAccountSettings sets the AccountSettings field's value. +func (s *DescribeAccountSettingsOutput) SetAccountSettings(v *AccountSettings) *DescribeAccountSettingsOutput { + s.AccountSettings = v + return s +} + // SetRequestId sets the RequestId field's value. -func (s *DeleteUserOutput) SetRequestId(v string) *DeleteUserOutput { +func (s *DescribeAccountSettingsOutput) SetRequestId(v string) *DescribeAccountSettingsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DeleteUserOutput) SetStatus(v int64) *DeleteUserOutput { +func (s *DescribeAccountSettingsOutput) SetStatus(v int64) *DescribeAccountSettingsOutput { s.Status = &v return s } -type DescribeAccountCustomizationInput struct { +type DescribeAnalysisInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that you want to describe QuickSight customizations - // for. + // The ID of the analysis that you're describing. The ID is part of the URL + // of the analysis. + // + // AnalysisId is a required field + AnalysisId *string `location:"uri" locationName:"AnalysisId" min:"1" type:"string" required:"true"` + + // The ID of the AWS account that contains the analysis. You must be using the + // AWS account that the analysis is in. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - - // The namespace associated with the customization that you're describing. - Namespace *string `location:"querystring" locationName:"namespace" type:"string"` - - // The status of the creation of the customization. This is an asynchronous - // process. A status of CREATED means that your customization is ready to use. - Resolved *bool `location:"querystring" locationName:"resolved" type:"boolean"` } // String returns the string representation -func (s DescribeAccountCustomizationInput) String() string { +func (s DescribeAnalysisInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeAccountCustomizationInput) GoString() string { +func (s DescribeAnalysisInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeAccountCustomizationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeAccountCustomizationInput"} +func (s *DescribeAnalysisInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAnalysisInput"} + if s.AnalysisId == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisId")) + } + if s.AnalysisId != nil && len(*s.AnalysisId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisId", 1)) + } if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } @@ -16674,36 +18706,24 @@ func (s *DescribeAccountCustomizationInput) Validate() error { return nil } -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeAccountCustomizationInput) SetAwsAccountId(v string) *DescribeAccountCustomizationInput { - s.AwsAccountId = &v - return s -} - -// SetNamespace sets the Namespace field's value. -func (s *DescribeAccountCustomizationInput) SetNamespace(v string) *DescribeAccountCustomizationInput { - s.Namespace = &v +// SetAnalysisId sets the AnalysisId field's value. +func (s *DescribeAnalysisInput) SetAnalysisId(v string) *DescribeAnalysisInput { + s.AnalysisId = &v return s } -// SetResolved sets the Resolved field's value. -func (s *DescribeAccountCustomizationInput) SetResolved(v bool) *DescribeAccountCustomizationInput { - s.Resolved = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *DescribeAnalysisInput) SetAwsAccountId(v string) *DescribeAnalysisInput { + s.AwsAccountId = &v return s } -type DescribeAccountCustomizationOutput struct { +type DescribeAnalysisOutput struct { _ struct{} `type:"structure"` - // The customizations associated with QuickSight. - AccountCustomization *AccountCustomization `type:"structure"` - - // The ID for the AWS account that you want to describe QuickSight customizations - // for. - AwsAccountId *string `min:"12" type:"string"` - - // The namespace associated with the customization that you're describing. - Namespace *string `type:"string"` + // A metadata structure that contains summary information for the analysis that + // you're describing. + Analysis *Analysis `type:"structure"` // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -16713,68 +18733,68 @@ type DescribeAccountCustomizationOutput struct { } // String returns the string representation -func (s DescribeAccountCustomizationOutput) String() string { +func (s DescribeAnalysisOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeAccountCustomizationOutput) GoString() string { +func (s DescribeAnalysisOutput) GoString() string { return s.String() } -// SetAccountCustomization sets the AccountCustomization field's value. -func (s *DescribeAccountCustomizationOutput) SetAccountCustomization(v *AccountCustomization) *DescribeAccountCustomizationOutput { - s.AccountCustomization = v - return s -} - -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeAccountCustomizationOutput) SetAwsAccountId(v string) *DescribeAccountCustomizationOutput { - s.AwsAccountId = &v - return s -} - -// SetNamespace sets the Namespace field's value. -func (s *DescribeAccountCustomizationOutput) SetNamespace(v string) *DescribeAccountCustomizationOutput { - s.Namespace = &v +// SetAnalysis sets the Analysis field's value. +func (s *DescribeAnalysisOutput) SetAnalysis(v *Analysis) *DescribeAnalysisOutput { + s.Analysis = v return s } // SetRequestId sets the RequestId field's value. -func (s *DescribeAccountCustomizationOutput) SetRequestId(v string) *DescribeAccountCustomizationOutput { +func (s *DescribeAnalysisOutput) SetRequestId(v string) *DescribeAnalysisOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DescribeAccountCustomizationOutput) SetStatus(v int64) *DescribeAccountCustomizationOutput { +func (s *DescribeAnalysisOutput) SetStatus(v int64) *DescribeAnalysisOutput { s.Status = &v return s } -type DescribeAccountSettingsInput struct { +type DescribeAnalysisPermissionsInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that contains the QuickSight namespaces that you - // want to list. + // The ID of the analysis whose permissions you're describing. The ID is part + // of the analysis URL. + // + // AnalysisId is a required field + AnalysisId *string `location:"uri" locationName:"AnalysisId" min:"1" type:"string" required:"true"` + + // The ID of the AWS account that contains the analysis whose permissions you're + // describing. You must be using the AWS account that the analysis is in. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` } // String returns the string representation -func (s DescribeAccountSettingsInput) String() string { +func (s DescribeAnalysisPermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeAccountSettingsInput) GoString() string { +func (s DescribeAnalysisPermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeAccountSettingsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeAccountSettingsInput"} +func (s *DescribeAnalysisPermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeAnalysisPermissionsInput"} + if s.AnalysisId == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisId")) + } + if s.AnalysisId != nil && len(*s.AnalysisId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisId", 1)) + } if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } @@ -16788,22 +18808,30 @@ func (s *DescribeAccountSettingsInput) Validate() error { return nil } +// SetAnalysisId sets the AnalysisId field's value. +func (s *DescribeAnalysisPermissionsInput) SetAnalysisId(v string) *DescribeAnalysisPermissionsInput { + s.AnalysisId = &v + return s +} + // SetAwsAccountId sets the AwsAccountId field's value. -func (s *DescribeAccountSettingsInput) SetAwsAccountId(v string) *DescribeAccountSettingsInput { +func (s *DescribeAnalysisPermissionsInput) SetAwsAccountId(v string) *DescribeAnalysisPermissionsInput { s.AwsAccountId = &v return s } -type DescribeAccountSettingsOutput struct { +type DescribeAnalysisPermissionsOutput struct { _ struct{} `type:"structure"` - // The settings associated with the QuickSight subscription associated with - // this AWS account. This information includes the edition of Amazon QuickSight - // that you subscribed to (Standard or Enterprise) and the notification email - // for the QuickSight subscription. The QuickSight console, the QuickSight subscription - // is sometimes referred to as a QuickSight "account" even though it is technically - // not an account, but a subscription in your AWS account. - AccountSettings *AccountSettings `type:"structure"` + // The Amazon Resource Name (ARN) of the analysis whose permissions you're describing. + AnalysisArn *string `type:"string"` + + // The ID of the analysis whose permissions you're describing. + AnalysisId *string `min:"1" type:"string"` + + // A structure that describes the principals and the resource-level permissions + // on an analysis. + Permissions []*ResourcePermission `min:"1" type:"list"` // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -16813,29 +18841,41 @@ type DescribeAccountSettingsOutput struct { } // String returns the string representation -func (s DescribeAccountSettingsOutput) String() string { +func (s DescribeAnalysisPermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DescribeAccountSettingsOutput) GoString() string { +func (s DescribeAnalysisPermissionsOutput) GoString() string { return s.String() } -// SetAccountSettings sets the AccountSettings field's value. -func (s *DescribeAccountSettingsOutput) SetAccountSettings(v *AccountSettings) *DescribeAccountSettingsOutput { - s.AccountSettings = v +// SetAnalysisArn sets the AnalysisArn field's value. +func (s *DescribeAnalysisPermissionsOutput) SetAnalysisArn(v string) *DescribeAnalysisPermissionsOutput { + s.AnalysisArn = &v + return s +} + +// SetAnalysisId sets the AnalysisId field's value. +func (s *DescribeAnalysisPermissionsOutput) SetAnalysisId(v string) *DescribeAnalysisPermissionsOutput { + s.AnalysisId = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *DescribeAnalysisPermissionsOutput) SetPermissions(v []*ResourcePermission) *DescribeAnalysisPermissionsOutput { + s.Permissions = v return s } // SetRequestId sets the RequestId field's value. -func (s *DescribeAccountSettingsOutput) SetRequestId(v string) *DescribeAccountSettingsOutput { +func (s *DescribeAnalysisPermissionsOutput) SetRequestId(v string) *DescribeAnalysisPermissionsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *DescribeAccountSettingsOutput) SetStatus(v int64) *DescribeAccountSettingsOutput { +func (s *DescribeAnalysisPermissionsOutput) SetStatus(v int64) *DescribeAnalysisPermissionsOutput { s.Status = &v return s } @@ -17934,8 +19974,8 @@ type DescribeNamespaceOutput struct { // The information about the namespace that you're describing. The response // includes the namespace ARN, name, AWS Region, creation status, and identity // store. DescribeNamespace also works for namespaces that are in the process - // of being created. For incomplete namespaces, this API lists the namespace - // error types and messages associated with the creation process. + // of being created. For incomplete namespaces, this API operation lists the + // namespace error types and messages associated with the creation process. Namespace *NamespaceInfoV2 `type:"structure"` // The AWS request ID for this operation. @@ -19086,6 +21126,9 @@ type GetDashboardEmbedUrlInput struct { // // * IAM users and IAM role-based sessions authenticated through Federated // Single Sign-On using SAML, OpenID Connect, or IAM federation. + // + // Omit this parameter for users in the third group – IAM users and IAM role-based + // sessions. UserArn *string `location:"querystring" locationName:"user-arn" type:"string"` } @@ -19173,9 +21216,9 @@ type GetDashboardEmbedUrlOutput struct { _ struct{} `type:"structure"` // A single-use URL that you can put into your server-side webpage to embed - // your dashboard. This URL is valid for 5 minutes. The API provides the URL - // with an auth_code value that enables one (and only one) sign-on to a user - // session that is valid for 10 hours. + // your dashboard. This URL is valid for 5 minutes. The API operation provides + // the URL with an auth_code value that enables one (and only one) sign-on to + // a user session that is valid for 10 hours. EmbedUrl *string `type:"string" sensitive:"true"` // The AWS request ID for this operation. @@ -19216,13 +21259,27 @@ func (s *GetDashboardEmbedUrlOutput) SetStatus(v int64) *GetDashboardEmbedUrlOut type GetSessionEmbedUrlInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that contains the QuickSight session that you're - // embedding. + // The ID for the AWS account associated with your QuickSight subscription. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The entry point for the embedded session. + // The URL you use to access the embedded session. The entry point URL is constrained + // to the following paths: + // + // * /start + // + // * /start/analyses + // + // * /start/dashboards + // + // * /start/favorites + // + // * /dashboards/DashboardId - where DashboardId is the actual ID key from + // the QuickSight console URL of the dashboard + // + // * /analyses/AnalysisId - where AnalysisId is the actual ID key from the + // QuickSight console URL of the analysis EntryPoint *string `location:"querystring" locationName:"entry-point" min:"1" type:"string"` // How many minutes the session is valid. The session lifetime must be 15-600 @@ -19230,15 +21287,19 @@ type GetSessionEmbedUrlInput struct { SessionLifetimeInMinutes *int64 `location:"querystring" locationName:"session-lifetime" min:"15" type:"long"` // The Amazon QuickSight user's Amazon Resource Name (ARN), for use with QUICKSIGHT - // identity type. You can use this for any Amazon QuickSight users in your account - // (readers, authors, or admins) authenticated as one of the following: + // identity type. You can use this for any type of Amazon QuickSight users in + // your account (readers, authors, or admins). They need to be authenticated + // as one of the following: // - // * Active Directory (AD) users or group members + // Active Directory (AD) users or group members // - // * Invited nonfederated users + // Invited nonfederated users // - // * IAM users and IAM role-based sessions authenticated through Federated - // Single Sign-On using SAML, OpenID Connect, or IAM federation. + // IAM users and IAM role-based sessions authenticated through Federated Single + // Sign-On using SAML, OpenID Connect, or IAM federation + // + // Omit this parameter for users in the third group – IAM users and IAM role-based + // sessions. UserArn *string `location:"querystring" locationName:"user-arn" type:"string"` } @@ -19302,9 +21363,9 @@ type GetSessionEmbedUrlOutput struct { _ struct{} `type:"structure"` // A single-use URL that you can put into your server-side web page to embed - // your QuickSight session. This URL is valid for 5 minutes. The API provides - // the URL with an auth_code value that enables one (and only one) sign-on to - // a user session that is valid for 10 hours. + // your QuickSight session. This URL is valid for 5 minutes. The API operation + // provides the URL with an auth_code value that enables one (and only one) + // sign-on to a user session that is valid for 10 hours. EmbedUrl *string `type:"string" sensitive:"true"` // The AWS request ID for this operation. @@ -19343,8 +21404,7 @@ func (s *GetSessionEmbedUrlOutput) SetStatus(v int64) *GetSessionEmbedUrlOutput } // A group in Amazon QuickSight consists of a set of users. You can use groups -// to make it easier to manage access and security. Currently, an Amazon QuickSight -// subscription can't contain more than 500 Amazon QuickSight groups. +// to make it easier to manage access and security. type Group struct { _ struct{} `type:"structure"` @@ -19792,16 +21852,16 @@ func (s *InputColumn) SetType(v string) *InputColumn { return s } -// Integer parameter. +// An integer parameter. type IntegerParameter struct { _ struct{} `type:"structure"` - // A display name for the dataset. + // The name of the integer parameter. // // Name is a required field Name *string `type:"string" required:"true"` - // Values. + // The values for the integer parameter. // // Values is a required field Values []*int64 `type:"list" required:"true"` @@ -20120,8 +22180,138 @@ func (s *JoinInstruction) Validate() error { if s.RightOperand != nil && len(*s.RightOperand) < 1 { invalidParams.Add(request.NewErrParamMinLen("RightOperand", 1)) } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLeftOperand sets the LeftOperand field's value. +func (s *JoinInstruction) SetLeftOperand(v string) *JoinInstruction { + s.LeftOperand = &v + return s +} + +// SetOnClause sets the OnClause field's value. +func (s *JoinInstruction) SetOnClause(v string) *JoinInstruction { + s.OnClause = &v + return s +} + +// SetRightOperand sets the RightOperand field's value. +func (s *JoinInstruction) SetRightOperand(v string) *JoinInstruction { + s.RightOperand = &v + return s +} + +// SetType sets the Type field's value. +func (s *JoinInstruction) SetType(v string) *JoinInstruction { + s.Type = &v + return s +} + +// A limit is exceeded. +type LimitExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"Message" type:"string"` + + // The AWS request ID for this request. + RequestId *string `type:"string"` + + // Limit exceeded. + ResourceType *string `type:"string" enum:"ExceptionResourceType"` +} + +// String returns the string representation +func (s LimitExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LimitExceededException) GoString() string { + return s.String() +} + +func newErrorLimitExceededException(v protocol.ResponseMetadata) error { + return &LimitExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *LimitExceededException) Code() string { + return "LimitExceededException" +} + +// Message returns the exception's message. +func (s *LimitExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *LimitExceededException) OrigErr() error { + return nil +} + +func (s *LimitExceededException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *LimitExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *LimitExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListAnalysesInput struct { + _ struct{} `type:"structure"` + + // The ID of the AWS account that contains the analyses. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The maximum number of results to return. + MaxResults *int64 `location:"querystring" locationName:"max-results" min:"1" type:"integer"` + + // A pagination token that can be used in a subsequent request. + NextToken *string `location:"querystring" locationName:"next-token" type:"string"` +} + +// String returns the string representation +func (s ListAnalysesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListAnalysesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAnalysesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAnalysesInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -20130,90 +22320,72 @@ func (s *JoinInstruction) Validate() error { return nil } -// SetLeftOperand sets the LeftOperand field's value. -func (s *JoinInstruction) SetLeftOperand(v string) *JoinInstruction { - s.LeftOperand = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *ListAnalysesInput) SetAwsAccountId(v string) *ListAnalysesInput { + s.AwsAccountId = &v return s } -// SetOnClause sets the OnClause field's value. -func (s *JoinInstruction) SetOnClause(v string) *JoinInstruction { - s.OnClause = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListAnalysesInput) SetMaxResults(v int64) *ListAnalysesInput { + s.MaxResults = &v return s } -// SetRightOperand sets the RightOperand field's value. -func (s *JoinInstruction) SetRightOperand(v string) *JoinInstruction { - s.RightOperand = &v +// SetNextToken sets the NextToken field's value. +func (s *ListAnalysesInput) SetNextToken(v string) *ListAnalysesInput { + s.NextToken = &v return s } -// SetType sets the Type field's value. -func (s *JoinInstruction) SetType(v string) *JoinInstruction { - s.Type = &v - return s -} +type ListAnalysesOutput struct { + _ struct{} `type:"structure"` -// A limit is exceeded. -type LimitExceededException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + // Metadata describing each of the analyses that are listed. + AnalysisSummaryList []*AnalysisSummary `type:"list"` - Message_ *string `locationName:"Message" type:"string"` + // A pagination token that can be used in a subsequent request. + NextToken *string `type:"string"` - // The AWS request ID for this request. + // The AWS request ID for this operation. RequestId *string `type:"string"` - // Limit exceeded. - ResourceType *string `type:"string" enum:"ExceptionResourceType"` + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } // String returns the string representation -func (s LimitExceededException) String() string { +func (s ListAnalysesOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s LimitExceededException) GoString() string { +func (s ListAnalysesOutput) GoString() string { return s.String() } -func newErrorLimitExceededException(v protocol.ResponseMetadata) error { - return &LimitExceededException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *LimitExceededException) Code() string { - return "LimitExceededException" -} - -// Message returns the exception's message. -func (s *LimitExceededException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *LimitExceededException) OrigErr() error { - return nil +// SetAnalysisSummaryList sets the AnalysisSummaryList field's value. +func (s *ListAnalysesOutput) SetAnalysisSummaryList(v []*AnalysisSummary) *ListAnalysesOutput { + s.AnalysisSummaryList = v + return s } -func (s *LimitExceededException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetNextToken sets the NextToken field's value. +func (s *ListAnalysesOutput) SetNextToken(v string) *ListAnalysesOutput { + s.NextToken = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *LimitExceededException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetRequestId sets the RequestId field's value. +func (s *ListAnalysesOutput) SetRequestId(v string) *ListAnalysesOutput { + s.RequestId = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *LimitExceededException) RequestID() string { - return s.RespMetadata.RequestID +// SetStatus sets the Status field's value. +func (s *ListAnalysesOutput) SetStatus(v int64) *ListAnalysesOutput { + s.Status = &v + return s } type ListDashboardVersionsInput struct { @@ -23030,7 +25202,7 @@ type NamespaceInfoV2 struct { // The name of the error. Name *string `type:"string"` - // An error that occured when the namespace was created. + // An error that occurred when the namespace was created. NamespaceError *NamespaceError `type:"structure"` } @@ -23113,11 +25285,11 @@ func (s *OutputColumn) SetType(v string) *OutputColumn { return s } -// Parameters. +// A list of QuickSight parameters and the list's override values. type Parameters struct { _ struct{} `type:"structure"` - // DateTime parameters. + // Date-time parameters. DateTimeParameters []*DateTimeParameter `type:"list"` // Decimal parameters. @@ -23718,24 +25890,27 @@ type RegisterUserInput struct { AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` // (Enterprise edition only) The name of the custom permissions profile that - // you want to assign to this user. Currently, custom permissions profile names - // are assigned to permissions profiles in the QuickSight console. You use this - // API to assign the named set of permissions to a QuickSight user. + // you want to assign to this user. Customized permissions allows you to control + // a user's access by restricting access the following operations: + // + // * Create and update data sources // - // Customizing permissions in the QuickSight UI allows you to control a user's - // access to the following operations: + // * Create and update datasets // - // * + // * Create and update email reports // - // * + // * Subscribe to email reports // - // * + // To add custom permissions to an existing user, use UpdateUser instead. // - // * + // A set of custom permissions includes any combination of these restrictions. + // Currently, you need to create the profile names for custom permission sets + // by using the QuickSight console. Then, you use the RegisterUser API operation + // to assign the named set of permissions to a QuickSight user. // // QuickSight custom permissions are applied through IAM policies. Therefore, // they override the permissions typically granted by assigning QuickSight users - // to one of the default security cohorts (admin, author, reader) in QuickSight. + // to one of the default security cohorts in QuickSight (admin, author, reader). // // This feature is available only to QuickSight Enterprise edition subscriptions // that use SAML 2.0-Based Federation for Single Sign-On (SSO). @@ -23910,7 +26085,7 @@ type RegisterUserOutput struct { // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` - // The user name. + // The user's user name. User *User `type:"structure"` // The URL the user visits to complete registration and provide a password. @@ -24231,7 +26406,7 @@ func (s *ResourceNotFoundException) RequestID() string { type ResourcePermission struct { _ struct{} `type:"structure"` - // The action to grant or revoke permissions on, for example "quicksight:DescribeDashboard". + // The IAM action to grant or revoke permissions on, for example "quicksight:DescribeDashboard". // // Actions is a required field Actions []*string `min:"1" type:"list" required:"true"` @@ -24355,6 +26530,114 @@ func (s *ResourceUnavailableException) RequestID() string { return s.RespMetadata.RequestID } +type RestoreAnalysisInput struct { + _ struct{} `type:"structure"` + + // The ID of the analysis that you're restoring. + // + // AnalysisId is a required field + AnalysisId *string `location:"uri" locationName:"AnalysisId" min:"1" type:"string" required:"true"` + + // The ID of the AWS account that contains the analysis. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` +} + +// String returns the string representation +func (s RestoreAnalysisInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RestoreAnalysisInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RestoreAnalysisInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RestoreAnalysisInput"} + if s.AnalysisId == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisId")) + } + if s.AnalysisId != nil && len(*s.AnalysisId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisId", 1)) + } + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAnalysisId sets the AnalysisId field's value. +func (s *RestoreAnalysisInput) SetAnalysisId(v string) *RestoreAnalysisInput { + s.AnalysisId = &v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *RestoreAnalysisInput) SetAwsAccountId(v string) *RestoreAnalysisInput { + s.AwsAccountId = &v + return s +} + +type RestoreAnalysisOutput struct { + _ struct{} `type:"structure"` + + // The ID of the analysis that you're restoring. + AnalysisId *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the analysis that you're restoring. + Arn *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s RestoreAnalysisOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s RestoreAnalysisOutput) GoString() string { + return s.String() +} + +// SetAnalysisId sets the AnalysisId field's value. +func (s *RestoreAnalysisOutput) SetAnalysisId(v string) *RestoreAnalysisOutput { + s.AnalysisId = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *RestoreAnalysisOutput) SetArn(v string) *RestoreAnalysisOutput { + s.Arn = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *RestoreAnalysisOutput) SetRequestId(v string) *RestoreAnalysisOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *RestoreAnalysisOutput) SetStatus(v int64) *RestoreAnalysisOutput { + s.Status = &v + return s +} + // Information about rows for a data set SPICE ingestion. type RowInfo struct { _ struct{} `type:"structure"` @@ -24551,27 +26834,154 @@ func (s *S3Source) Validate() error { } } - if invalidParams.Len() > 0 { - return invalidParams - } - return nil + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataSourceArn sets the DataSourceArn field's value. +func (s *S3Source) SetDataSourceArn(v string) *S3Source { + s.DataSourceArn = &v + return s +} + +// SetInputColumns sets the InputColumns field's value. +func (s *S3Source) SetInputColumns(v []*InputColumn) *S3Source { + s.InputColumns = v + return s +} + +// SetUploadSettings sets the UploadSettings field's value. +func (s *S3Source) SetUploadSettings(v *UploadSettings) *S3Source { + s.UploadSettings = v + return s +} + +type SearchAnalysesInput struct { + _ struct{} `type:"structure"` + + // The ID of the AWS account that contains the analyses that you're searching + // for. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The structure for the search filters that you want to apply to your search. + // + // Filters is a required field + Filters []*AnalysisSearchFilter `type:"list" required:"true"` + + // The maximum number of results to return. + MaxResults *int64 `min:"1" type:"integer"` + + // A pagination token that can be used in a subsequent request. + NextToken *string `type:"string"` +} + +// String returns the string representation +func (s SearchAnalysesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SearchAnalysesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *SearchAnalysesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "SearchAnalysesInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + if s.Filters == nil { + invalidParams.Add(request.NewErrParamRequired("Filters")) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *SearchAnalysesInput) SetAwsAccountId(v string) *SearchAnalysesInput { + s.AwsAccountId = &v + return s +} + +// SetFilters sets the Filters field's value. +func (s *SearchAnalysesInput) SetFilters(v []*AnalysisSearchFilter) *SearchAnalysesInput { + s.Filters = v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *SearchAnalysesInput) SetMaxResults(v int64) *SearchAnalysesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *SearchAnalysesInput) SetNextToken(v string) *SearchAnalysesInput { + s.NextToken = &v + return s +} + +type SearchAnalysesOutput struct { + _ struct{} `type:"structure"` + + // Metadata describing the analyses that you searched for. + AnalysisSummaryList []*AnalysisSummary `type:"list"` + + // A pagination token that can be used in a subsequent request. + NextToken *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` } -// SetDataSourceArn sets the DataSourceArn field's value. -func (s *S3Source) SetDataSourceArn(v string) *S3Source { - s.DataSourceArn = &v +// String returns the string representation +func (s SearchAnalysesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SearchAnalysesOutput) GoString() string { + return s.String() +} + +// SetAnalysisSummaryList sets the AnalysisSummaryList field's value. +func (s *SearchAnalysesOutput) SetAnalysisSummaryList(v []*AnalysisSummary) *SearchAnalysesOutput { + s.AnalysisSummaryList = v return s } -// SetInputColumns sets the InputColumns field's value. -func (s *S3Source) SetInputColumns(v []*InputColumn) *S3Source { - s.InputColumns = v +// SetNextToken sets the NextToken field's value. +func (s *SearchAnalysesOutput) SetNextToken(v string) *SearchAnalysesOutput { + s.NextToken = &v return s } -// SetUploadSettings sets the UploadSettings field's value. -func (s *S3Source) SetUploadSettings(v *UploadSettings) *S3Source { - s.UploadSettings = v +// SetRequestId sets the RequestId field's value. +func (s *SearchAnalysesOutput) SetRequestId(v string) *SearchAnalysesOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *SearchAnalysesOutput) SetStatus(v int64) *SearchAnalysesOutput { + s.Status = &v return s } @@ -25107,16 +27517,16 @@ func (s *SslProperties) SetDisableSsl(v bool) *SslProperties { return s } -// String parameter. +// A string parameter. type StringParameter struct { _ struct{} `type:"structure"` - // A display name for the dataset. + // A display name for a string parameter. // // Name is a required field Name *string `type:"string" required:"true"` - // Values. + // The values of a string parameter. // // Values is a required field Values []*string `type:"list" required:"true"` @@ -25385,7 +27795,7 @@ func (s *TagResourceOutput) SetStatus(v int64) *TagResourceOutput { // A template object. A template is an entity in QuickSight that encapsulates // the metadata required to create an analysis and that you can use to create // a dashboard. A template adds a layer of abstraction by using placeholders -// to replace the dataset associated with the analysis. You can use templates +// to replace the dataset associated with an analysis. You can use templates // to create dashboards by replacing dataset placeholders with datasets that // follow the same schema that was used to create the source analysis and template. // @@ -25769,25 +28179,28 @@ type TemplateVersion struct { // The time that this template version was created. CreatedTime *time.Time `type:"timestamp"` - // Schema of the dataset identified by the placeholder. The idea is that any - // dashboard created from the template should be bound to new datasets matching - // the same schema described through this API. . + // Schema of the dataset identified by the placeholder. Any dashboard created + // from this template should be bound to new datasets matching the same schema + // described through this API operation. DataSetConfigurations []*DataSetConfiguration `type:"list"` // The description of the template. Description *string `min:"1" type:"string"` - // Errors associated with the template. + // Errors associated with this template version. Errors []*TemplateError `min:"1" type:"list"` - // The Amazon Resource Name (ARN) of the analysis or template which was used - // to create this template. + // The Amazon Resource Name (ARN) of an analysis or template that was used to + // create this template. SourceEntityArn *string `type:"string"` // The HTTP status of the request. Status *string `type:"string" enum:"ResourceStatus"` - // The version number of the template. + // The ARN of the theme associated with this version of the template. + ThemeArn *string `type:"string"` + + // The version number of the template version. VersionNumber *int64 `min:"1" type:"long"` } @@ -25837,6 +28250,12 @@ func (s *TemplateVersion) SetStatus(v string) *TemplateVersion { return s } +// SetThemeArn sets the ThemeArn field's value. +func (s *TemplateVersion) SetThemeArn(v string) *TemplateVersion { + s.ThemeArn = &v + return s +} + // SetVersionNumber sets the VersionNumber field's value. func (s *TemplateVersion) SetVersionNumber(v int64) *TemplateVersion { s.VersionNumber = &v @@ -25979,6 +28398,7 @@ func (s *TeradataParameters) SetPort(v int64) *TeradataParameters { return s } +// Summary information about a theme. type Theme struct { _ struct{} `type:"structure"` @@ -26949,11 +29369,230 @@ func (s *UntagResourceInput) Validate() error { if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) } - if s.TagKeys == nil { - invalidParams.Add(request.NewErrParamRequired("TagKeys")) + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + if s.TagKeys != nil && len(s.TagKeys) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +// SetRequestId sets the RequestId field's value. +func (s *UntagResourceOutput) SetRequestId(v string) *UntagResourceOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *UntagResourceOutput) SetStatus(v int64) *UntagResourceOutput { + s.Status = &v + return s +} + +type UpdateAccountCustomizationInput struct { + _ struct{} `type:"structure"` + + // The QuickSight customizations you're updating in the current AWS Region. + // + // AccountCustomization is a required field + AccountCustomization *AccountCustomization `type:"structure" required:"true"` + + // The ID for the AWS account that you want to update QuickSight customizations + // for. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The namespace that you want to update QuickSight customizations for. + Namespace *string `location:"querystring" locationName:"namespace" type:"string"` +} + +// String returns the string representation +func (s UpdateAccountCustomizationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAccountCustomizationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateAccountCustomizationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAccountCustomizationInput"} + if s.AccountCustomization == nil { + invalidParams.Add(request.NewErrParamRequired("AccountCustomization")) + } + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAccountCustomization sets the AccountCustomization field's value. +func (s *UpdateAccountCustomizationInput) SetAccountCustomization(v *AccountCustomization) *UpdateAccountCustomizationInput { + s.AccountCustomization = v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateAccountCustomizationInput) SetAwsAccountId(v string) *UpdateAccountCustomizationInput { + s.AwsAccountId = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *UpdateAccountCustomizationInput) SetNamespace(v string) *UpdateAccountCustomizationInput { + s.Namespace = &v + return s +} + +type UpdateAccountCustomizationOutput struct { + _ struct{} `type:"structure"` + + // The QuickSight customizations you're updating in the current AWS Region. + AccountCustomization *AccountCustomization `type:"structure"` + + // The ID for the AWS account that you want to update QuickSight customizations + // for. + AwsAccountId *string `min:"12" type:"string"` + + // The namespace associated with the customization that you're updating. + Namespace *string `type:"string"` + + // The AWS request ID for this operation. + RequestId *string `type:"string"` + + // The HTTP status of the request. + Status *int64 `location:"statusCode" type:"integer"` +} + +// String returns the string representation +func (s UpdateAccountCustomizationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAccountCustomizationOutput) GoString() string { + return s.String() +} + +// SetAccountCustomization sets the AccountCustomization field's value. +func (s *UpdateAccountCustomizationOutput) SetAccountCustomization(v *AccountCustomization) *UpdateAccountCustomizationOutput { + s.AccountCustomization = v + return s +} + +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateAccountCustomizationOutput) SetAwsAccountId(v string) *UpdateAccountCustomizationOutput { + s.AwsAccountId = &v + return s +} + +// SetNamespace sets the Namespace field's value. +func (s *UpdateAccountCustomizationOutput) SetNamespace(v string) *UpdateAccountCustomizationOutput { + s.Namespace = &v + return s +} + +// SetRequestId sets the RequestId field's value. +func (s *UpdateAccountCustomizationOutput) SetRequestId(v string) *UpdateAccountCustomizationOutput { + s.RequestId = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *UpdateAccountCustomizationOutput) SetStatus(v int64) *UpdateAccountCustomizationOutput { + s.Status = &v + return s +} + +type UpdateAccountSettingsInput struct { + _ struct{} `type:"structure"` + + // The ID for the AWS account that contains the QuickSight settings that you + // want to list. + // + // AwsAccountId is a required field + AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` + + // The default namespace for this AWS Account. Currently, the default is default. + // IAM users who register for the first time with QuickSight provide an email + // that becomes associated with the default namespace. + // + // DefaultNamespace is a required field + DefaultNamespace *string `type:"string" required:"true"` + + // The email address that you want QuickSight to send notifications to regarding + // your AWS account or QuickSight subscription. + NotificationEmail *string `type:"string"` +} + +// String returns the string representation +func (s UpdateAccountSettingsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateAccountSettingsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateAccountSettingsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAccountSettingsInput"} + if s.AwsAccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) + } + if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.TagKeys != nil && len(s.TagKeys) < 1 { - invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) + if s.DefaultNamespace == nil { + invalidParams.Add(request.NewErrParamRequired("DefaultNamespace")) } if invalidParams.Len() > 0 { @@ -26962,19 +29601,25 @@ func (s *UntagResourceInput) Validate() error { return nil } -// SetResourceArn sets the ResourceArn field's value. -func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { - s.ResourceArn = &v +// SetAwsAccountId sets the AwsAccountId field's value. +func (s *UpdateAccountSettingsInput) SetAwsAccountId(v string) *UpdateAccountSettingsInput { + s.AwsAccountId = &v return s } -// SetTagKeys sets the TagKeys field's value. -func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { - s.TagKeys = v +// SetDefaultNamespace sets the DefaultNamespace field's value. +func (s *UpdateAccountSettingsInput) SetDefaultNamespace(v string) *UpdateAccountSettingsInput { + s.DefaultNamespace = &v return s } -type UntagResourceOutput struct { +// SetNotificationEmail sets the NotificationEmail field's value. +func (s *UpdateAccountSettingsInput) SetNotificationEmail(v string) *UpdateAccountSettingsInput { + s.NotificationEmail = &v + return s +} + +type UpdateAccountSettingsOutput struct { _ struct{} `type:"structure"` // The AWS request ID for this operation. @@ -26985,60 +29630,82 @@ type UntagResourceOutput struct { } // String returns the string representation -func (s UntagResourceOutput) String() string { +func (s UpdateAccountSettingsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UntagResourceOutput) GoString() string { +func (s UpdateAccountSettingsOutput) GoString() string { return s.String() } // SetRequestId sets the RequestId field's value. -func (s *UntagResourceOutput) SetRequestId(v string) *UntagResourceOutput { +func (s *UpdateAccountSettingsOutput) SetRequestId(v string) *UpdateAccountSettingsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UntagResourceOutput) SetStatus(v int64) *UntagResourceOutput { +func (s *UpdateAccountSettingsOutput) SetStatus(v int64) *UpdateAccountSettingsOutput { s.Status = &v return s } -type UpdateAccountCustomizationInput struct { +type UpdateAnalysisInput struct { _ struct{} `type:"structure"` - // The customizations you want to update in QuickSight. + // The ID for the analysis that you're updating. This ID displays in the URL + // of the analysis. // - // AccountCustomization is a required field - AccountCustomization *AccountCustomization `type:"structure" required:"true"` + // AnalysisId is a required field + AnalysisId *string `location:"uri" locationName:"AnalysisId" min:"1" type:"string" required:"true"` - // The ID for the AWS account that you want to update QuickSight customizations - // for. + // The ID of the AWS account that contains the analysis that you're updating. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The namespace associated with the customization that you're updating. - Namespace *string `location:"querystring" locationName:"namespace" type:"string"` + // A descriptive name for the analysis that you're updating. This name displays + // for the analysis in the QuickSight console. + // + // Name is a required field + Name *string `min:"1" type:"string" required:"true"` + + // The parameter names and override values that you want to use. An analysis + // can have any parameter type, and some parameters might accept multiple values. + Parameters *Parameters `type:"structure"` + + // A source entity to use for the analysis that you're updating. This metadata + // structure contains details that describe a source template and one or more + // datasets. + // + // SourceEntity is a required field + SourceEntity *AnalysisSourceEntity `type:"structure" required:"true"` + + // The Amazon Resource Name (ARN) for the theme to apply to the analysis that + // you're creating. To see the theme in the QuickSight console, make sure that + // you have access to it. + ThemeArn *string `type:"string"` } // String returns the string representation -func (s UpdateAccountCustomizationInput) String() string { +func (s UpdateAnalysisInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateAccountCustomizationInput) GoString() string { +func (s UpdateAnalysisInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateAccountCustomizationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateAccountCustomizationInput"} - if s.AccountCustomization == nil { - invalidParams.Add(request.NewErrParamRequired("AccountCustomization")) +func (s *UpdateAnalysisInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAnalysisInput"} + if s.AnalysisId == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisId")) + } + if s.AnalysisId != nil && len(*s.AnalysisId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisId", 1)) } if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) @@ -27046,6 +29713,25 @@ func (s *UpdateAccountCustomizationInput) Validate() error { if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.SourceEntity == nil { + invalidParams.Add(request.NewErrParamRequired("SourceEntity")) + } + if s.Parameters != nil { + if err := s.Parameters.Validate(); err != nil { + invalidParams.AddNested("Parameters", err.(request.ErrInvalidParams)) + } + } + if s.SourceEntity != nil { + if err := s.SourceEntity.Validate(); err != nil { + invalidParams.AddNested("SourceEntity", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -27053,125 +29739,169 @@ func (s *UpdateAccountCustomizationInput) Validate() error { return nil } -// SetAccountCustomization sets the AccountCustomization field's value. -func (s *UpdateAccountCustomizationInput) SetAccountCustomization(v *AccountCustomization) *UpdateAccountCustomizationInput { - s.AccountCustomization = v +// SetAnalysisId sets the AnalysisId field's value. +func (s *UpdateAnalysisInput) SetAnalysisId(v string) *UpdateAnalysisInput { + s.AnalysisId = &v return s } // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateAccountCustomizationInput) SetAwsAccountId(v string) *UpdateAccountCustomizationInput { +func (s *UpdateAnalysisInput) SetAwsAccountId(v string) *UpdateAnalysisInput { s.AwsAccountId = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *UpdateAccountCustomizationInput) SetNamespace(v string) *UpdateAccountCustomizationInput { - s.Namespace = &v +// SetName sets the Name field's value. +func (s *UpdateAnalysisInput) SetName(v string) *UpdateAnalysisInput { + s.Name = &v return s } -type UpdateAccountCustomizationOutput struct { - _ struct{} `type:"structure"` +// SetParameters sets the Parameters field's value. +func (s *UpdateAnalysisInput) SetParameters(v *Parameters) *UpdateAnalysisInput { + s.Parameters = v + return s +} - // The customizations associated with your QuickSight subscription. - AccountCustomization *AccountCustomization `type:"structure"` +// SetSourceEntity sets the SourceEntity field's value. +func (s *UpdateAnalysisInput) SetSourceEntity(v *AnalysisSourceEntity) *UpdateAnalysisInput { + s.SourceEntity = v + return s +} - // The ID for the AWS account that you want to update QuickSight customizations - // for. - AwsAccountId *string `min:"12" type:"string"` +// SetThemeArn sets the ThemeArn field's value. +func (s *UpdateAnalysisInput) SetThemeArn(v string) *UpdateAnalysisInput { + s.ThemeArn = &v + return s +} - // The namespace associated with the customization that you're updating. - Namespace *string `type:"string"` +type UpdateAnalysisOutput struct { + _ struct{} `type:"structure"` + + // The ID of the analysis. + AnalysisId *string `min:"1" type:"string"` + + // The ARN of the analysis that you're updating. + Arn *string `type:"string"` // The AWS request ID for this operation. RequestId *string `type:"string"` // The HTTP status of the request. Status *int64 `location:"statusCode" type:"integer"` + + // The update status of the last update that was made to the analysis. + UpdateStatus *string `type:"string" enum:"ResourceStatus"` } // String returns the string representation -func (s UpdateAccountCustomizationOutput) String() string { +func (s UpdateAnalysisOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateAccountCustomizationOutput) GoString() string { +func (s UpdateAnalysisOutput) GoString() string { return s.String() } -// SetAccountCustomization sets the AccountCustomization field's value. -func (s *UpdateAccountCustomizationOutput) SetAccountCustomization(v *AccountCustomization) *UpdateAccountCustomizationOutput { - s.AccountCustomization = v - return s -} - -// SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateAccountCustomizationOutput) SetAwsAccountId(v string) *UpdateAccountCustomizationOutput { - s.AwsAccountId = &v +// SetAnalysisId sets the AnalysisId field's value. +func (s *UpdateAnalysisOutput) SetAnalysisId(v string) *UpdateAnalysisOutput { + s.AnalysisId = &v return s } -// SetNamespace sets the Namespace field's value. -func (s *UpdateAccountCustomizationOutput) SetNamespace(v string) *UpdateAccountCustomizationOutput { - s.Namespace = &v +// SetArn sets the Arn field's value. +func (s *UpdateAnalysisOutput) SetArn(v string) *UpdateAnalysisOutput { + s.Arn = &v return s } // SetRequestId sets the RequestId field's value. -func (s *UpdateAccountCustomizationOutput) SetRequestId(v string) *UpdateAccountCustomizationOutput { +func (s *UpdateAnalysisOutput) SetRequestId(v string) *UpdateAnalysisOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateAccountCustomizationOutput) SetStatus(v int64) *UpdateAccountCustomizationOutput { +func (s *UpdateAnalysisOutput) SetStatus(v int64) *UpdateAnalysisOutput { s.Status = &v return s } -type UpdateAccountSettingsInput struct { +// SetUpdateStatus sets the UpdateStatus field's value. +func (s *UpdateAnalysisOutput) SetUpdateStatus(v string) *UpdateAnalysisOutput { + s.UpdateStatus = &v + return s +} + +type UpdateAnalysisPermissionsInput struct { _ struct{} `type:"structure"` - // The ID for the AWS account that contains the QuickSight namespaces that you - // want to list. + // The ID of the analysis whose permissions you're updating. The ID is part + // of the analysis URL. + // + // AnalysisId is a required field + AnalysisId *string `location:"uri" locationName:"AnalysisId" min:"1" type:"string" required:"true"` + + // The ID of the AWS account that contains the analysis whose permissions you're + // updating. You must be using the AWS account that the analysis is in. // // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The default namespace for this AWS Account. Currently, the default is default. - // IAM users who register for the first time with QuickSight provide an email - // that becomes associated with the default namespace. - // - // DefaultNamespace is a required field - DefaultNamespace *string `type:"string" required:"true"` + // A structure that describes the permissions to add and the principal to add + // them to. + GrantPermissions []*ResourcePermission `type:"list"` - // Email address used to send notifications regarding administration of QuickSight. - NotificationEmail *string `type:"string"` + // A structure that describes the permissions to remove and the principal to + // remove them from. + RevokePermissions []*ResourcePermission `type:"list"` } // String returns the string representation -func (s UpdateAccountSettingsInput) String() string { +func (s UpdateAnalysisPermissionsInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateAccountSettingsInput) GoString() string { +func (s UpdateAnalysisPermissionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *UpdateAccountSettingsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "UpdateAccountSettingsInput"} +func (s *UpdateAnalysisPermissionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateAnalysisPermissionsInput"} + if s.AnalysisId == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisId")) + } + if s.AnalysisId != nil && len(*s.AnalysisId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisId", 1)) + } if s.AwsAccountId == nil { invalidParams.Add(request.NewErrParamRequired("AwsAccountId")) } if s.AwsAccountId != nil && len(*s.AwsAccountId) < 12 { invalidParams.Add(request.NewErrParamMinLen("AwsAccountId", 12)) } - if s.DefaultNamespace == nil { - invalidParams.Add(request.NewErrParamRequired("DefaultNamespace")) + if s.GrantPermissions != nil { + for i, v := range s.GrantPermissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "GrantPermissions", i), err.(request.ErrInvalidParams)) + } + } + } + if s.RevokePermissions != nil { + for i, v := range s.RevokePermissions { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RevokePermissions", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -27180,27 +29910,43 @@ func (s *UpdateAccountSettingsInput) Validate() error { return nil } +// SetAnalysisId sets the AnalysisId field's value. +func (s *UpdateAnalysisPermissionsInput) SetAnalysisId(v string) *UpdateAnalysisPermissionsInput { + s.AnalysisId = &v + return s +} + // SetAwsAccountId sets the AwsAccountId field's value. -func (s *UpdateAccountSettingsInput) SetAwsAccountId(v string) *UpdateAccountSettingsInput { +func (s *UpdateAnalysisPermissionsInput) SetAwsAccountId(v string) *UpdateAnalysisPermissionsInput { s.AwsAccountId = &v return s } -// SetDefaultNamespace sets the DefaultNamespace field's value. -func (s *UpdateAccountSettingsInput) SetDefaultNamespace(v string) *UpdateAccountSettingsInput { - s.DefaultNamespace = &v +// SetGrantPermissions sets the GrantPermissions field's value. +func (s *UpdateAnalysisPermissionsInput) SetGrantPermissions(v []*ResourcePermission) *UpdateAnalysisPermissionsInput { + s.GrantPermissions = v return s } -// SetNotificationEmail sets the NotificationEmail field's value. -func (s *UpdateAccountSettingsInput) SetNotificationEmail(v string) *UpdateAccountSettingsInput { - s.NotificationEmail = &v +// SetRevokePermissions sets the RevokePermissions field's value. +func (s *UpdateAnalysisPermissionsInput) SetRevokePermissions(v []*ResourcePermission) *UpdateAnalysisPermissionsInput { + s.RevokePermissions = v return s } -type UpdateAccountSettingsOutput struct { +type UpdateAnalysisPermissionsOutput struct { _ struct{} `type:"structure"` + // The Amazon Resource Name (ARN) of the analysis that you updated. + AnalysisArn *string `type:"string"` + + // The ID of the analysis that you updated permissions for. + AnalysisId *string `min:"1" type:"string"` + + // A structure that describes the principals and the resource-level permissions + // on an analysis. + Permissions []*ResourcePermission `min:"1" type:"list"` + // The AWS request ID for this operation. RequestId *string `type:"string"` @@ -27209,23 +29955,41 @@ type UpdateAccountSettingsOutput struct { } // String returns the string representation -func (s UpdateAccountSettingsOutput) String() string { +func (s UpdateAnalysisPermissionsOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s UpdateAccountSettingsOutput) GoString() string { +func (s UpdateAnalysisPermissionsOutput) GoString() string { return s.String() } +// SetAnalysisArn sets the AnalysisArn field's value. +func (s *UpdateAnalysisPermissionsOutput) SetAnalysisArn(v string) *UpdateAnalysisPermissionsOutput { + s.AnalysisArn = &v + return s +} + +// SetAnalysisId sets the AnalysisId field's value. +func (s *UpdateAnalysisPermissionsOutput) SetAnalysisId(v string) *UpdateAnalysisPermissionsOutput { + s.AnalysisId = &v + return s +} + +// SetPermissions sets the Permissions field's value. +func (s *UpdateAnalysisPermissionsOutput) SetPermissions(v []*ResourcePermission) *UpdateAnalysisPermissionsOutput { + s.Permissions = v + return s +} + // SetRequestId sets the RequestId field's value. -func (s *UpdateAccountSettingsOutput) SetRequestId(v string) *UpdateAccountSettingsOutput { +func (s *UpdateAnalysisPermissionsOutput) SetRequestId(v string) *UpdateAnalysisPermissionsOutput { s.RequestId = &v return s } // SetStatus sets the Status field's value. -func (s *UpdateAccountSettingsOutput) SetStatus(v int64) *UpdateAccountSettingsOutput { +func (s *UpdateAnalysisPermissionsOutput) SetStatus(v int64) *UpdateAnalysisPermissionsOutput { s.Status = &v return s } @@ -27251,7 +30015,7 @@ type UpdateDashboardInput struct { // ad hoc (one-time) filtering. This option is ENABLED by default. // // * AvailabilityStatus for ExportToCSVOption - This status can be either - // ENABLED or DISABLED. The visual option to export data to .csv format isn't + // ENABLED or DISABLED. The visual option to export data to .CSV format isn't // enabled when this is set to DISABLED. This option is ENABLED by default. // // * VisibilityState for SheetControlsOption - This visibility state can @@ -29768,10 +32532,29 @@ type UpdateUserInput struct { // AwsAccountId is a required field AwsAccountId *string `location:"uri" locationName:"AwsAccountId" min:"12" type:"string" required:"true"` - // The name of the custom permissions profile that you want to assign to this - // user. Currently, custom permissions profile names are assigned to permissions - // profiles in the QuickSight console. You use this API to assign the named - // set of permissions to a QuickSight user. + // (Enterprise edition only) The name of the custom permissions profile that + // you want to assign to this user. Customized permissions allows you to control + // a user's access by restricting access the following operations: + // + // * Create and update data sources + // + // * Create and update datasets + // + // * Create and update email reports + // + // * Subscribe to email reports + // + // A set of custom permissions includes any combination of these restrictions. + // Currently, you need to create the profile names for custom permission sets + // by using the QuickSight console. Then, you use the RegisterUser API operation + // to assign the named set of permissions to a QuickSight user. + // + // QuickSight custom permissions are applied through IAM policies. Therefore, + // they override the permissions typically granted by assigning QuickSight users + // to one of the default security cohorts in QuickSight (admin, author, reader). + // + // This feature is available only to QuickSight Enterprise edition subscriptions + // that use SAML 2.0-Based Federation for Single Sign-On (SSO). CustomPermissionsName *string `min:"1" type:"string"` // The email address of the user that you want to update. @@ -29784,7 +32567,8 @@ type UpdateUserInput struct { // Namespace is a required field Namespace *string `location:"uri" locationName:"Namespace" type:"string" required:"true"` - // The Amazon QuickSight role of the user. The user role can be one of the following: + // The Amazon QuickSight role of the user. The role can be one of the following + // default security cohorts: // // * READER: A user who has read-only access to dashboards. // @@ -29794,6 +32578,9 @@ type UpdateUserInput struct { // * ADMIN: A user who is an author, who can also manage Amazon QuickSight // settings. // + // The name of the QuickSight role is invisible to the user except for the console + // screens dealing with permissions. + // // Role is a required field Role *string `type:"string" required:"true" enum:"UserRole"` @@ -30015,8 +32802,7 @@ func (s *UploadSettings) SetTextQualifier(v string) *UploadSettings { return s } -// A registered user of Amazon QuickSight. Currently, an Amazon QuickSight subscription -// can't contain more than 20 million users. +// A registered user of Amazon QuickSight. type User struct { _ struct{} `type:"structure"` @@ -30218,6 +33004,66 @@ func (s *VpcConnectionProperties) SetVpcConnectionArn(v string) *VpcConnectionPr return s } +const ( + // AnalysisErrorTypeAccessDenied is a AnalysisErrorType enum value + AnalysisErrorTypeAccessDenied = "ACCESS_DENIED" + + // AnalysisErrorTypeSourceNotFound is a AnalysisErrorType enum value + AnalysisErrorTypeSourceNotFound = "SOURCE_NOT_FOUND" + + // AnalysisErrorTypeDataSetNotFound is a AnalysisErrorType enum value + AnalysisErrorTypeDataSetNotFound = "DATA_SET_NOT_FOUND" + + // AnalysisErrorTypeInternalFailure is a AnalysisErrorType enum value + AnalysisErrorTypeInternalFailure = "INTERNAL_FAILURE" + + // AnalysisErrorTypeParameterValueIncompatible is a AnalysisErrorType enum value + AnalysisErrorTypeParameterValueIncompatible = "PARAMETER_VALUE_INCOMPATIBLE" + + // AnalysisErrorTypeParameterTypeInvalid is a AnalysisErrorType enum value + AnalysisErrorTypeParameterTypeInvalid = "PARAMETER_TYPE_INVALID" + + // AnalysisErrorTypeParameterNotFound is a AnalysisErrorType enum value + AnalysisErrorTypeParameterNotFound = "PARAMETER_NOT_FOUND" + + // AnalysisErrorTypeColumnTypeMismatch is a AnalysisErrorType enum value + AnalysisErrorTypeColumnTypeMismatch = "COLUMN_TYPE_MISMATCH" + + // AnalysisErrorTypeColumnGeographicRoleMismatch is a AnalysisErrorType enum value + AnalysisErrorTypeColumnGeographicRoleMismatch = "COLUMN_GEOGRAPHIC_ROLE_MISMATCH" + + // AnalysisErrorTypeColumnReplacementMissing is a AnalysisErrorType enum value + AnalysisErrorTypeColumnReplacementMissing = "COLUMN_REPLACEMENT_MISSING" +) + +// AnalysisErrorType_Values returns all elements of the AnalysisErrorType enum +func AnalysisErrorType_Values() []string { + return []string{ + AnalysisErrorTypeAccessDenied, + AnalysisErrorTypeSourceNotFound, + AnalysisErrorTypeDataSetNotFound, + AnalysisErrorTypeInternalFailure, + AnalysisErrorTypeParameterValueIncompatible, + AnalysisErrorTypeParameterTypeInvalid, + AnalysisErrorTypeParameterNotFound, + AnalysisErrorTypeColumnTypeMismatch, + AnalysisErrorTypeColumnGeographicRoleMismatch, + AnalysisErrorTypeColumnReplacementMissing, + } +} + +const ( + // AnalysisFilterAttributeQuicksightUser is a AnalysisFilterAttribute enum value + AnalysisFilterAttributeQuicksightUser = "QUICKSIGHT_USER" +) + +// AnalysisFilterAttribute_Values returns all elements of the AnalysisFilterAttribute enum +func AnalysisFilterAttribute_Values() []string { + return []string{ + AnalysisFilterAttributeQuicksightUser, + } +} + const ( // AssignmentStatusEnabled is a AssignmentStatus enum value AssignmentStatusEnabled = "ENABLED" @@ -31044,6 +33890,9 @@ const ( // ResourceStatusUpdateFailed is a ResourceStatus enum value ResourceStatusUpdateFailed = "UPDATE_FAILED" + + // ResourceStatusDeleted is a ResourceStatus enum value + ResourceStatusDeleted = "DELETED" ) // ResourceStatus_Values returns all elements of the ResourceStatus enum @@ -31055,6 +33904,7 @@ func ResourceStatus_Values() []string { ResourceStatusUpdateInProgress, ResourceStatusUpdateSuccessful, ResourceStatusUpdateFailed, + ResourceStatusDeleted, } } @@ -31083,6 +33933,9 @@ const ( // TemplateErrorTypeInternalFailure is a TemplateErrorType enum value TemplateErrorTypeInternalFailure = "INTERNAL_FAILURE" + + // TemplateErrorTypeAccessDenied is a TemplateErrorType enum value + TemplateErrorTypeAccessDenied = "ACCESS_DENIED" ) // TemplateErrorType_Values returns all elements of the TemplateErrorType enum @@ -31091,6 +33944,7 @@ func TemplateErrorType_Values() []string { TemplateErrorTypeSourceNotFound, TemplateErrorTypeDataSetNotFound, TemplateErrorTypeInternalFailure, + TemplateErrorTypeAccessDenied, } } diff --git a/vendor/github.com/aws/aws-sdk-go/service/quicksight/errors.go b/vendor/github.com/aws/aws-sdk-go/service/quicksight/errors.go index 2f6b3e713aba..4f8ac36a9ee6 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/quicksight/errors.go +++ b/vendor/github.com/aws/aws-sdk-go/service/quicksight/errors.go @@ -21,8 +21,8 @@ const ( // ErrCodeConcurrentUpdatingException for service response error code // "ConcurrentUpdatingException". // - // A resource is already in a state that indicates an action is happening that - // must complete before a new update can be applied. + // A resource is already in a state that indicates an operation is happening + // that must complete before a new update can be applied. ErrCodeConcurrentUpdatingException = "ConcurrentUpdatingException" // ErrCodeConflictException for service response error code diff --git a/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go b/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go index 671b79722a21..416283f6b338 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sagemaker/api.go @@ -392,14 +392,14 @@ func (c *SageMaker) CreateAutoMLJobRequest(input *CreateAutoMLJobInput) (req *re // CreateAutoMLJob API operation for Amazon SageMaker Service. // -// Creates an AutoPilot job. +// Creates an Autopilot job. // -// After you run an AutoPilot job, you can find the best performing model by -// calling , and then deploy that model by following the steps described in -// Step 6.1: Deploy the Model to Amazon SageMaker Hosting Services (https://docs.aws.amazon.com/sagemaker/latest/dg/ex1-deploy-model.html). +// Find the best performing model after you run an Autopilot job by calling +// . Deploy that model by following the steps described in Step 6.1: Deploy +// the Model to Amazon SageMaker Hosting Services (https://docs.aws.amazon.com/sagemaker/latest/dg/ex1-deploy-model.html). // -// For information about how to use AutoPilot, see Use AutoPilot to Automate -// Model Development (https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development.html). +// For information about how to use Autopilot, see Automate Model Development +// with Amazon SageMaker Autopilot (https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-automate-model-development.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2754,11 +2754,11 @@ func (c *SageMaker) CreateWorkforceRequest(input *CreateWorkforceInput) (req *re // // Use this operation to create a workforce. This operation will return an error // if a workforce already exists in the AWS Region that you specify. You can -// only create one workforce in each AWS Region. +// only create one workforce in each AWS Region per AWS account. // -// If you want to create a new workforce in an AWS Region where the a workforce +// If you want to create a new workforce in an AWS Region where a workforce // already exists, use the API operation to delete the existing workforce and -// then use this operation to create a new workforce. +// then use CreateWorkforce to create a new workforce. // // To create a private workforce using Amazon Cognito, you must specify a Cognito // user pool in CognitoConfig. You can also create an Amazon Cognito workforce @@ -2766,9 +2766,9 @@ func (c *SageMaker) CreateWorkforceRequest(input *CreateWorkforceInput) (req *re // Workforce (Amazon Cognito) (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-create-private.html). // // To create a private workforce using your own OIDC Identity Provider (IdP), -// specify your IdP configuration in OidcConfig. You must create a OIDC IdP -// workforce using this API operation. For more information, see Create a Private -// Workforce (OIDC IdP) (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-create-private-oidc.html). +// specify your IdP configuration in OidcConfig. Your OIDC IdP must support +// groups because groups are used by Ground Truth and Amazon A2I to create work +// teams. For more information, see Create a Private Workforce (OIDC IdP) (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-create-private-oidc.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -4384,10 +4384,15 @@ func (c *SageMaker) DeleteWorkforceRequest(input *DeleteWorkforceInput) (req *re // // Use this operation to delete a workforce. // -// If you want to create a new workforce in an AWS Region where the a workforce +// If you want to create a new workforce in an AWS Region where a workforce // already exists, use this operation to delete the existing workforce and then // use to create a new workforce. // +// If a private workforce contains one or more work teams, you must use the +// operation to delete all work teams before you delete the workforce. If you +// try to delete a workforce that contains one or more work teams, you will +// recieve a ResourceInUse error. +// // 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. @@ -10950,8 +10955,8 @@ func (c *SageMaker) ListWorkteamsRequest(input *ListWorkteamsInput) (req *reques // ListWorkteams API operation for Amazon SageMaker Service. // -// Gets a list of work teams that you have defined in a region. The list may -// be empty if no work team satisfies the filter specified in the NameContains +// Gets a list of private work teams that you have defined in a region. The +// list may be empty if no work team satisfies the filter specified in the NameContains // parameter. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -13136,18 +13141,29 @@ func (c *SageMaker) UpdateWorkforceRequest(input *UpdateWorkforceInput) (req *re // UpdateWorkforce API operation for Amazon SageMaker Service. // -// Restricts access to tasks assigned to workers in the specified workforce -// to those within specific ranges of IP addresses. You specify allowed IP addresses -// by creating a list of up to ten CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html). +// Use this operation to update your workforce. You can use this operation to +// require that workers use specific IP addresses to work on tasks and to update +// your OpenID Connect (OIDC) Identity Provider (IdP) workforce configuration. // +// Use SourceIpConfig to restrict worker access to tasks to a specific range +// of IP addresses. You specify allowed IP addresses by creating a list of up +// to ten CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html). // By default, a workforce isn't restricted to specific IP addresses. If you // specify a range of IP addresses, workers who attempt to access tasks using -// any IP address outside the specified range are denied access and get a Not -// Found error message on the worker portal. After restricting access with this -// operation, you can see the allowed IP values for a private workforce with -// the operation. +// any IP address outside the specified range are denied and get a Not Found +// error message on the worker portal. // -// This operation applies only to private workforces. +// Use OidcConfig to update the configuration of a workforce created using your +// own OIDC IdP. +// +// You can only update your OIDC IdP configuration when there are no work teams +// associated with your workforce. You can delete work teams using the operation. +// +// After restricting access to a range of IP addresses or updating your OIDC +// IdP configuration with this operation, you can view details about your update +// workforce using the operation. +// +// This operation only applies to private workforces. // // 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 @@ -14424,8 +14440,8 @@ func (s *AssociateTrialComponentOutput) SetTrialComponentArn(v string) *Associat return s } -// An AutoPilot job will return recommendations, or candidates. Each candidate -// has futher details about the steps involed, and the status. +// An Autopilot job returns recommendations, or candidates. Each candidate has +// futher details about the steps involed, and the status. type AutoMLCandidate struct { _ struct{} `type:"structure"` @@ -14455,7 +14471,7 @@ type AutoMLCandidate struct { // The failure reason. FailureReason *string `type:"string"` - // The candidate result from a job. + // The best candidate result from an AutoML training job. FinalAutoMLJobObjectiveMetric *FinalAutoMLJobObjectiveMetric `type:"structure"` // The inference containers. @@ -14711,7 +14727,7 @@ func (s *AutoMLContainerDefinition) SetModelDataUrl(v string) *AutoMLContainerDe return s } -// The data source for the AutoPilot job. +// The data source for the Autopilot job. type AutoMLDataSource struct { _ struct{} `type:"structure"` @@ -14907,11 +14923,76 @@ func (s *AutoMLJobConfig) SetSecurityConfig(v *AutoMLSecurityConfig) *AutoMLJobC return s } -// Applies a metric to minimize or maximize for the job's objective. +// Specifies a metric to minimize or maximize as the objective of a job. type AutoMLJobObjective struct { _ struct{} `type:"structure"` - // The name of the metric. + // The name of the objective metric used to measure the predictive quality of + // a machine learning system. This metric is optimized during training to provide + // the best estimate for model parameter values from data. + // + // Here are the options: + // + // * MSE: The mean squared error (MSE) is the average of the squared differences + // between the predicted and actual values. It is used for regression. MSE + // values are always positive, the better a model is at predicting the actual + // values the smaller the MSE value. When the data contains outliers, they + // tend to dominate the MSE which might cause subpar prediction performance. + // + // * Accuracy: The ratio of the number correctly classified items to the + // total number (correctly and incorrectly) classified. It is used for binary + // and multiclass classification. Measures how close the predicted class + // values are to the actual values. Accuracy values vary between zero and + // one, one being perfect accuracy and zero perfect inaccuracy. + // + // * F1: The F1 score is the harmonic mean of the precision and recall. It + // is used for binary classification into classes traditionally referred + // to as positive and negative. Predictions are said to be true when they + // match their actual (correct) class; false when they do not. Precision + // is the ratio of the true positive predictions to all positive predictions + // (including the false positives) in a data set and measures the quality + // of the prediction when it predicts the positive class. Recall (or sensitivity) + // is the ratio of the true positive predictions to all actual positive instances + // and measures how completely a model predicts the actual class members + // in a data set. The standard F1 score weighs precision and recall equally. + // But which metric is paramount typically depends on specific aspects of + // a problem. F1 scores vary between zero and one, one being the best possible + // performance and zero the worst. + // + // * AUC: The area under the curve (AUC) metric is used to compare and evaluate + // binary classification by algorithms such as logistic regression that return + // probabilities. A threshold is needed to map the probabilities into classifications. + // The relevant curve is the receiver operating characteristic curve that + // plots the true positive rate (TPR) of predictions (or recall) against + // the false positive rate (FPR) as a function of the threshold value, above + // which a prediction is considered positive. Increasing the threshold results + // in fewer false positives but more false negatives. AUC is the area under + // this receiver operating characteristic curve and so provides an aggregated + // measure of the model performance across all possible classification thresholds. + // The AUC score can also be interpreted as the probability that a randomly + // selected positive data point is more likely to be predicted positive than + // a randomly selected negative example. AUC scores vary between zero and + // one, one being perfect accuracy and one half not better than a random + // classifier. Values less that one half predict worse than a random predictor + // and such consistently bad predictors can be inverted to obtain better + // than random predictors. + // + // * F1macro: The F1macro score applies F1 scoring to multiclass classification. + // In this context, you have multiple classes to predict. You just calculate + // the precision and recall for each class as you did for the positive class + // in binary classification. Then used these values to calculate the F1 score + // for each class and average them to obtain the F1macro score. F1macro scores + // vary between zero and one, one being the best possible performance and + // zero the worst. + // + // If you do not specify a metric explicitly, the default behavior is to automatically + // use: + // + // * MSE: for regression. + // + // * F1: for binary classification + // + // * Accuracy: for multiclass classification. // // MetricName is a required field MetricName *string `type:"string" required:"true" enum:"AutoMLMetricEnum"` @@ -14975,10 +15056,10 @@ type AutoMLJobSummary struct { // CreationTime is a required field CreationTime *time.Time `type:"timestamp" required:"true"` - // The end time. + // The end time of an AutoML job. EndTime *time.Time `type:"timestamp"` - // The failure reason. + // The failure reason of a job. FailureReason *string `type:"string"` // When the job was last modified. @@ -16158,6 +16239,12 @@ type ContainerDefinition struct { // Using Your Own Algorithms with Amazon SageMaker (https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms.html) Image *string `type:"string"` + // Specifies whether the model container is in Amazon ECR or a private Docker + // registry in your Amazon Virtual Private Cloud (VPC). For information about + // storing containers in a private Docker registry, see Use a Private Docker + // Registry for Real-Time Inference Containers (https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-containers-inference-private.html) + ImageConfig *ImageConfig `type:"structure"` + // Whether the container hosts a single model or multiple models. Mode *string `type:"string" enum:"ContainerMode"` @@ -16200,6 +16287,11 @@ func (s *ContainerDefinition) Validate() error { if s.ModelPackageName != nil && len(*s.ModelPackageName) < 1 { invalidParams.Add(request.NewErrParamMinLen("ModelPackageName", 1)) } + if s.ImageConfig != nil { + if err := s.ImageConfig.Validate(); err != nil { + invalidParams.AddNested("ImageConfig", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -16225,6 +16317,12 @@ func (s *ContainerDefinition) SetImage(v string) *ContainerDefinition { return s } +// SetImageConfig sets the ImageConfig field's value. +func (s *ContainerDefinition) SetImageConfig(v *ImageConfig) *ContainerDefinition { + s.ImageConfig = v + return s +} + // SetMode sets the Mode field's value. func (s *ContainerDefinition) SetMode(v string) *ContainerDefinition { s.Mode = &v @@ -16702,19 +16800,19 @@ type CreateAutoMLJobInput struct { // Contains CompletionCriteria and SecurityConfig. AutoMLJobConfig *AutoMLJobConfig `type:"structure"` - // Identifies an AutoPilot job. Must be unique to your account and is case-insensitive. + // Identifies an Autopilot job. Must be unique to your account and is case-insensitive. // // AutoMLJobName is a required field AutoMLJobName *string `min:"1" type:"string" required:"true"` - // Defines the job's objective. You provide a MetricName and AutoML will infer - // minimize or maximize. If this is not provided, the most commonly used ObjectiveMetric - // for problem type will be selected. + // Defines the objective of a an AutoML job. You provide a AutoMLJobObjective$MetricName + // and Autopilot infers whether to minimize or maximize it. If a metric is not + // specified, the most commonly used ObjectiveMetric for problem type is automaically + // selected. AutoMLJobObjective *AutoMLJobObjective `type:"structure"` - // This will generate possible candidates without training a model. A candidate - // is a combination of data preprocessors, algorithms, and algorithm parameter - // settings. + // Generates possible candidates without training a model. A candidate is a + // combination of data preprocessors, algorithms, and algorithm parameter settings. GenerateCandidateDefinitionsOnly *bool `type:"boolean"` // Similar to InputDataConfig supported by Tuning. Format(s) supported: CSV. @@ -16732,7 +16830,7 @@ type CreateAutoMLJobInput struct { // Options include: BinaryClassification, MulticlassClassification, and Regression. ProblemType *string `type:"string" enum:"ProblemType"` - // The ARN of the role that will be used to access the data. + // The ARN of the role that is used to access the data. // // RoleArn is a required field RoleArn *string `min:"20" type:"string" required:"true"` @@ -20720,12 +20818,15 @@ type CreateWorkforceInput struct { CognitoConfig *CognitoConfig `type:"structure"` // Use this parameter to configure a private workforce using your own OIDC Identity - // Provider. Do not use CognitoConfig if you specify values for OidcConfig. + // Provider. + // + // Do not use CognitoConfig if you specify values for OidcConfig. OidcConfig *OidcConfig `type:"structure"` // A list of IP address ranges (CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)). - // Used to create an allow list of IP addresses for a private workforce. For - // more information, see . + // Used to create an allow list of IP addresses for a private workforce. Workers + // will only be able to login to their worker portal from an IP address within + // this range. By default, a workforce isn't restricted to specific IP addresses. SourceIpConfig *SourceIpConfig `type:"structure"` // An array of key-value pairs that contain metadata to help you categorize @@ -20854,11 +20955,23 @@ type CreateWorkteamInput struct { Description *string `min:"1" type:"string" required:"true"` // A list of MemberDefinition objects that contains objects that identify the - // Amazon Cognito user pool that makes up the work team. For more information, - // see Amazon Cognito User Pools (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html). + // workers that make up the work team. // + // Workforces can be created using Amazon Cognito or your own OIDC Identity + // Provider (IdP). For private workforces created using Amazon Cognito use CognitoMemberDefinition. + // For workforces created using your own OIDC identity provider (IdP) use OidcMemberDefinition. + // Do not provide input for both of these parameters in a single request. + // + // For workforces created using Amazon Cognito, private work teams correspond + // to Amazon Cognito user groups within the user pool used to create a workforce. // All of the CognitoMemberDefinition objects that make up the member definition - // must have the same ClientId and UserPool values. + // must have the same ClientId and UserPool values. To add a Amazon Cognito + // user group to an existing worker pool, see Adding groups to a User Pool. + // For more information about user pools, see Amazon Cognito User Pools (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html). + // + // For workforces created using your own OIDC IdP, specify the user groups that + // you want to include in your private work team in OidcMemberDefinition by + // listing those groups in Groups. // // MemberDefinitions is a required field MemberDefinitions []*MemberDefinition `min:"1" type:"list" required:"true"` @@ -26419,7 +26532,7 @@ type DescribeTrainingJobOutput struct { // * MaxRuntimeExceeded - The job stopped because it exceeded the maximum // allowed runtime. // - // * MaxWaitTmeExceeded - The job stopped because it exceeded the maximum + // * MaxWaitTimeExceeded - The job stopped because it exceeded the maximum // allowed wait time. // // * Stopped - The training job has stopped. @@ -28656,19 +28769,20 @@ func (s *Filter) SetValue(v string) *Filter { return s } -// The candidate result from a job. +// The best candidate result from an AutoML training job. type FinalAutoMLJobObjectiveMetric struct { _ struct{} `type:"structure"` - // The name of the metric. + // The name of the metric with the best result. For a description of the possible + // objective metrics, see AutoMLJobObjective$MetricName. // // MetricName is a required field MetricName *string `type:"string" required:"true" enum:"AutoMLMetricEnum"` - // The metric type used. + // The type of metric with the best result. Type *string `type:"string" enum:"AutoMLJobObjectiveType"` - // The value of the metric. + // The value of the metric with the best result. // // Value is a required field Value *float64 `type:"float" required:"true"` @@ -31491,6 +31605,51 @@ func (s *HyperParameterTuningJobWarmStartConfig) SetWarmStartType(v string) *Hyp return s } +// Specifies whether the model container is in Amazon ECR or a private Docker +// registry in your Amazon Virtual Private Cloud (VPC). +type ImageConfig struct { + _ struct{} `type:"structure"` + + // Set this to one of the following values: + // + // * Platform - The model image is hosted in Amazon ECR. + // + // * VPC - The model image is hosted in a private Docker registry in your + // VPC. + // + // RepositoryAccessMode is a required field + RepositoryAccessMode *string `type:"string" required:"true" enum:"RepositoryAccessMode"` +} + +// String returns the string representation +func (s ImageConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImageConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImageConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImageConfig"} + if s.RepositoryAccessMode == nil { + invalidParams.Add(request.NewErrParamRequired("RepositoryAccessMode")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRepositoryAccessMode sets the RepositoryAccessMode field's value. +func (s *ImageConfig) SetRepositoryAccessMode(v string) *ImageConfig { + s.RepositoryAccessMode = &v + return s +} + // Defines how to perform inference generation after a training job is run. type InferenceSpecification struct { _ struct{} `type:"structure"` @@ -32918,8 +33077,8 @@ type ListAutoMLJobsInput struct { // Request a list of jobs, using a search filter for name. NameContains *string `type:"string"` - // If the previous response was truncated, you will receive this token. Use - // it in your next request to receive the next set of results. + // If the previous response was truncated, you receive this token. Use it in + // your next request to receive the next set of results. NextToken *string `type:"string"` // The parameter by which to sort the results. The default is AutoMLJobName. @@ -33023,8 +33182,8 @@ type ListAutoMLJobsOutput struct { // AutoMLJobSummaries is a required field AutoMLJobSummaries []*AutoMLJobSummary `type:"list" required:"true"` - // If the previous response was truncated, you will receive this token. Use - // it in your next request to receive the next set of results. + // If the previous response was truncated, you receive this token. Use it in + // your next request to receive the next set of results. NextToken *string `type:"string"` } @@ -33064,8 +33223,8 @@ type ListCandidatesForAutoMLJobInput struct { // List the job's Candidates up to a specified limit. MaxResults *int64 `min:"1" type:"integer"` - // If the previous response was truncated, you will receive this token. Use - // it in your next request to receive the next set of results. + // If the previous response was truncated, you receive this token. Use it in + // your next request to receive the next set of results. NextToken *string `type:"string"` // The parameter by which to sort the results. The default is Descending. @@ -33160,8 +33319,8 @@ type ListCandidatesForAutoMLJobOutput struct { // Candidates is a required field Candidates []*AutoMLCandidate `type:"list" required:"true"` - // If the previous response was truncated, you will receive this token. Use - // it in your next request to receive the next set of results. + // If the previous response was truncated, you receive this token. Use it in + // your next request to receive the next set of results. NextToken *string `type:"string"` } @@ -37067,7 +37226,8 @@ func (s *ListWorkteamsOutput) SetWorkteams(v []*Workteam) *ListWorkteamsOutput { return s } -// Defines the Amazon Cognito user group that is part of a work team. +// Defines an Amazon Cognito or your own OIDC IdP user group that is part of +// a work team. type MemberDefinition struct { _ struct{} `type:"structure"` @@ -39302,7 +39462,7 @@ func (s *OidcConfig) SetUserInfoEndpoint(v string) *OidcConfig { return s } -// Your Amazon Cognito workforce configuration. +// Your OIDC IdP workforce configuration. type OidcConfigForResponse struct { _ struct{} `type:"structure"` @@ -39380,10 +39540,10 @@ func (s *OidcConfigForResponse) SetUserInfoEndpoint(v string) *OidcConfigForResp return s } -// A list user groups that exist in your OIDC Identity Provider (IdP). One to -// ten groups can be used to create a single private work team. When you add -// a user group to the list of Groups, you can add that user group to one or -// more private work teams. If you add a user group to a private work team, +// A list of user groups that exist in your OIDC Identity Provider (IdP). One +// to ten groups can be used to create a single private work team. When you +// add a user group to the list of Groups, you can add that user group to one +// or more private work teams. If you add a user group to a private work team, // all workers in that user group are added to the work team. type OidcMemberDefinition struct { _ struct{} `type:"structure"` @@ -41430,7 +41590,7 @@ func (s *RenderingError) SetMessage(v string) *RenderingError { type ResolvedAttributes struct { _ struct{} `type:"structure"` - // Applies a metric to minimize or maximize for the job's objective. + // Specifies a metric to minimize or maximize as the objective of a job. AutoMLJobObjective *AutoMLJobObjective `type:"structure"` // How long a job is allowed to run, or how many candidates a job is allowed @@ -42735,8 +42895,9 @@ func (s *SourceAlgorithmSpecification) SetSourceAlgorithms(v []*SourceAlgorithm) } // A list of IP address ranges (CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)). -// Used to create an allow list of IP addresses for a private workforce. For -// more information, see . +// Used to create an allow list of IP addresses for a private workforce. Workers +// will only be able to login to their worker portal from an IP address within +// this range. By default, a workforce isn't restricted to specific IP addresses. type SourceIpConfig struct { _ struct{} `type:"structure"` @@ -44736,6 +44897,11 @@ type TransformInput struct { // payloads contain the entire contents of an input object. Set the value of // this parameter to Line to split records on a newline character boundary. // SplitType also supports a number of record-oriented binary data formats. + // Currently, the supported record formats are: + // + // * RecordIO + // + // * TFRecord // // When splitting is enabled, the size of a mini-batch depends on the values // of the BatchStrategy and MaxPayloadInMB parameters. When the value of BatchStrategy @@ -46445,7 +46611,7 @@ func (s *TrialSummary) SetTrialSource(v *TrialSource) *TrialSummary { type TuningJobCompletionCriteria struct { _ struct{} `type:"structure"` - // The objective metric's value. + // The value of the objective metric. // // TargetObjectiveMetricValue is a required field TargetObjectiveMetricValue *float64 `type:"float" required:"true"` @@ -47868,9 +48034,8 @@ type UpdateWorkforceInput struct { // Maximum: Ten CIDR values SourceIpConfig *SourceIpConfig `type:"structure"` - // The name of the private workforce whose access you want to restrict. WorkforceName - // is automatically set to default when a workforce is created and cannot be - // modified. + // The name of the private workforce that you want to update. You can find your + // workforce name by using the operation. // // WorkforceName is a required field WorkforceName *string `min:"1" type:"string" required:"true"` @@ -47933,8 +48098,7 @@ func (s *UpdateWorkforceInput) SetWorkforceName(v string) *UpdateWorkforceInput type UpdateWorkforceOutput struct { _ struct{} `type:"structure"` - // A single private workforce, which is automatically created when you create - // your first private work team. You can create one private work force in each + // A single private workforce. You can create one private work force in each // AWS Region. By default, any workforce-related API operation used in a specific // region will apply to the workforce created in that region. To learn how to // create a private workforce, see Create a Private Workforce (https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-create-private.html). @@ -47965,7 +48129,27 @@ type UpdateWorkteamInput struct { // An updated description for the work team. Description *string `min:"1" type:"string"` - // A list of MemberDefinition objects that contain the updated work team members. + // A list of MemberDefinition objects that contains objects that identify the + // workers that make up the work team. + // + // Workforces can be created using Amazon Cognito or your own OIDC Identity + // Provider (IdP). For private workforces created using Amazon Cognito use CognitoMemberDefinition. + // For workforces created using your own OIDC identity provider (IdP) use OidcMemberDefinition. + // You should not provide input for both of these parameters in a single request. + // + // For workforces created using Amazon Cognito, private work teams correspond + // to Amazon Cognito user groups within the user pool used to create a workforce. + // All of the CognitoMemberDefinition objects that make up the member definition + // must have the same ClientId and UserPool values. To add a Amazon Cognito + // user group to an existing worker pool, see Adding groups to a User Pool. + // For more information about user pools, see Amazon Cognito User Pools (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools.html). + // + // For workforces created using your own OIDC IdP, specify the user groups that + // you want to include in your private work team in OidcMemberDefinition by + // listing those groups in Groups. Be aware that user groups that are already + // in the work team must also be listed in Groups when you make this request + // to remain on the work team. If you do not include these user groups, they + // will no longer be associated with the work team you update. MemberDefinitions []*MemberDefinition `min:"1" type:"list"` // Configures SNS topic notifications for available or expiring work items @@ -48394,7 +48578,8 @@ type Workforce struct { OidcConfig *OidcConfigForResponse `type:"structure"` // A list of one to ten IP address ranges (CIDRs (https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)) - // to be added to the workforce allow list. + // to be added to the workforce allow list. By default, a workforce isn't restricted + // to specific IP addresses. SourceIpConfig *SourceIpConfig `type:"structure"` // The subdomain for your OIDC Identity Provider. @@ -48484,7 +48669,12 @@ type Workteam struct { // The date and time that the work team was last updated (timestamp). LastUpdatedDate *time.Time `type:"timestamp"` - // The Amazon Cognito user groups that make up the work team. + // A list of MemberDefinition objects that contains objects that identify the + // workers that make up the work team. + // + // Workforces can be created using Amazon Cognito or your own OIDC Identity + // Provider (IdP). For private workforces created using Amazon Cognito use CognitoMemberDefinition. + // For workforces created using your own OIDC identity provider (IdP) use OidcMemberDefinition. // // MemberDefinitions is a required field MemberDefinitions []*MemberDefinition `min:"1" type:"list" required:"true"` @@ -48960,6 +49150,9 @@ const ( // AutoMLMetricEnumF1macro is a AutoMLMetricEnum enum value AutoMLMetricEnumF1macro = "F1macro" + + // AutoMLMetricEnumAuc is a AutoMLMetricEnum enum value + AutoMLMetricEnumAuc = "AUC" ) // AutoMLMetricEnum_Values returns all elements of the AutoMLMetricEnum enum @@ -48969,6 +49162,7 @@ func AutoMLMetricEnum_Values() []string { AutoMLMetricEnumMse, AutoMLMetricEnumF1, AutoMLMetricEnumF1macro, + AutoMLMetricEnumAuc, } } @@ -50962,6 +51156,22 @@ func RecordWrapper_Values() []string { } } +const ( + // RepositoryAccessModePlatform is a RepositoryAccessMode enum value + RepositoryAccessModePlatform = "Platform" + + // RepositoryAccessModeVpc is a RepositoryAccessMode enum value + RepositoryAccessModeVpc = "Vpc" +) + +// RepositoryAccessMode_Values returns all elements of the RepositoryAccessMode enum +func RepositoryAccessMode_Values() []string { + return []string{ + RepositoryAccessModePlatform, + RepositoryAccessModeVpc, + } +} + const ( // ResourceTypeTrainingJob is a ResourceType enum value ResourceTypeTrainingJob = "TrainingJob" diff --git a/vendor/github.com/aws/aws-sdk-go/service/securityhub/api.go b/vendor/github.com/aws/aws-sdk-go/service/securityhub/api.go index 0d105df98c02..543ae2d5cdb7 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/securityhub/api.go +++ b/vendor/github.com/aws/aws-sdk-go/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/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go b/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go index 8d3b963acabf..7517e2221980 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/servicecatalog/api.go @@ -16546,9 +16546,33 @@ type ProvisionedProductAttribute struct { // repeated request. IdempotencyToken *string `min:"1" type:"string"` + // The record identifier of the last request performed on this provisioned product + // of the following types: + // + // * ProvisionedProduct + // + // * UpdateProvisionedProduct + // + // * ExecuteProvisionedProductPlan + // + // * TerminateProvisionedProduct + LastProvisioningRecordId *string `min:"1" type:"string"` + // The record identifier of the last request performed on this provisioned product. LastRecordId *string `min:"1" type:"string"` + // The record identifier of the last successful request performed on this provisioned + // product of the following types: + // + // * ProvisionedProduct + // + // * UpdateProvisionedProduct + // + // * ExecuteProvisionedProductPlan + // + // * TerminateProvisionedProduct + LastSuccessfulProvisioningRecordId *string `min:"1" type:"string"` + // The user-friendly name of the provisioned product. Name *string `min:"1" type:"string"` @@ -16559,9 +16583,15 @@ type ProvisionedProductAttribute struct { // The product identifier. ProductId *string `min:"1" type:"string"` + // The name of the product. + ProductName *string `type:"string"` + // The identifier of the provisioning artifact. ProvisioningArtifactId *string `min:"1" type:"string"` + // The name of the provisioning artifact. + ProvisioningArtifactName *string `type:"string"` + // The current status of the provisioned product. // // * AVAILABLE - Stable state, ready to perform any operation. The most recent @@ -16636,12 +16666,24 @@ func (s *ProvisionedProductAttribute) SetIdempotencyToken(v string) *Provisioned return s } +// SetLastProvisioningRecordId sets the LastProvisioningRecordId field's value. +func (s *ProvisionedProductAttribute) SetLastProvisioningRecordId(v string) *ProvisionedProductAttribute { + s.LastProvisioningRecordId = &v + return s +} + // SetLastRecordId sets the LastRecordId field's value. func (s *ProvisionedProductAttribute) SetLastRecordId(v string) *ProvisionedProductAttribute { s.LastRecordId = &v return s } +// SetLastSuccessfulProvisioningRecordId sets the LastSuccessfulProvisioningRecordId field's value. +func (s *ProvisionedProductAttribute) SetLastSuccessfulProvisioningRecordId(v string) *ProvisionedProductAttribute { + s.LastSuccessfulProvisioningRecordId = &v + return s +} + // SetName sets the Name field's value. func (s *ProvisionedProductAttribute) SetName(v string) *ProvisionedProductAttribute { s.Name = &v @@ -16660,12 +16702,24 @@ func (s *ProvisionedProductAttribute) SetProductId(v string) *ProvisionedProduct return s } +// SetProductName sets the ProductName field's value. +func (s *ProvisionedProductAttribute) SetProductName(v string) *ProvisionedProductAttribute { + s.ProductName = &v + return s +} + // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value. func (s *ProvisionedProductAttribute) SetProvisioningArtifactId(v string) *ProvisionedProductAttribute { s.ProvisioningArtifactId = &v return s } +// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value. +func (s *ProvisionedProductAttribute) SetProvisioningArtifactName(v string) *ProvisionedProductAttribute { + s.ProvisioningArtifactName = &v + return s +} + // SetStatus sets the Status field's value. func (s *ProvisionedProductAttribute) SetStatus(v string) *ProvisionedProductAttribute { s.Status = &v @@ -16720,9 +16774,33 @@ type ProvisionedProductDetail struct { // repeated request. IdempotencyToken *string `min:"1" type:"string"` + // The record identifier of the last request performed on this provisioned product + // of the following types: + // + // * ProvisionedProduct + // + // * UpdateProvisionedProduct + // + // * ExecuteProvisionedProductPlan + // + // * TerminateProvisionedProduct + LastProvisioningRecordId *string `min:"1" type:"string"` + // The record identifier of the last request performed on this provisioned product. LastRecordId *string `type:"string"` + // The record identifier of the last successful request performed on this provisioned + // product of the following types: + // + // * ProvisionedProduct + // + // * UpdateProvisionedProduct + // + // * ExecuteProvisionedProductPlan + // + // * TerminateProvisionedProduct + LastSuccessfulProvisioningRecordId *string `min:"1" type:"string"` + // The user-friendly name of the provisioned product. Name *string `min:"1" type:"string"` @@ -16796,12 +16874,24 @@ func (s *ProvisionedProductDetail) SetIdempotencyToken(v string) *ProvisionedPro return s } +// SetLastProvisioningRecordId sets the LastProvisioningRecordId field's value. +func (s *ProvisionedProductDetail) SetLastProvisioningRecordId(v string) *ProvisionedProductDetail { + s.LastProvisioningRecordId = &v + return s +} + // SetLastRecordId sets the LastRecordId field's value. func (s *ProvisionedProductDetail) SetLastRecordId(v string) *ProvisionedProductDetail { s.LastRecordId = &v return s } +// SetLastSuccessfulProvisioningRecordId sets the LastSuccessfulProvisioningRecordId field's value. +func (s *ProvisionedProductDetail) SetLastSuccessfulProvisioningRecordId(v string) *ProvisionedProductDetail { + s.LastSuccessfulProvisioningRecordId = &v + return s +} + // SetName sets the Name field's value. func (s *ProvisionedProductDetail) SetName(v string) *ProvisionedProductDetail { s.Name = &v @@ -18802,7 +18892,8 @@ type SearchProvisionedProductsInput struct { // // When the key is SearchQuery, the searchable fields are arn, createdTime, // id, lastRecordId, idempotencyToken, name, physicalId, productId, provisioningArtifact, - // type, status, tags, userArn, and userArnSession. + // type, status, tags, userArn, userArnSession, lastProvisioningRecordId, lastSuccessfulProvisioningRecordId, + // productName, and provisioningArtifactName. // // Example: "SearchQuery":["status:AVAILABLE"] Filters map[string][]*string `type:"map"` diff --git a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go index c37fd26b4cf9..64bc174c8a29 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/api.go @@ -1068,7 +1068,7 @@ func (c *StorageGateway) CreateSMBFileShareRequest(input *CreateSMBFileShareInpu // // Creates a Server Message Block (SMB) file share on an existing file gateway. // In Storage Gateway, a file share is a file system mount point backed by Amazon -// S3 cloud storage. Storage Gateway expose file shares using an SMB interface. +// S3 cloud storage. Storage Gateway exposes file shares using an SMB interface. // This operation is only supported for file gateways. // // File gateways require AWS Security Token Service (AWS STS) to be activated @@ -1168,13 +1168,13 @@ func (c *StorageGateway) CreateSnapshotRequest(input *CreateSnapshotInput) (req // of your data to Amazon Simple Storage (Amazon S3) for durable off-site recovery, // as well as import the data to an Amazon Elastic Block Store (EBS) volume // in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your gateway -// volume on a scheduled or ad hoc basis. This API enables you to take ad-hoc -// snapshot. For more information, see Editing a snapshot schedule (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#SchedulingSnapshot). +// volume on a scheduled or ad hoc basis. This API enables you to take an ad +// hoc snapshot. For more information, see Editing a snapshot schedule (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#SchedulingSnapshot). // -// In the CreateSnapshot request you identify the volume by providing its Amazon +// In the CreateSnapshot request, you identify the volume by providing its Amazon // Resource Name (ARN). You must also provide description for the snapshot. // When AWS Storage Gateway takes the snapshot of specified volume, the snapshot -// and description appears in the AWS Storage Gateway Console. In response, +// and description appears in the AWS Storage Gateway console. In response, // AWS Storage Gateway returns you a snapshot ID. You can use this snapshot // ID to check the snapshot progress or later use it when you want to create // a volume from a snapshot. This operation is only supported in stored and @@ -1389,8 +1389,8 @@ func (c *StorageGateway) CreateStorediSCSIVolumeRequest(input *CreateStorediSCSI // snapshot, or create an empty volume. If you choose to create an empty gateway // volume, then any existing data on the disk is erased. // -// In the request you must specify the gateway and the disk information on which -// you are creating the volume. In response, the gateway creates the volume +// In the request, you must specify the gateway and the disk information on +// which you are creating the volume. In response, the gateway creates the volume // and returns volume information such as the volume Amazon Resource Name (ARN), // its size, and the iSCSI target ARN that initiators can use to connect to // the volume target. @@ -1433,6 +1433,91 @@ func (c *StorageGateway) CreateStorediSCSIVolumeWithContext(ctx aws.Context, inp return out, req.Send() } +const opCreateTapePool = "CreateTapePool" + +// CreateTapePoolRequest generates a "aws/request.Request" representing the +// client's request for the CreateTapePool 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 CreateTapePool for more information on using the CreateTapePool +// 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 CreateTapePoolRequest method. +// req, resp := client.CreateTapePoolRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateTapePool +func (c *StorageGateway) CreateTapePoolRequest(input *CreateTapePoolInput) (req *request.Request, output *CreateTapePoolOutput) { + op := &request.Operation{ + Name: opCreateTapePool, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateTapePoolInput{} + } + + output = &CreateTapePoolOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateTapePool API operation for AWS Storage Gateway. +// +// Creates a new custom tape pool. You can use custom tape pool to enable tape +// retention lock on tapes that are archived in the custom pool. +// +// 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 Storage Gateway's +// API operation CreateTapePool for usage and error information. +// +// Returned Error Types: +// * InvalidGatewayRequestException +// An exception occurred because an invalid gateway request was issued to the +// service. For more information, see the error and message fields. +// +// * InternalServerError +// An internal server error has occurred during the request. For more information, +// see the error and message fields. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateTapePool +func (c *StorageGateway) CreateTapePool(input *CreateTapePoolInput) (*CreateTapePoolOutput, error) { + req, out := c.CreateTapePoolRequest(input) + return out, req.Send() +} + +// CreateTapePoolWithContext is the same as CreateTapePool with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTapePool 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 *StorageGateway) CreateTapePoolWithContext(ctx aws.Context, input *CreateTapePoolInput, opts ...request.Option) (*CreateTapePoolOutput, error) { + req, out := c.CreateTapePoolRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateTapeWithBarcode = "CreateTapeWithBarcode" // CreateTapeWithBarcodeRequest generates a "aws/request.Request" representing the @@ -1478,7 +1563,7 @@ func (c *StorageGateway) CreateTapeWithBarcodeRequest(input *CreateTapeWithBarco // CreateTapeWithBarcode API operation for AWS Storage Gateway. // // Creates a virtual tape by using your own barcode. You write data to the virtual -// tape and then archive the tape. A barcode is unique and can not be reused +// tape and then archive the tape. A barcode is unique and cannot be reused // if it has already been used on a tape. This applies to barcodes used on deleted // tapes. This operation is only supported in the tape gateway type. // @@ -2105,7 +2190,7 @@ func (c *StorageGateway) DeleteSnapshotScheduleRequest(input *DeleteSnapshotSche // // You can take snapshots of your gateway volumes on a scheduled or ad hoc basis. // This API action enables you to delete a snapshot schedule for a volume. For -// more information, see Backing up your volumes (https://docs.aws.amazon.com/storagegatewaylatest/userguide/backing-up-volumes.html). +// more information, see Backing up your volumes (https://docs.aws.amazon.com/storagegateway/latest/userguide/backing-up-volumes.html). // In the DeleteSnapshotSchedule request, you identify the volume by providing // its Amazon Resource Name (ARN). This operation is only supported in stored // and cached volume gateway types. @@ -2322,6 +2407,92 @@ func (c *StorageGateway) DeleteTapeArchiveWithContext(ctx aws.Context, input *De return out, req.Send() } +const opDeleteTapePool = "DeleteTapePool" + +// DeleteTapePoolRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTapePool 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 DeleteTapePool for more information on using the DeleteTapePool +// 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 DeleteTapePoolRequest method. +// req, resp := client.DeleteTapePoolRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteTapePool +func (c *StorageGateway) DeleteTapePoolRequest(input *DeleteTapePoolInput) (req *request.Request, output *DeleteTapePoolOutput) { + op := &request.Operation{ + Name: opDeleteTapePool, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteTapePoolInput{} + } + + output = &DeleteTapePoolOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteTapePool API operation for AWS Storage Gateway. +// +// Delete a custom tape pool. A custom tape pool can only be deleted if there +// are no tapes in the pool and if there are no automatic tape creation policies +// that reference the custom tape pool. +// +// 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 Storage Gateway's +// API operation DeleteTapePool for usage and error information. +// +// Returned Error Types: +// * InvalidGatewayRequestException +// An exception occurred because an invalid gateway request was issued to the +// service. For more information, see the error and message fields. +// +// * InternalServerError +// An internal server error has occurred during the request. For more information, +// see the error and message fields. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteTapePool +func (c *StorageGateway) DeleteTapePool(input *DeleteTapePoolInput) (*DeleteTapePoolOutput, error) { + req, out := c.DeleteTapePoolRequest(input) + return out, req.Send() +} + +// DeleteTapePoolWithContext is the same as DeleteTapePool with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTapePool 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 *StorageGateway) DeleteTapePoolWithContext(ctx aws.Context, input *DeleteTapePoolInput, opts ...request.Option) (*DeleteTapePoolOutput, error) { + req, out := c.DeleteTapePoolRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteVolume = "DeleteVolume" // DeleteVolumeRequest generates a "aws/request.Request" representing the @@ -2552,7 +2723,7 @@ func (c *StorageGateway) DescribeBandwidthRateLimitRequest(input *DescribeBandwi // // Returns the bandwidth rate limits of a gateway. By default, these limits // are not set, which means no bandwidth rate limiting is in effect. This operation -// is supported for the stored volume, cached volume and tape gateway types. +// is supported for the stored volume, cached volume, and tape gateway types. // // This operation only returns a value for a bandwidth rate limit only if the // limit is set. If no limits are set for the gateway, then this operation returns @@ -5109,6 +5280,98 @@ func (c *StorageGateway) ListTagsForResourcePagesWithContext(ctx aws.Context, in return p.Err() } +const opListTapePools = "ListTapePools" + +// ListTapePoolsRequest generates a "aws/request.Request" representing the +// client's request for the ListTapePools 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 ListTapePools for more information on using the ListTapePools +// 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 ListTapePoolsRequest method. +// req, resp := client.ListTapePoolsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListTapePools +func (c *StorageGateway) ListTapePoolsRequest(input *ListTapePoolsInput) (req *request.Request, output *ListTapePoolsOutput) { + op := &request.Operation{ + Name: opListTapePools, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTapePoolsInput{} + } + + output = &ListTapePoolsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTapePools API operation for AWS Storage Gateway. +// +// Lists custom tape pools. You specify custom tape pools to list by specifying +// one or more custom tape pool Amazon Resource Names (ARNs). If you don't specify +// a custom tape pool ARN, the operation lists all custom tape pools. +// +// This operation supports pagination. You can optionally specify the Limit +// parameter in the body to limit the number of tape pools in the response. +// If the number of tape pools returned in the response is truncated, the response +// includes a Marker element that you can use in your subsequent request to +// retrieve the next set of tape pools. +// +// 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 Storage Gateway's +// API operation ListTapePools for usage and error information. +// +// Returned Error Types: +// * InvalidGatewayRequestException +// An exception occurred because an invalid gateway request was issued to the +// service. For more information, see the error and message fields. +// +// * InternalServerError +// An internal server error has occurred during the request. For more information, +// see the error and message fields. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListTapePools +func (c *StorageGateway) ListTapePools(input *ListTapePoolsInput) (*ListTapePoolsOutput, error) { + req, out := c.ListTapePoolsRequest(input) + return out, req.Send() +} + +// ListTapePoolsWithContext is the same as ListTapePools with the addition of +// the ability to pass a context and additional request options. +// +// See ListTapePools 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 *StorageGateway) ListTapePoolsWithContext(ctx aws.Context, input *ListTapePoolsInput, opts ...request.Option) (*ListTapePoolsOutput, error) { + req, out := c.ListTapePoolsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListTapes = "ListTapes" // ListTapesRequest generates a "aws/request.Request" representing the @@ -6947,7 +7210,7 @@ func (c *StorageGateway) UpdateGatewayInformationRequest(input *UpdateGatewayInf // zone. To specify which gateway to update, use the Amazon Resource Name (ARN) // of the gateway in your request. // -// For Gateways activated after September 2, 2015, the gateway's ARN contains +// For gateways activated after September 2, 2015, the gateway's ARN contains // the gateway ID rather than the gateway name. However, changing the name of // the gateway has no effect on the gateway's ARN. // @@ -7711,7 +7974,7 @@ type ActivateGatewayInput struct { // The value that indicates the type of medium changer to use for tape gateway. // This field is optional. // - // Valid Values: STK-L700 | AWS-Gateway-VTL + // Valid Values: STK-L700 | AWS-Gateway-VTL | IBM-03584L32-0402 MediumChangerType *string `min:"2" type:"string"` // A list of up to 50 tags that you can assign to the gateway. Each tag is a @@ -8223,6 +8486,15 @@ func (s *AddWorkingStorageOutput) SetGatewayARN(v string) *AddWorkingStorageOutp type AssignTapePoolInput struct { _ struct{} `type:"structure"` + // Set permissions to bypass governance retention. If the lock type of the archived + // tape is Governance, the tape's archived age is not older than RetentionLockInDays, + // and the user does not already have BypassGovernanceRetention, setting this + // to TRUE enables the user to bypass the retention lock. This parameter is + // set to true by default for calls from the console. + // + // Valid values: TRUE | FALSE + BypassGovernanceRetention *bool `type:"boolean"` + // The ID of the pool that you want to add your tape to for archiving. The tape // in this pool is archived in the S3 storage class that is associated with // the pool. When you use your backup application to eject the tape, the tape @@ -8273,6 +8545,12 @@ func (s *AssignTapePoolInput) Validate() error { return nil } +// SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value. +func (s *AssignTapePoolInput) SetBypassGovernanceRetention(v bool) *AssignTapePoolInput { + s.BypassGovernanceRetention = &v + return s +} + // SetPoolId sets the PoolId field's value. func (s *AssignTapePoolInput) SetPoolId(v string) *AssignTapePoolInput { s.PoolId = &v @@ -8491,14 +8769,16 @@ func (s *AutomaticTapeCreationPolicyInfo) SetGatewayARN(v string) *AutomaticTape } // An automatic tape creation policy consists of automatic tape creation rules -// where each rule defines when and how to create new tapes. +// where each rule defines when and how to create new tapes. For more information +// about automatic tape creation, see Creating Tapes Automatically (https://docs.aws.amazon.com/storagegateway/latest/userguide/GettingStartedCreateTapes.html#CreateTapesAutomatically). type AutomaticTapeCreationRule struct { _ struct{} `type:"structure"` // The minimum number of available virtual tapes that the gateway maintains // at all times. If the number of tapes on the gateway goes below this value, // the gateway creates as many new tapes as are needed to have MinimumNumTapes - // on the gateway. + // on the gateway. For more information about automatic tape creation, see Creating + // Tapes Automatically (https://docs.aws.amazon.com/storagegateway/latest/userguide/GettingStartedCreateTapes.html#CreateTapesAutomatically). // // MinimumNumTapes is a required field MinimumNumTapes *int64 `min:"1" type:"integer" required:"true"` @@ -8527,6 +8807,10 @@ type AutomaticTapeCreationRule struct { // // TapeSizeInBytes is a required field TapeSizeInBytes *int64 `type:"long" required:"true"` + + // Set to true to indicate that tapes are to be archived as write-once-read-many + // (WORM). Set to false when WORM is not enabled for tapes. + Worm *bool `type:"boolean"` } // String returns the string representation @@ -8594,6 +8878,12 @@ func (s *AutomaticTapeCreationRule) SetTapeSizeInBytes(v int64) *AutomaticTapeCr return s } +// SetWorm sets the Worm field's value. +func (s *AutomaticTapeCreationRule) SetWorm(v bool) *AutomaticTapeCreationRule { + s.Worm = &v + return s +} + // Lists refresh cache information. type CacheAttributes struct { _ struct{} `type:"structure"` @@ -8628,7 +8918,7 @@ type CachediSCSIVolume struct { _ struct{} `type:"structure"` // The date the volume was created. Volumes created prior to March 28, 2017 - // don’t have this time stamp. + // don’t have this timestamp. CreatedDate *time.Time `type:"timestamp"` // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used @@ -8637,7 +8927,7 @@ type CachediSCSIVolume struct { KMSKey *string `min:"7" type:"string"` // If the cached volume was created from a snapshot, this field contains the - // snapshot ID used, e.g. snap-78e22663. Otherwise, this field is not included. + // snapshot ID used, e.g., snap-78e22663. Otherwise, this field is not included. SourceSnapshotId *string `type:"string"` // The name of the iSCSI target used by an initiator to connect to a volume @@ -8657,7 +8947,7 @@ type CachediSCSIVolume struct { // gateway (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#attach-detach-volume). VolumeAttachmentStatus *string `min:"3" type:"string"` - // The unique identifier of the volume, e.g. vol-AE4B946D. + // The unique identifier of the volume, e.g., vol-AE4B946D. VolumeId *string `min:"12" type:"string"` // Represents the percentage complete if the volume is restoring or bootstrapping @@ -8963,7 +9253,7 @@ type ChapInfo struct { SecretToAuthenticateInitiator *string `min:"1" type:"string" sensitive:"true"` // The secret key that the target must provide to participate in mutual CHAP - // with the initiator (e.g. Windows client). + // with the initiator (e.g., Windows client). SecretToAuthenticateTarget *string `min:"1" type:"string" sensitive:"true"` // The Amazon Resource Name (ARN) of the volume. @@ -10390,6 +10680,137 @@ func (s *CreateStorediSCSIVolumeOutput) SetVolumeSizeInBytes(v int64) *CreateSto return s } +type CreateTapePoolInput struct { + _ struct{} `type:"structure"` + + // The name of the new custom tape pool. + // + // PoolName is a required field + PoolName *string `min:"1" type:"string" required:"true"` + + // Tape retention lock time is set in days. Tape retention lock can be enabled + // for up to 100 years (36,500 days). + RetentionLockTimeInDays *int64 `type:"integer"` + + // Tape retention lock can be configured in two modes. When configured in governance + // mode, AWS accounts with specific IAM permissions are authorized to remove + // the tape retention lock from archived virtual tapes. When configured in compliance + // mode, the tape retention lock cannot be removed by any user, including the + // root AWS account. + RetentionLockType *string `type:"string" enum:"RetentionLockType"` + + // The storage class that is associated with the new custom pool. When you use + // your backup application to eject the tape, the tape is archived directly + // into the storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds + // to the pool. + // + // StorageClass is a required field + StorageClass *string `type:"string" required:"true" enum:"TapeStorageClass"` + + // A list of up to 50 tags that can be assigned to tape pool. Each tag is a + // key-value pair. + // + // Valid characters for key and value are letters, spaces, and numbers representable + // in UTF-8 format, and the following special characters: + - = . _ : / @. The + // maximum length of a tag's key is 128 characters, and the maximum length for + // a tag's value is 256. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateTapePoolInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTapePoolInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTapePoolInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTapePoolInput"} + if s.PoolName == nil { + invalidParams.Add(request.NewErrParamRequired("PoolName")) + } + if s.PoolName != nil && len(*s.PoolName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PoolName", 1)) + } + if s.StorageClass == nil { + invalidParams.Add(request.NewErrParamRequired("StorageClass")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPoolName sets the PoolName field's value. +func (s *CreateTapePoolInput) SetPoolName(v string) *CreateTapePoolInput { + s.PoolName = &v + return s +} + +// SetRetentionLockTimeInDays sets the RetentionLockTimeInDays field's value. +func (s *CreateTapePoolInput) SetRetentionLockTimeInDays(v int64) *CreateTapePoolInput { + s.RetentionLockTimeInDays = &v + return s +} + +// SetRetentionLockType sets the RetentionLockType field's value. +func (s *CreateTapePoolInput) SetRetentionLockType(v string) *CreateTapePoolInput { + s.RetentionLockType = &v + return s +} + +// SetStorageClass sets the StorageClass field's value. +func (s *CreateTapePoolInput) SetStorageClass(v string) *CreateTapePoolInput { + s.StorageClass = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateTapePoolInput) SetTags(v []*Tag) *CreateTapePoolInput { + s.Tags = v + return s +} + +type CreateTapePoolOutput struct { + _ struct{} `type:"structure"` + + // The unique Amazon Resource Name (ARN) that represents the custom tape pool. + // Use the ListTapePools operation to return a list of tape pools for your account + // and AWS Region. + PoolARN *string `min:"50" type:"string"` +} + +// String returns the string representation +func (s CreateTapePoolOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTapePoolOutput) GoString() string { + return s.String() +} + +// SetPoolARN sets the PoolARN field's value. +func (s *CreateTapePoolOutput) SetPoolARN(v string) *CreateTapePoolOutput { + s.PoolARN = &v + return s +} + // CreateTapeWithBarcodeInput type CreateTapeWithBarcodeInput struct { _ struct{} `type:"structure"` @@ -10444,6 +10865,10 @@ type CreateTapeWithBarcodeInput struct { // // TapeSizeInBytes is a required field TapeSizeInBytes *int64 `type:"long" required:"true"` + + // Set to TRUE if the tape you are creating is to be configured as a write-once-read-many + // (WORM) tape. + Worm *bool `type:"boolean"` } // String returns the string representation @@ -10539,6 +10964,12 @@ func (s *CreateTapeWithBarcodeInput) SetTapeSizeInBytes(v int64) *CreateTapeWith return s } +// SetWorm sets the Worm field's value. +func (s *CreateTapeWithBarcodeInput) SetWorm(v bool) *CreateTapeWithBarcodeInput { + s.Worm = &v + return s +} + // CreateTapeOutput type CreateTapeWithBarcodeOutput struct { _ struct{} `type:"structure"` @@ -10632,6 +11063,10 @@ type CreateTapesInput struct { // // TapeSizeInBytes is a required field TapeSizeInBytes *int64 `type:"long" required:"true"` + + // Set to TRUE if the tape you are creating is to be configured as a write-once-read-many + // (WORM) tape. + Worm *bool `type:"boolean"` } // String returns the string representation @@ -10751,6 +11186,12 @@ func (s *CreateTapesInput) SetTapeSizeInBytes(v int64) *CreateTapesInput { return s } +// SetWorm sets the Worm field's value. +func (s *CreateTapesInput) SetWorm(v bool) *CreateTapesInput { + s.Worm = &v + return s +} + // CreateTapeOutput type CreateTapesOutput struct { _ struct{} `type:"structure"` @@ -10851,7 +11292,7 @@ type DeleteBandwidthRateLimitInput struct { // One of the BandwidthType values that indicates the gateway bandwidth rate // limit to delete. // - // Valid Values: Upload | Download | All + // Valid Values: UPLOAD | DOWNLOAD | ALL // // BandwidthType is a required field BandwidthType *string `min:"3" type:"string" required:"true"` @@ -11246,6 +11687,12 @@ func (s *DeleteSnapshotScheduleOutput) SetVolumeARN(v string) *DeleteSnapshotSch type DeleteTapeArchiveInput struct { _ struct{} `type:"structure"` + // Set to TRUE to delete an archived tape that belongs to a custom pool with + // tape retention lock. Only archived tapes with tape retention lock set to + // governance can be deleted. Archived tapes with tape retention lock set to + // compliance can't be deleted. + BypassGovernanceRetention *bool `type:"boolean"` + // The Amazon Resource Name (ARN) of the virtual tape to delete from the virtual // tape shelf (VTS). // @@ -11279,6 +11726,12 @@ func (s *DeleteTapeArchiveInput) Validate() error { return nil } +// SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value. +func (s *DeleteTapeArchiveInput) SetBypassGovernanceRetention(v bool) *DeleteTapeArchiveInput { + s.BypassGovernanceRetention = &v + return s +} + // SetTapeARN sets the TapeARN field's value. func (s *DeleteTapeArchiveInput) SetTapeARN(v string) *DeleteTapeArchiveInput { s.TapeARN = &v @@ -11314,6 +11767,12 @@ func (s *DeleteTapeArchiveOutput) SetTapeARN(v string) *DeleteTapeArchiveOutput type DeleteTapeInput struct { _ struct{} `type:"structure"` + // Set to TRUE to delete an archived tape that belongs to a custom pool with + // tape retention lock. Only archived tapes with tape retention lock set to + // governance can be deleted. Archived tapes with tape retention lock set to + // compliance can't be deleted. + BypassGovernanceRetention *bool `type:"boolean"` + // The unique Amazon Resource Name (ARN) of the gateway that the virtual tape // to delete is associated with. Use the ListGateways operation to return a // list of gateways for your account and AWS Region. @@ -11359,6 +11818,12 @@ func (s *DeleteTapeInput) Validate() error { return nil } +// SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value. +func (s *DeleteTapeInput) SetBypassGovernanceRetention(v bool) *DeleteTapeInput { + s.BypassGovernanceRetention = &v + return s +} + // SetGatewayARN sets the GatewayARN field's value. func (s *DeleteTapeInput) SetGatewayARN(v string) *DeleteTapeInput { s.GatewayARN = &v @@ -11395,6 +11860,70 @@ func (s *DeleteTapeOutput) SetTapeARN(v string) *DeleteTapeOutput { return s } +type DeleteTapePoolInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the custom tape pool to delete. + // + // PoolARN is a required field + PoolARN *string `min:"50" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteTapePoolInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTapePoolInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTapePoolInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTapePoolInput"} + if s.PoolARN == nil { + invalidParams.Add(request.NewErrParamRequired("PoolARN")) + } + if s.PoolARN != nil && len(*s.PoolARN) < 50 { + invalidParams.Add(request.NewErrParamMinLen("PoolARN", 50)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPoolARN sets the PoolARN field's value. +func (s *DeleteTapePoolInput) SetPoolARN(v string) *DeleteTapePoolInput { + s.PoolARN = &v + return s +} + +type DeleteTapePoolOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the custom tape pool being deleted. + PoolARN *string `min:"50" type:"string"` +} + +// String returns the string representation +func (s DeleteTapePoolOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTapePoolOutput) GoString() string { + return s.String() +} + +// SetPoolARN sets the PoolARN field's value. +func (s *DeleteTapePoolOutput) SetPoolARN(v string) *DeleteTapePoolOutput { + s.PoolARN = &v + return s +} + // A JSON object containing the DeleteVolumeInput$VolumeARN to delete. type DeleteVolumeInput struct { _ struct{} `type:"structure"` @@ -11960,7 +12489,7 @@ func (s *DescribeGatewayInformationInput) SetGatewayARN(v string) *DescribeGatew type DescribeGatewayInformationOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the Amazon CloudWatch Log Group that is + // The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is // used to monitor events in the gateway. CloudWatchLogGroupARN *string `type:"string"` @@ -14639,7 +15168,7 @@ type ListTagsForResourceOutput struct { // list of tags. Marker *string `min:"1" type:"string"` - // he Amazon Resource Name (ARN) of the resource for which you want to list + // The Amazon Resource Name (ARN) of the resource for which you want to list // tags. ResourceARN *string `min:"50" type:"string"` @@ -14675,6 +15204,103 @@ func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput return s } +type ListTapePoolsInput struct { + _ struct{} `type:"structure"` + + // An optional number limit for the tape pools in the list returned by this + // call. + Limit *int64 `min:"1" type:"integer"` + + // A string that indicates the position at which to begin the returned list + // of tape pools. + Marker *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of each of the custom tape pools you want + // to list. If you don't specify a custom tape pool ARN, the response lists + // all custom tape pools. + PoolARNs []*string `type:"list"` +} + +// String returns the string representation +func (s ListTapePoolsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTapePoolsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTapePoolsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTapePoolsInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.Marker != nil && len(*s.Marker) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *ListTapePoolsInput) SetLimit(v int64) *ListTapePoolsInput { + s.Limit = &v + return s +} + +// SetMarker sets the Marker field's value. +func (s *ListTapePoolsInput) SetMarker(v string) *ListTapePoolsInput { + s.Marker = &v + return s +} + +// SetPoolARNs sets the PoolARNs field's value. +func (s *ListTapePoolsInput) SetPoolARNs(v []*string) *ListTapePoolsInput { + s.PoolARNs = v + return s +} + +type ListTapePoolsOutput struct { + _ struct{} `type:"structure"` + + // A string that indicates the position at which to begin the returned list + // of tape pools. Use the marker in your next request to continue pagination + // of tape pools. If there are no more tape pools to list, this element does + // not appear in the response body. + Marker *string `min:"1" type:"string"` + + // An array of PoolInfo objects, where each object describes a single custom + // tape pool. If there are no custom tape pools, the PoolInfos is an empty array. + PoolInfos []*PoolInfo `type:"list"` +} + +// String returns the string representation +func (s ListTapePoolsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTapePoolsOutput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *ListTapePoolsOutput) SetMarker(v string) *ListTapePoolsOutput { + s.Marker = &v + return s +} + +// SetPoolInfos sets the PoolInfos field's value. +func (s *ListTapePoolsOutput) SetPoolInfos(v []*PoolInfo) *ListTapePoolsOutput { + s.PoolInfos = v + return s +} + // A JSON object that contains one or more of the following fields: // // * ListTapesInput$Limit @@ -15487,6 +16113,86 @@ func (s *NotifyWhenUploadedOutput) SetNotificationId(v string) *NotifyWhenUpload return s } +// Describes a custom tape pool. +type PoolInfo struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the custom tape pool. Use the ListTapePools + // operation to return a list of custom tape pools for your account and AWS + // Region. + PoolARN *string `min:"50" type:"string"` + + // The name of the custom tape pool. PoolName can use all ASCII characters, + // except '/' and '\'. + PoolName *string `min:"1" type:"string"` + + // Status of the custom tape pool. Pool can be ACTIVE or DELETED. + PoolStatus *string `type:"string" enum:"PoolStatus"` + + // Tape retention lock time is set in days. Tape retention lock can be enabled + // for up to 100 years (36,500 days). + RetentionLockTimeInDays *int64 `type:"integer"` + + // Tape retention lock type, which can be configured in two modes. When configured + // in governance mode, AWS accounts with specific IAM permissions are authorized + // to remove the tape retention lock from archived virtual tapes. When configured + // in compliance mode, the tape retention lock cannot be removed by any user, + // including the root AWS account. + RetentionLockType *string `type:"string" enum:"RetentionLockType"` + + // The storage class that is associated with the custom pool. When you use your + // backup application to eject the tape, the tape is archived directly into + // the storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds + // to the pool. + StorageClass *string `type:"string" enum:"TapeStorageClass"` +} + +// String returns the string representation +func (s PoolInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PoolInfo) GoString() string { + return s.String() +} + +// SetPoolARN sets the PoolARN field's value. +func (s *PoolInfo) SetPoolARN(v string) *PoolInfo { + s.PoolARN = &v + return s +} + +// SetPoolName sets the PoolName field's value. +func (s *PoolInfo) SetPoolName(v string) *PoolInfo { + s.PoolName = &v + return s +} + +// SetPoolStatus sets the PoolStatus field's value. +func (s *PoolInfo) SetPoolStatus(v string) *PoolInfo { + s.PoolStatus = &v + return s +} + +// SetRetentionLockTimeInDays sets the RetentionLockTimeInDays field's value. +func (s *PoolInfo) SetRetentionLockTimeInDays(v int64) *PoolInfo { + s.RetentionLockTimeInDays = &v + return s +} + +// SetRetentionLockType sets the RetentionLockType field's value. +func (s *PoolInfo) SetRetentionLockType(v string) *PoolInfo { + s.RetentionLockType = &v + return s +} + +// SetStorageClass sets the StorageClass field's value. +func (s *PoolInfo) SetStorageClass(v string) *PoolInfo { + s.StorageClass = &v + return s +} + // RefreshCacheInput type RefreshCacheInput struct { _ struct{} `type:"structure"` @@ -16647,7 +17353,7 @@ type StorediSCSIVolume struct { _ struct{} `type:"structure"` // The date the volume was created. Volumes created prior to March 28, 2017 - // don’t have this time stamp. + // don’t have this timestamp. CreatedDate *time.Time `type:"timestamp"` // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used @@ -16686,7 +17392,7 @@ type StorediSCSIVolume struct { // operation. VolumeDiskId *string `min:"1" type:"string"` - // The unique identifier of the volume, e.g. vol-AE4B946D. + // The unique identifier of the volume, e.g., vol-AE4B946D. VolumeId *string `min:"12" type:"string"` // Represents the percentage complete if the volume is restoring or bootstrapping @@ -16886,6 +17592,9 @@ type Tape struct { // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` + // The date that the tape enters a custom tape pool. + PoolEntryDate *time.Time `type:"timestamp"` + // The ID of the pool that contains tapes that will be archived. The tapes in // this pool are archived in the S3 storage class that is associated with the // pool. When you use your backup application to eject the tape, the tape is @@ -16901,6 +17610,9 @@ type Tape struct { // Range: 0 (not started) to 100 (complete). Progress *float64 `type:"double"` + // The date that the tape is first archived with tape retention lock enabled. + RetentionStartDate *time.Time `type:"timestamp"` + // The Amazon Resource Name (ARN) of the virtual tape. TapeARN *string `min:"50" type:"string"` @@ -16924,6 +17636,9 @@ type Tape struct { // The virtual tape library (VTL) device that the virtual tape is associated // with. VTLDevice *string `min:"50" type:"string"` + + // If the tape is archived as write-once-read-many (WORM), this value is true. + Worm *bool `type:"boolean"` } // String returns the string representation @@ -16942,6 +17657,12 @@ func (s *Tape) SetKMSKey(v string) *Tape { return s } +// SetPoolEntryDate sets the PoolEntryDate field's value. +func (s *Tape) SetPoolEntryDate(v time.Time) *Tape { + s.PoolEntryDate = &v + return s +} + // SetPoolId sets the PoolId field's value. func (s *Tape) SetPoolId(v string) *Tape { s.PoolId = &v @@ -16954,6 +17675,12 @@ func (s *Tape) SetProgress(v float64) *Tape { return s } +// SetRetentionStartDate sets the RetentionStartDate field's value. +func (s *Tape) SetRetentionStartDate(v time.Time) *Tape { + s.RetentionStartDate = &v + return s +} + // SetTapeARN sets the TapeARN field's value. func (s *Tape) SetTapeARN(v string) *Tape { s.TapeARN = &v @@ -16996,13 +17723,19 @@ func (s *Tape) SetVTLDevice(v string) *Tape { return s } +// SetWorm sets the Worm field's value. +func (s *Tape) SetWorm(v bool) *Tape { + s.Worm = &v + return s +} + // Represents a virtual tape that is archived in the virtual tape shelf (VTS). type TapeArchive struct { _ struct{} `type:"structure"` // The time that the archiving of the virtual tape was completed. // - // The default time stamp format is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' + // The default timestamp format is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' // format. CompletionTime *time.Time `type:"timestamp"` @@ -17011,12 +17744,22 @@ type TapeArchive struct { // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` + // The time that the tape entered the custom tape pool. + // + // The default timestamp format is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' + // format. + PoolEntryDate *time.Time `type:"timestamp"` + // The ID of the pool that was used to archive the tape. The tapes in this pool // are archived in the S3 storage class that is associated with the pool. // // Valid Values: GLACIER | DEEP_ARCHIVE PoolId *string `min:"1" type:"string"` + // If the archived tape is subject to tape retention lock, the date that the + // archived tape started being retained. + RetentionStartDate *time.Time `type:"timestamp"` + // The Amazon Resource Name (ARN) of the tape gateway that the virtual tape // is being retrieved to. // @@ -17042,6 +17785,9 @@ type TapeArchive struct { // // This value is not available for tapes created prior to May 13, 2015. TapeUsedInBytes *int64 `type:"long"` + + // Set to true if the archived tape is stored as write-once-read-many (WORM). + Worm *bool `type:"boolean"` } // String returns the string representation @@ -17066,12 +17812,24 @@ func (s *TapeArchive) SetKMSKey(v string) *TapeArchive { return s } +// SetPoolEntryDate sets the PoolEntryDate field's value. +func (s *TapeArchive) SetPoolEntryDate(v time.Time) *TapeArchive { + s.PoolEntryDate = &v + return s +} + // SetPoolId sets the PoolId field's value. func (s *TapeArchive) SetPoolId(v string) *TapeArchive { s.PoolId = &v return s } +// SetRetentionStartDate sets the RetentionStartDate field's value. +func (s *TapeArchive) SetRetentionStartDate(v time.Time) *TapeArchive { + s.RetentionStartDate = &v + return s +} + // SetRetrievedTo sets the RetrievedTo field's value. func (s *TapeArchive) SetRetrievedTo(v string) *TapeArchive { s.RetrievedTo = &v @@ -17114,6 +17872,12 @@ func (s *TapeArchive) SetTapeUsedInBytes(v int64) *TapeArchive { return s } +// SetWorm sets the Worm field's value. +func (s *TapeArchive) SetWorm(v bool) *TapeArchive { + s.Worm = &v + return s +} + // Describes a virtual tape. type TapeInfo struct { _ struct{} `type:"structure"` @@ -17122,6 +17886,10 @@ type TapeInfo struct { // to return a list of gateways for your account and AWS Region. GatewayARN *string `min:"50" type:"string"` + // The date that the tape entered the custom tape pool with tape retention lock + // enabled. + PoolEntryDate *time.Time `type:"timestamp"` + // The ID of the pool that you want to add your tape to for archiving. The tape // in this pool is archived in the S3 storage class that is associated with // the pool. When you use your backup application to eject the tape, the tape @@ -17131,6 +17899,9 @@ type TapeInfo struct { // Valid Values: GLACIER | DEEP_ARCHIVE PoolId *string `min:"1" type:"string"` + // The date that the tape became subject to tape retention lock. + RetentionStartDate *time.Time `type:"timestamp"` + // The Amazon Resource Name (ARN) of a virtual tape. TapeARN *string `min:"50" type:"string"` @@ -17160,12 +17931,24 @@ func (s *TapeInfo) SetGatewayARN(v string) *TapeInfo { return s } +// SetPoolEntryDate sets the PoolEntryDate field's value. +func (s *TapeInfo) SetPoolEntryDate(v time.Time) *TapeInfo { + s.PoolEntryDate = &v + return s +} + // SetPoolId sets the PoolId field's value. func (s *TapeInfo) SetPoolId(v string) *TapeInfo { s.PoolId = &v return s } +// SetRetentionStartDate sets the RetentionStartDate field's value. +func (s *TapeInfo) SetRetentionStartDate(v time.Time) *TapeInfo { + s.RetentionStartDate = &v + return s +} + // SetTapeARN sets the TapeARN field's value. func (s *TapeInfo) SetTapeARN(v string) *TapeInfo { s.TapeARN = &v @@ -17200,7 +17983,7 @@ type TapeRecoveryPointInfo struct { // The time when the point-in-time view of the virtual tape was replicated for // later recovery. // - // The default time stamp format of the tape recovery point time is in the ISO8601 + // The default timestamp format of the tape recovery point time is in the ISO8601 // extended YYYY-MM-DD'T'HH:MM:SS'Z' format. TapeRecoveryPointTime *time.Time `type:"timestamp"` @@ -17582,7 +18365,7 @@ type UpdateGatewayInformationInput struct { // The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that you // want to use to monitor and log events in the gateway. // - // For more information, see What is Amazon CloudWatch logs? (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html). + // For more information, see What is Amazon CloudWatch Logs? (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) CloudWatchLogGroupARN *string `type:"string"` // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation @@ -18625,7 +19408,7 @@ type UpdateVTLDeviceTypeInput struct { // The type of medium changer you want to select. // - // Valid Values: STK-L700 | AWS-Gateway-VTL + // Valid Values: STK-L700 | AWS-Gateway-VTL | IBM-03584L32-0402 // // DeviceType is a required field DeviceType *string `min:"2" type:"string" required:"true"` @@ -19388,6 +20171,42 @@ func ObjectACL_Values() []string { } } +const ( + // PoolStatusActive is a PoolStatus enum value + PoolStatusActive = "ACTIVE" + + // PoolStatusDeleted is a PoolStatus enum value + PoolStatusDeleted = "DELETED" +) + +// PoolStatus_Values returns all elements of the PoolStatus enum +func PoolStatus_Values() []string { + return []string{ + PoolStatusActive, + PoolStatusDeleted, + } +} + +const ( + // RetentionLockTypeCompliance is a RetentionLockType enum value + RetentionLockTypeCompliance = "COMPLIANCE" + + // RetentionLockTypeGovernance is a RetentionLockType enum value + RetentionLockTypeGovernance = "GOVERNANCE" + + // RetentionLockTypeNone is a RetentionLockType enum value + RetentionLockTypeNone = "NONE" +) + +// RetentionLockType_Values returns all elements of the RetentionLockType enum +func RetentionLockType_Values() []string { + return []string{ + RetentionLockTypeCompliance, + RetentionLockTypeGovernance, + RetentionLockTypeNone, + } +} + const ( // SMBSecurityStrategyClientSpecified is a SMBSecurityStrategy enum value SMBSecurityStrategyClientSpecified = "ClientSpecified" @@ -19407,3 +20226,19 @@ func SMBSecurityStrategy_Values() []string { SMBSecurityStrategyMandatoryEncryption, } } + +const ( + // TapeStorageClassDeepArchive is a TapeStorageClass enum value + TapeStorageClassDeepArchive = "DEEP_ARCHIVE" + + // TapeStorageClassGlacier is a TapeStorageClass enum value + TapeStorageClassGlacier = "GLACIER" +) + +// TapeStorageClass_Values returns all elements of the TapeStorageClass enum +func TapeStorageClass_Values() []string { + return []string{ + TapeStorageClassDeepArchive, + TapeStorageClassGlacier, + } +} diff --git a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/doc.go b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/doc.go index 773ea9ee1c59..a6a9f896d9b8 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/storagegateway/doc.go +++ b/vendor/github.com/aws/aws-sdk-go/service/storagegateway/doc.go @@ -28,7 +28,7 @@ // their request parameters, response elements, possible errors, and examples // of requests and responses. // -// * AWS Storage Gateway endpoints and quotas: (https://docs.aws.amazon.com/general/latest/gr/sg.html) +// * AWS Storage Gateway endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/sg.html): // Provides a list of each AWS Region and the endpoints available for use // with AWS Storage Gateway. // diff --git a/vendor/modules.txt b/vendor/modules.txt index 68e3e5032b61..a9d994a64459 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -29,7 +29,7 @@ github.com/apparentlymart/go-cidr/cidr github.com/apparentlymart/go-textseg/textseg # github.com/armon/go-radix v1.0.0 github.com/armon/go-radix -# github.com/aws/aws-sdk-go v1.34.4 +# github.com/aws/aws-sdk-go v1.34.9 ## explicit github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/arn